I apologize my bad english.
By default, server have
sv_pure set to
0
If server administrator not change this, server will allow players use own customized/modified files from their own "disk".
They can change game outlook totally, even maps textures. (Invisible walls)
When change
sv_pure setting on server, it requires map change to take effect.
Code:
--------------------------------------------------------
sv_pure set to 1.
Note: Changes to sv_pure take effect when the next map is loaded.
--------------------------------------------------------
Best timig change this cvar is add it in server
...cfg/autoexec.cfg (or launch parameters +sv_pure 1)
Why not from
...cfg/server.cfg ?
- When launch server, first map is already loaded before
server.cfg have executed.
To clarify, your first map is in
sv_pure 0 mode, after map change it goes
1 or
2.
This could crash players game to HL2.exe error. Not big deal.
---------------------------------------------------------------------
(Out of topic) Anyway (
what I recommend) you should add all server (
not plugins)
console variables (cvar, convar) what you want change from default once to given value in
autoexec.cfg.
Few examples:
Code:
hostname "My SRCDS name" // Host name
mp_flashlight "1" // Enable flashligths
sv_alltalk "1" // Server all talk
exec banned_user // Execute permanent steamid bans ...cfg/banned_user.cfg
exec banned_ip // Execute permanent IP bans ...cfg/banned_ip.cfg
sv_pure "1"
- When server launched
1. it execute configuration file
autoexec.cfg first
2. then load first map
3. after map is loaded it execute second configuration file server.cfg
4. even after this, server execute map configuration file (if exist) ...maps/cfg/map_name.cfg
These cvars what have added in
autoexec.cfg stay in that value as long as something is change it (another config file, rcon command, plugin ?).
Now if admin change
sv_alltalk to
0, it stay after map changes as long as it something change back to 1.
To want cvars stay specific value automatically, use
server.cfg
This config file will execute every map change and reset cvars back.
*Tip, add in this file bottom of list to save server current permament bans
writeid
writeip
Different cvar settings by map, use
...maps/cfg/map_name.cfg
Whe map appears called "map_name.bsp" it change cvar setting for that what found in map config.
Again, it's your choice do you want start use this way,
or add all in server.cfg and execute all cvars everytime when map change...
-----------------------------------------------------------
(Back to topic)
Players can check server current sv_pure mode typing
sv_pure in their console when joined.
They get also server whitelist.
Code:
--------------------------------------------------------
sv_pure:
If set to 1, the server will force all client files except the whitelisted ones (in pure_server_whitelist.txt) to match the server's files.
If set to 2, the server will force all client files to come from Steam (and it will not load pure_server_whitelist.txt).
The server is using sv_pure = 1.
materials\... from_steam
models\... from_steam
sound\... from_steam
models\player\... allow_from_disk
materials\models\player\... allow_from_disk
materials\temp\... allow_from_disk
materials\vgui\logos\... allow_from_disk
materials\vgui\logos\ui\... allow_from_disk
materials\vgui\replay\thumbnails\... allow_from_disk
--------------------------------------------------------
They can now use files from they disk on those path.
...steamapps/account/game-name/mod/models/player/
...steamapps/account/game-name/mod/materials/models/player/
...steamapps/account/game-name/mod/materials/temp/
*...steamapps/account/game-name/mod/materials/vgui/logos/
*...steamapps/account/game-name/mod/materials/vgui/logos/ui/
...steamapps/account/game-name/mod/materials/vgui/replay/thumbnails/
* Don't know why there have added extra by default = materials\vgui\logos\ui\... allow_from_disk
when this will do same thing = materials\vgui\logos\... allow_from_disk
Configure pure_server_whitelist.txt
- You find this file from your server, one folder up from mod (
...orangebox/hl2/)
This file work from that path
(or either you can copy that file and add in your mod direction (...orangebox/cstrike/)
Now it will use that file what found from 'cstrike' instead 'hl2'
Not need done this, I just mention)
http://developer.valvesoftware.com/wiki/Pure_Servers
Code:
whitelist
{
// You can add comments behid double slash
// All your setting have to add inside in one whitelist { parentheses }
// Server force players use all files from "steam"
// These are BIG *.gcf files before player account folder ...steamapps/
materials\... from_steam
models\... from_steam
sound\... from_steam
// Don't make multiple copies of same path
// like sound\... if it already exist (above)
// At this point, players can't use anything custom files
// from their ...steamapps/account/game-name/mod/materials/...
// /models/...
// /sound/...
// Let players use custom sounds by plugins, example quake sounds
// maniadmin sounds
sound\quake\... allow_from_disk
sound\admin_plugin\... allow_from_disk
// Some reason there sound files in root ...sound/ folder ?
sound\*.* allow_from_disk
// Allow player customize one radio sound file :P, go go go!
sound\radio\go.wav allow_from_disk
// Allow players use spray pictures (, player avatars via replay ?)
materials\temp\... allow_from_disk
materials\vgui\logos\... allow_from_disk
//materials\vgui\logos\ui\... allow_from_disk // Not need this because above line do same job
materials\vgui\replay\thumbnails\... allow_from_disk
// Shitty map where map builder haven't compressed texture files in map.bsp !
// de_rennes_v1 = http://www.gamebanana.com/maps/4405
// I use only CRC check on *.vmt files, not *.vtf picture itself
// From *.vmt file, player can add transparent to texture.vtf
// So players *.vmt files have to match server *.vmt files
materials\de_rennes_v1\... allow_from_disk
materials\metal\metalwall046a.vmt allow_from_disk+check_crc
materials\metal\metalwall046a.vtf allow_from_disk
materials\de_rennes_v1\asphault1.vmt allow_from_disk+check_crc
materials\de_rennes_v1\ccc_glass5.vmt allow_from_disk+check_crc
materials\de_rennes_v1\ccc_metstainl6.vmt allow_from_disk+check_crc
materials\de_rennes_v1\ccc_metstainl7.vmt allow_from_disk+check_crc
materials\de_rennes_v1\cement2.vmt allow_from_disk+check_crc
materials\de_rennes_v1\cement3.vmt allow_from_disk+check_crc
materials\de_rennes_v1\cugroundi.vmt allow_from_disk+check_crc
materials\de_rennes_v1\dev_cratewood01a.vmt allow_from_disk+check_crc
materials\de_rennes_v1\dirt.vmt allow_from_disk+check_crc
materials\de_rennes_v1\eastcratelgtp.vmt allow_from_disk+check_crc
materials\de_rennes_v1\escalator1.vmt allow_from_disk+check_crc
materials\de_rennes_v1\escalator2.vmt allow_from_disk+check_crc
materials\de_rennes_v1\floor_b_env.vmt allow_from_disk+check_crc
materials\de_rennes_v1\floor_w_env.vmt allow_from_disk+check_crc
materials\de_rennes_v1\hedge_1.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_andre.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_boul.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_brioche7.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_celio2.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_coffea.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_crazy.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_eram.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_espace.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_fnac.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_grandoptical.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_habitat.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_inno.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_inno2.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_mcdo.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_morgan.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_nafnaf.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_nature3.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_phox.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_sephora.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_sergent.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_SNCF.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_springfield.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_supersport.vmt allow_from_disk+check_crc
materials\de_rennes_v1\l_yr.vmt allow_from_disk+check_crc
materials\de_rennes_v1\metal_red.vmt allow_from_disk+check_crc
materials\de_rennes_v1\pillar01.vmt allow_from_disk+check_crc
materials\de_rennes_v1\pillar01_env.vmt allow_from_disk+check_crc
materials\de_rennes_v1\wall004.vmt allow_from_disk+check_crc
}
Rest pure cvars
Code:
"sv_pure_trace" = "1" ( def. "0" )
- If set to 1, the server will print a message whenever a client is verifying a CRC for a file.
And this work when sv_pure_kick_clients "0" (otherwise, leave this trace to 0. Useless)
This will print to player console when conncet to server (and current map de_rennes_v1)
Warning: Pure server: file [GAME]\materials\de_rennes_v1\wall004.vmt does not match the server's file.
And server console, but not log these.
[STEAM_0:1:00000] Pure server: file [GAME]\materials\de_rennes_v1\wall004.vmt does not match the server's file.
Code:
"sv_pure_kick_clients" = "1"
- If set to 1, the server will kick clients with mismatching files. Otherwise, it will issue a warning to the client.
Kick players if files not match with server files what have
CRC check.
Dropped Bacardi from server (Pure server: file [GAME]\materials\de_rennes_v1\wall004.vmt does not match the server's file.)
Player console
Disconnect: Pure server: file [GAME]\materials\de_rennes_v1\wall004.vmt does not match the server's file..
Disconnect: Pure server: file [GAME]\materials\de_rennes_v1\wall004.vmt does not match the server's file..
What else ?
When change sv_pure mode or make change in pure_server_whitelist.txt
players should re-launch their game or they get HL2.exe errors.
Another errors, found from player console
Code:
] play quake/headshot.mp3
Failed to load sound "quake\headshot.mp3", file probably missing from disk/repository
Even
sv_pure 1 whitelist will block this (and sv_pure 2)
or you don't have this file on your computer.
So
@einwa, you can start check what you want players use on server.
Custom skin and weapons ?
Ofcource plugins sound files and other texture.
It's not difficult when you learn this.
*edit
Don't edit files called
whitelist.cfg
I haven't touch those and I have get still work those custom files via pure_server_whitelist.txt