Server Consistency Checking
Rothgar
Join Date: 2009-11-13 Member: 69372Members
Well since someone posted in my server guide thread about consistency checking I started doing some research into this.
I would like to start this thread with the goal of getting other server operators input on the best way to modify the consistency checking while not breaking any actual functionality.
This is what I have found in my research:
Consistency Checking while currently implemented is not complete and it sounds like there will be further updates to this and it's a WIP?
By Default the NS2 Client App ID 4920 versus the NS2 Server ID 4940 have different files? i.e. Servers don't have all files included to properly enforce strict consistency checking? Examples I have seen for instance is that if you force consistency on *.materials some default maps break?
People want the option of changing their crosshairs and this is community accepted.
So I will update this thread with the "community" modifications as people post to come up with a good alternative to the default consistency check.
I would also like to start a list of "mods" that would be good for a server to Whitelist (Even though that has been removed currently) though this might be worth separating out to a different thread.
NOTE: I have not done any testing with custom skins etc myself to see the consistency checking not working. I have also not tested the below consistency check myself, I will be looking to test this soon.
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
"check": [ "game_setup.xml", "*.lua", "*.fx", "*.screenfx", "*.surface_shader", "*.fxh", "*.render_setup", "*.shader_template", "*.fsb", "*.dds", "*.material", "*.level", "*.cinematic" ],
"ignore": [ "ui/crosshairs.dds", "ui/crosshairs-hit.dds" ]
}<!--c2--></div><!--ec2-->
I would like to start this thread with the goal of getting other server operators input on the best way to modify the consistency checking while not breaking any actual functionality.
This is what I have found in my research:
Consistency Checking while currently implemented is not complete and it sounds like there will be further updates to this and it's a WIP?
By Default the NS2 Client App ID 4920 versus the NS2 Server ID 4940 have different files? i.e. Servers don't have all files included to properly enforce strict consistency checking? Examples I have seen for instance is that if you force consistency on *.materials some default maps break?
People want the option of changing their crosshairs and this is community accepted.
So I will update this thread with the "community" modifications as people post to come up with a good alternative to the default consistency check.
I would also like to start a list of "mods" that would be good for a server to Whitelist (Even though that has been removed currently) though this might be worth separating out to a different thread.
NOTE: I have not done any testing with custom skins etc myself to see the consistency checking not working. I have also not tested the below consistency check myself, I will be looking to test this soon.
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
"check": [ "game_setup.xml", "*.lua", "*.fx", "*.screenfx", "*.surface_shader", "*.fxh", "*.render_setup", "*.shader_template", "*.fsb", "*.dds", "*.material", "*.level", "*.cinematic" ],
"ignore": [ "ui/crosshairs.dds", "ui/crosshairs-hit.dds" ]
}<!--c2--></div><!--ec2-->
Comments
<a href="http://www.ensl.org/articles/714" target="_blank">http://www.ensl.org/articles/714</a>
Also I am interested to know whether the following "descent" material exclusions are required (This is where I saw information on maps breaking):
<a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=125473&view=findpost&p=2038178" target="_blank">http://www.unknownworlds.com/ns2/forums/in...t&p=2038178</a>
By Default the NS2 Client App ID 4920 versus the NS2 Server ID 4940 have different files? i.e. Servers don't have all files included to properly enforce strict consistency checking? Examples I have seen for instance is that if you force consistency on *.materials some default maps break?<!--QuoteEnd--></div><!--QuoteEEnd-->
I'm pretty sure the errors that people were receiving when they did this was due to a bad download from steam. I know max has been looking into this issue of steam not downloading all the files properly, but there is definitely a issue sometimes. It's probably related to which content server your server downloads the files from. If all the files are downloaded correctly, then there will be no issues.
This is what I have been using for a while without any issues (server is running client version 4920):
{
"check": [ "game_setup.xml", "*.lua", "*.fx", "*.screenfx", "*.surface_shader", "*.fxh", "*.render_setup", "*.shader_template", "*.fsb", "*.material", "*.level", "*.cinematic", "crag*.dds", "cyst*.dds", "drifter*.dds", "egg*.dds", "fade*.dds", "gorge*.dds", "harvester*.dds", "hive*.dds", "infestation*.dds", "lerk*.dds", "onos*.dds", "shade*.dds", "shell*.dds", "shift*.dds", "skulk*.dds", "spur*.dds", "veil*.dds", "whip*.dds", "exo*.dds", "marine*.dds", "muzzle*.dds", "phase*.dds", "sparks*.dds", "male*.dds", "mine*.dds", "pistol*.dds", "rifle*.dds", "shotgun*.dds", "blink*.dds", "blood*.dds", "explosion*.dds", "fire*.dds", "jetpack*.dds", "smoke*.dds", "spore*.dds" ]
"ignore": [ "exosuit_HUD1.dds", "exosuit_HUD4.dds"]
}
Offers decent protection for the major items and it doesn't slow down map loading that much (couple of seconds unless on an SSD).
On my server reinstalling did nothing to fix this and neither did trying to manually replace the map files. Docking and Refinery work fine on default consistency check but not when it's edited to comply with the rules for ENSL.
On my server reinstalling did nothing to fix this and neither did trying to manually replace the map files. Docking and Refinery work fine on default consistency check but not when it's edited to comply with the rules for ENSL.<!--QuoteEnd--></div><!--QuoteEEnd-->
Well from what I understand the Alien Vision Mod is a .fx file and as per my post above for some reason the ENSL does not have *.fx in it's checking? Only *.fxh
Also not sure if this is even a problem it shouldn't be but most examples I see do not use a comma after the check line, but maybe it's not required?
Alien vision works on all servers, so do all texture edits right now. Consistency checking is not possible if the server doesn't even have file he is supposed to check.<!--QuoteEnd--></div><!--QuoteEEnd-->
This is not my experience. This mod only works on a few servers for me. It didn't work on the uwe official servers last time i checked and it doesn't work on my server if the default or the ensl consistency is running. Pretty sure this is also what most other people experience.
This mod alters the DarkVision.fx file i think so it is strange that the ensl check blocks it since, as you say, it only specifies .fxh not .fx but it definitely blocks that mod on my server (i.e. alien vision works like default with walls dark green etc.).
I have heard reports and experienced first-hand that making certain alterations to ConsistencyConfig.json will just completely remove consistency checking. This is what seemed to happen when i added 2 specific .material files to my ignore list in an attempt to make the ensl config work with ns2_docking. All of a sudden alien vision mod was working on the server. It would be great if someone who had an explanation for this behaviour could comment on how/if/when this can/will be fixed.
As far as I can tell, if you have the alien vision mod installed via the Steam Workshop, it will not work. At least it hasn't for me.
However, if I launch a "modded" NS2 using the old modding method, it will work, as I guess it's not able to check that file for some reason, even though it is included in the consistency check.
I just tested and verified this using the "UWE Official NA-East #10 - All Official 16p" server as my test subject.
With my "stock" NS2 launched via Steam and enabling Huze's Minimal Alien Vision mod, the server would not allow me to use the mod, even though it loaded, and hitting the flashlight brought up the standard alien vision.
I then exited the game, and launched the game using the "modded" shortcut from back when you had to place the mod files into your ns2 folder. This folder contains the file for Huze's Minimal Alien Vision mod, and a crosshair mod which is unneeded now. I re-joined the same server as above, hit the flashlight, and instead of being presented with the standard alien vision, I was able to use the modded vision mode.
Not sure what this means, but when people say "it works" I think they should indicate which method they're using to make it work.
Send me a PM with details.
However that said I am happy to test some things with people to see if we can make it work properly.
At the end of the day, the consistency check lines are no different the only difference with using the Steam Workshop is the files will be in its own separate "Mod" folder, rather than overwriting the original.
Now it _could_ be possible that UWE's consistency check is just checking if the file is consistent by looking if there is a "mod" file but not checking the actual consistency/integrity of the original files but that would be pretty uh stupid. I mean you could at a minimum probably just md5 check the files or I'm sure there might be better methods.