Fortress Forever

Go Back   Fortress Forever > Help & Technical > Server Administration

Reply
 
Thread Tools Display Modes
Old 09-15-2007, 08:38 PM   #1
DrEvil
Fortress Forever Staff
 
Join Date: Feb 2005
Location: Los Angeles, CA
Posts Rated Helpful 3 Times
sv_pure servers

sv_pure defaults to off, and if anyone has tried to enable it, it results in significantly long load times while the server caches the crc of nearly all the files.

I'd like to provide an updated pure_server_whitelist.txt (attached) that should go in your FortressForever folder and overwrite the old one. This one is a more realistic set of content that it checks consistency on and the results are a much faster load time than the pure_server_whitelist.txt that comes with the mod.

To enable pure servers you must enable sv_pure 1, probably in the command line on dedicated servers. With sv_pure set to 1, the server will cache the crc of files that are to be verified matching client & server, so expect a longer load time on the server when it first does this. According to Valves wiki it doesn't have any effect on client load time and such.

I would appreciate it any server ops can give this a try and report back, particularly if you know of some material/mode/whatever 'cheats' that might be already making the rounds for the release version.

This is a wip.
Attached Files
File Type: txt pure_server_whitelist.txt (2.5 KB, 91 views)
DrEvil is offline   Reply With Quote


Old 09-16-2007, 03:03 AM   #2
417
SGM Division ******
Wiki Team
 
Join Date: Apr 2007
Location: New Mexico, USA
Class/Position: Defensive
Gametype: Capture The Flag
Affiliations: [SG-X] Clan - http://www.sg-x.info
Posts Rated Helpful 0 Times
Send a message via ICQ to 417
Thanks for an updated pure_server_whitelist.txt file. I just threw it on our server and am off to test it out and make sure everything works fine.

I actually was running sv_pure 1 along with sv_pure_kick_clients 1 but it kept kicking people for having different models/materials on certain maps so I disabled it.

I didn't notice increased connection times while initially loading though but did on map changes.

I'll post back if I notice any issues. Thanks again for the new whitelist.txt file.
__________________
[SG-X] Clan - SGM Division leader
ICQ #: 154706095 * E-mail * IRC: irc.gamesurge.net #sgm & #[sg-x]
417 is offline   Reply With Quote


Old 09-16-2007, 08:13 AM   #3
mullen1200
 
Join Date: Sep 2007
Posts Rated Helpful 0 Times
I dont even know what the heck it does
mullen1200 is offline   Reply With Quote


Old 09-16-2007, 08:15 AM   #4
GeoKill----->
Community Member
Server Owner
Beta Tester
Forum Moderator
 
GeoKill----->'s Avatar
 
Join Date: Mar 2007
Location: Hawthorne, California
Class/Position: Soldier/Spy/Scout
Gametype: AvD
Affiliations: :e0:Eternal Order Leader
Posts Rated Helpful 12 Times
Quote:
A 'pure server' is a server that forces all clients on the server to use content that matches what is on the server. This way, clients who are playing on the server cannot cheat by modifying the game content.
Without pure servers, clients could modify their materials, sounds, and models to give them advantages in the game. They might allow themselves to see through walls, make enemy models larger or brighter, or make certain sounds louder, thus giving them an advantage while playing.
http://developer.valvesoftware.com/wiki/Pure_Servers
__________________

:e0: Will live on Forever
Support FF:
GeoKill-----> is offline   Reply With Quote


Old 09-16-2007, 09:05 AM   #5
DrEvil
Fortress Forever Staff
 
Join Date: Feb 2005
Location: Los Angeles, CA
Posts Rated Helpful 3 Times
If it's bugged there's nothing we can do to fix it. The whole sv_pure functionality is in the engine. Does it say specifically what files failed the check when it boots people? As far as I can tell the whitelist has reasonable limitations set up in it, I can't imagine why it would be kicking everyone like that.
DrEvil is offline   Reply With Quote


Old 09-16-2007, 09:11 AM   #6
mullen1200
 
Join Date: Sep 2007
Posts Rated Helpful 0 Times
Quote:
Originally Posted by GeoKill----->
Woo, very clear answer. Heh. Thanks
mullen1200 is offline   Reply With Quote


Old 09-16-2007, 06:26 PM   #7
417
SGM Division ******
Wiki Team
 
Join Date: Apr 2007
Location: New Mexico, USA
Class/Position: Defensive
Gametype: Capture The Flag
Affiliations: [SG-X] Clan - http://www.sg-x.info
Posts Rated Helpful 0 Times
Send a message via ICQ to 417
Yes it specifically says what files failed the check when it boots the client.

I don't recall the names of the files but they are not the same for everyone. Our server is in constant use so it makes it hard for further testing.

It keeps everyone from joining the server if we run the CVAR sv_pure # at all.

In TDM we run "sv_pure 1, sv_pure_kick_clients 1,sv_pure_trace 1" with no issues at all (never playing that again though except for matches/scrimmages now that FF is out).

Load time with original whitelist.txt file in place for thee of our members (in different states to our San Jose, CA Server) was 40-45 seconds.

If our server is empty at a time we have several members available then I will test the sv_pure again and report back the models/material it barks at.

Previously for one file it said wasn't the same we renamed the original file and copied the file directly from the server into our client side to see if it worked, it didn't.

I'll post more then I have had a chance to test it further. I guess I better setup a Linux server here at the house again to use as a test server.

If I knew more specifics about sv_pure then I might be able to determine the issue quicker. I'll report back with further when I get a chance to work on it more (server has got to not be being used though).
__________________
[SG-X] Clan - SGM Division leader
ICQ #: 154706095 * E-mail * IRC: irc.gamesurge.net #sgm & #[sg-x]
417 is offline   Reply With Quote


Old 09-16-2007, 08:09 PM   #8
DrEvil
Fortress Forever Staff
 
Join Date: Feb 2005
Location: Los Angeles, CA
Posts Rated Helpful 3 Times
My understanding is that the whitelist file simply sets up a hierarchy of folders along with some permissions like whether or not to CRC check them between client and server.

Quote:
materials\... allow_from_disk
materials\effects\... allow_from_disk+check_crc
models\... allow_from_disk
models\player\... allow_from_disk+check_crc
models\grenades\... allow_from_disk+check_crc
models\projectiles\... allow_from_disk+check_crc
models\flag\... allow_from_disk+check_crc
shaders\... allow_from_disk+check_crc
sound\... allow_from_disk
sound\sound\player\footsteps\... allow_from_disk+check_crc
sound\buildable\sentry\sg_scan1 allow_from_disk+check_crc
sound\buildable\sentry\sg_scan2 allow_from_disk+check_crc
It's fairly easy to see what should be happening. None of the lines that have +check_crc should differ on the server and client normally, so I'm not sure why it would be booting everyone. The last 2 may need the .wav extension, but you said it was booting people with the old whitelist too, which didn't have those last 2 lines, and instead had crc checks enabled for all the content folders recursively.

I'm also a bit concerned that you aren't seeing increased load times when the server is first booted. The load times should extend significantly, as it has several hundred megs of files to CRC. That makes me think it's not being done. You're not using sv_pure 2 are you?

From that wiki link above, under Performance

Quote:
1. When the server loads its first map with sv_pure set to 1, it has to precalculate file CRCs for all files marked as allow_from_disk+check_crc. Generally, this set of files should be set to the minimal set of files. If, for example, the pure_server_whitelist.txt file had a line like this:

materials\... allow_from_disk+check_crc

The server would pause for a very long time the first time it loaded a map because it would calculate CRCs for every single material file in the game.

Setting sv_pure to 2 will not affect server performance because the server does not need to calculate CRCs.
This load time increase did in fact happen when I did a test on a listen server, and it was very significant increase. sv_pure 1 from the main menu, then loaded a map.

Last edited by DrEvil; 09-16-2007 at 08:24 PM.
DrEvil is offline   Reply With Quote


Old 09-17-2007, 05:10 AM   #9
417
SGM Division ******
Wiki Team
 
Join Date: Apr 2007
Location: New Mexico, USA
Class/Position: Defensive
Gametype: Capture The Flag
Affiliations: [SG-X] Clan - http://www.sg-x.info
Posts Rated Helpful 0 Times
Send a message via ICQ to 417
Not running sv_pure 2

If I enable and of the sv_pure CVAR at all it kicks players out of the server as soon as they join.

Here is what is in my server.cfg for this CVAR:
Quote:
//New CVAR June 2007 Restricts players from using custom sounds, models, materials
// sv_pure 1 reads the file mod/pure_server_whitelist.txt to determine what can be used from the client side.
// sv_pure 2 only allows content from Steam and is suggested to be used for league play.
// Other related commands: sv_pure_kick_clients 1, sv_pure_trace 1 [1=on 0=off]
//sv_pure 1
//sv_pure_kick_clients 1
//sv_pure_trace 1
I wonder if it is more of an issue with Linux servers? My home office is in another sate and I don't have my test servers windows/linux to try stuff on right now.

I really want to run the server in pure mode as it appears there are already people modifying files to give themselves an unfair advantage.

When I get home from work tomorrow I will play with it some more and report back with my findings.
__________________
[SG-X] Clan - SGM Division leader
ICQ #: 154706095 * E-mail * IRC: irc.gamesurge.net #sgm & #[sg-x]
417 is offline   Reply With Quote


Old 09-18-2007, 03:31 AM   #10
DrEvil
Fortress Forever Staff
 
Join Date: Feb 2005
Location: Los Angeles, CA
Posts Rated Helpful 3 Times
Ug damn that sounds shitty. Hopefully we're just doing something wrong and it's not broken, but I honestly wouldn't be surprised if it were. Most valve games probable enforce pure via the steam cache files, they may not have had much testing or whatever on the file+crc versions.
DrEvil is offline   Reply With Quote


Old 09-20-2007, 05:51 PM   #11
1Cold1
Guest
 
Posts Rated Helpful 1 Times
An awesome idea in theory. Hopefully it can override the user option with what the server would like to establish. I've saved this thread. Could save the many leagues a lot of headaches.

Perhaps this is the wrong place to ask this, but the pop-up help info has been rather laggy, server-side wise. Is there a command to stop the "help" pop-ups?

Also, a "commandmenu" file would be awesome to assist server ops in quickly handling operations while in-game.

The latter is just an idea while the former is a legit issue. Any help is appreciated.
  Reply With Quote


Old 10-04-2007, 05:26 PM   #12
DrEvil
Fortress Forever Staff
 
Join Date: Feb 2005
Location: Los Angeles, CA
Posts Rated Helpful 3 Times
I downloaded hlds with the hldsupdatetool and was trying to figure out what is going on with this, but I couldn't get pure to do anything. I see the server caching CRC files but I don't see any traces on the server when I join myself, nor does it kick me or print a warning when I change files it is checking.

Servers running
sv_pure 1
sv_pure_kick_clients 1
sv_pure_trace 1

It prints out CRC shit during load. I join myself with the FF client. No traces, no kicks, no indication at all really that pure is doing anything at all on the client. In fact sv_pure in the console on the client says The server is using sv_pure = 0 (no whitelist), when the server quite obviously is.

This is a windows server. Anything I'm missing here to get this working?

Also would really appreciate if you got back to me on what files it is saying it is kicking the clients for.
DrEvil is offline   Reply With Quote


Old 03-05-2008, 04:44 PM   #13
Dr.Satan
Wiki Team
Fortress Forever Staff
 
Dr.Satan's Avatar
 
Join Date: Sep 2007
Location: Greeley, CO
Class/Position: Med / Solly
Gametype: PAYLOAD
Affiliations: DET-
Posts Rated Helpful 19 Times
Is this still relevant or is it now being included in the installers?
__________________
(Released) conc_school | hellion_classic | ksour_PAYLOAD | mulch_faf
(Beta) alchimy_b1
(Lua) base_payload_2015
(Models) props_trainyard
Support FF:
Dr.Satan is offline   Reply With Quote


Old 03-06-2010, 05:25 AM   #14
erwin.zeez
 
Join Date: Mar 2010
Gametype: Capture the Flag
Posts Rated Helpful 0 Times
A 'pure server' is a server that forces all clients on the server to use content that matches what is on the server. This way, clients who are playing on the server cannot cheat by modifying the game content.

Without pure servers, clients could modify their materials, sounds, and models to give them advantages in the game. They might allow themselves to see through walls, make enemy models larger or brighter, or make certain sounds louder, thus giving them an advantage while playing.
__________________
ERWIN
erwin.zeez is offline   Reply With Quote


Old 03-07-2010, 02:34 AM   #15
zE
Pew pew ze beams
 
zE's Avatar
 
Join Date: Jan 2008
Gametype: Gathers
Affiliations: pew pew
Posts Rated Helpful 11 Times
ye, i was always kicked because my yellow tracers : p So ye sv_pure 1 sucks.

Last edited by zE; 03-07-2010 at 02:35 AM.
zE is offline   Reply With Quote


Old 03-07-2010, 09:25 PM   #16
squeek.
Stuff Do-er
Lua Team
Wiki Team
Fortress Forever Staff
 
squeek.'s Avatar
 
Join Date: Mar 2007
Location: Northern California
Class/Position: Rallygun Shooter
Gametype: Conc tag (you just wait)
Affiliations: Mustache Brigade
Posts Rated Helpful 348 Times
Send a message via AIM to squeek.
Unfortunately, Valve apparently didn't bother to check that sv_pure works on the Linux build of the EP1 engine. It works fine on Windows servers, but not Linux.

There's not much we can do about it unless we wrote our own version of sv_pure.
__________________
Support FF:
#FF.Pickup Fortress-Forever pickups

My Non-official Maps
Released FF_DM_Squeek - FF_2Mesa3_Classic - FF_Siege_Classic
Beta FF_Myth - FF_Redlight_Greenlight

Sick of the people on the internet, always moanin'. They just moan.
- Karl Pilkington
squeek. is offline   Reply With Quote


Old 03-08-2010, 02:23 AM   #17
Pon
Not choking. Yet.
Lua Team
Wiki Team
Fortress Forever Staff
 
Pon's Avatar
 
Join Date: Jul 2007
Location: Scotland
Class/Position: Demo/Def - Spy/Off
Gametype: Anything but yet more fucking CTF
Affiliations: FF.AvD [FF AvD/ID guild]
Posts Rated Helpful 0 Times
Quote:
Originally Posted by erwin.zeez View Post
A 'pure server' is a server that forces all clients on the server to use content that matches what is on the server. This way, clients who are playing on the server cannot cheat by modifying the game content.

Without pure servers, clients could modify their materials, sounds, and models to give them advantages in the game. They might allow themselves to see through walls, make enemy models larger or brighter, or make certain sounds louder, thus giving them an advantage while playing.
http://developer.valvesoftware.com/wiki/Pure_Servers

Stop talking to spambots :P
__________________
Support FF:

YOU GUYS REALLY SHOULD UPDATE YOUR STAFF LIST!
I haven't posted since 2010...

Preferable to death. But only just...
Pon is offline   Reply With Quote


Old 03-08-2010, 02:25 AM   #18
Elmo
Gets tickled by FF
Fortress Forever Staff
 
Elmo's Avatar
 
Join Date: Jun 2007
Location: UK
Class/Position: Med Solly HW
Gametype: Any/CTF
Posts Rated Helpful 41 Times
haha, glad to know I'm not the only one that unknowingly talks to spam bots!
__________________
Support FF:
Done: ff_monkey
Done: ff_bases
Done: ff_warpath
Forever Doing: ff_medieval (beta#99999999)
Elmo is offline   Reply With Quote


Old 08-04-2014, 09:04 PM   #19
KubeDawg
Nade Whore
Server Owner
Beta Tester
 
KubeDawg's Avatar
 
Join Date: Sep 2007
Location: Oklahoma
Class/Position: Scout/Soldier
Gametype: CTF/TDM
Affiliations: blunt. Moto
Posts Rated Helpful 128 Times
Trying to get this to work on my server and I have some questions/concerns. Below is my server's modified whitelist:

Code:
whitelist
{
   //
   // 3 modifiers are allowed on file specifications:
   //
   //   from_steam         - only check the Steam cache for the file (ignore anything on disk)
   //   allow_from_disk      - allow the file to come from disk
   //   check_crc         - used with allow_from_disk - server does CRC checks on the client's file to make sure it matches
   //
   //   The default modifier on all files is allow_from_disk. Thus, all files can come from disk and don't need CRC checks unless
   //   allow_from_disk can be set at the same time as check_crc. Use the + character in between them to signify this: allow_from_disk+check_crc.


   //
   // Three types of file specifications:
   //
   //   1. directory\*.*         - refers to all files under the directory
   //   2. directory\...         - refers to all files under the directory and all directories under that (recursively)
   //   3. directory\filename      - refers to a single file
   

   //   
   // By default, when in pure server mode, most content file types are only allowed to come from Steam.
   //
   addons\...										allow_from_disk
   cfg\...										allow_from_disk
   materials\...									allow_from_disk
   materials\effects\cloak								allow_from_disk+check_crc
   materials\effects\cloak_dudv								allow_from_disk+check_crc
   materials\effects\cloak_dx60								allow_from_disk+check_crc
   materials\effects\cloak_dx80								allow_from_disk+check_crc
   materials\effects\cloak_normal							allow_from_disk+check_crc
   materials\effects\cloak_view								allow_from_disk+check_crc
   materials\effects\cloakview_dx80							allow_from_disk+check_crc
   materials\effects\tranquilized							allow_from_disk+check_crc
   materials\effects\slowfield_blue							allow_from_disk+check_crc
   materials\effects\slowfield_red							allow_from_disk+check_crc
   materials\effects\slowfield_green							allow_from_disk+check_crc
   materials\effects\slowfield_yellow							allow_from_disk+check_crc
   materials\effects\infected								allow_from_disk+check_crc
   materials\effects\fire_cloud2							allow_from_disk+check_crc
   materials\effects\fisheyelens_dudv							allow_from_disk+check_crc
   materials\effects\fisheyelens_normal							allow_from_disk+check_crc
   materials\effects\flame								allow_from_disk+check_crc
   materials\effects\eyelid								allow_from_disk+check_crc
   maps\...										allow_from_disk
   models\...										allow_from_disk
   models\player\...									allow_from_disk
   models\grenades\...									allow_from_disk
   models\projectiles\...								allow_from_disk
   models\flag\...									allow_from_disk
   resource\...										allow_from_disk
   scripts\...										allow_from_disk
   shaders\...										allow_from_disk+check_crc
   sound\...										allow_from_disk
   sound\sound\player\footsteps\...							allow_from_disk+check_crc
   sound\buildable\sentry\sg_scan1							allow_from_disk+check_crc
   sound\buildable\sentry\sg_scan2							allow_from_disk+check_crc
   
   //
   // Allow custom player models. Don't do CRC checks on them because the clients may all
   // have different custom models and the server won't have them all.
   //   
   //models\player\...         allow_from_disk
   //materials\models\player\...   allow_from_disk

   //
   // Allow custom spray decals.
   //
   materials\temp\...         allow_from_disk
   materials\vgui\logos\...   allow_from_disk
   materials\vgui\logos\ui\...   allow_from_disk
   
   
   //
   // (Uncomment and edit these for mods).
   // Allow mod resources to come from disk.
   //
   // materials\mymod\...      allow_from_disk+check_crc
   // models\mymod\...         allow_from_disk+check_crc
   // sound\mymod\...         allow_from_disk+check_crc
}
Mainly I'm trying to prevent asshats from messing with most material effects such as the cloak effect without preventing people from using custom models/other materials such as FDA's pizza box or the TFC Character models. Is the whitelist I made correct and do I need to specify folders such as addons(for sourcemod plugins/config) as well as player scripts/config files that are allowed? What if a folder is not specified at all? Does that mean it simply won't allow any differences with the unspecified folder or will it not even include that folder in its check?
__________________
Moto's Funhouse | Dallas, TX - 74.91.114.247:27015

ff_plunder - Complete
KubeDawg is offline   Reply With Quote


Old 08-04-2014, 10:45 PM   #20
homie in reboks'
 
homie in reboks''s Avatar
 
Join Date: Jun 2011
Location: USA
Class/Position: Soldier & Medic
Affiliations: ( ir :: ) iv| K^
Posts Rated Helpful 80 Times
so ends cacalot's reign of terror
__________________
homie in reboks' is offline   Reply With Quote


Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:42 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.