View Full Version : Mods, Maps And Server Pure - Important
twoAM
11-13-2003, 10:25 PM
If you run a mod on a server which replaces files in the retail game with new files (for example if the mod changes the weapon settings), and your server allows clients to automatically download it (sv_allowdownload 1), clients which download the mod will get impure client detected errors when they attempt to connect to a different non modded server which is running server pure (sv_pure 1). Chances are they wont know what happened or how to fix it. This is an issue with server pure which we are looking into fixing in a patch but it can currently be avoided by following the steps below.
The correct way to run a mod which replaces files is to put it in a different directory than "Main", for example if you installed Cod to c:\games\CoD then rather than put the mod in c:\games\CoD\Main you need to put it in c:\games\CoD\MyMod and run the server with this on the command line:
+set fs_game MyMod
Modders who want to create new maps, models, or sounds dont need to worry about this issue. Provided their extra files do not contain any files with the same name as the originally CoD files that came in the pk3 files on the CD. If this is the case, new .pk3 files for maps, models, and sounds can and should go in the Main directory. However modders creating new files (rather than replacing existing ones) should know that there is currently an issue with the order pk3 files are loaded which means that the names of their pk3 files need to follow "pak" in the alphabet (pal.pk3 would be okay), this issue, to my knowledge, does not exist for files in a different directory other than Main.
Realism mods generally replace existing files in the pk3s with new versions, which is why they cause problems since replacing files is also the easy way to create the kind of simple cheats which server pure is designed to prevent.
Another way to prevent this issue is to not allow downloads on your server (sv_allowdownloads 0) if you are running a server side only mod. To our knowledge there are no problems related to running a server side only mod and not allowing downloads. There are two main issues related to attempting to run a client side mod right now which we are looking into: one they only work on servers with pure server turned off, and two in between each time you connect to a server running a client side mod you have to quit the game.
To protect your install of CoD from mods which will make your client impure to servers which arent running mods you should "seta cl_allowdownloads 0" in the console (which is the default setting) and only turn it on (cl_allowdownloads 1) when connecting to servers which you know are running mods which are set up correctly.
Please repost this information at other web sites and forums.
Thank you
Zied Rieke
Infinity Ward Inc.
Sitting_Duck
11-13-2003, 11:20 PM
Thanks for the information. Keep up the good work, we are all counting on you. :!:
Tighten
11-13-2003, 11:24 PM
I reposted this in our forums.
Thank you for that.
HankScorpio
11-14-2003, 01:28 AM
Thank you very much, Zied, or whoever it was who reposted this. I wish it were evident.
If I understand this correctly, this fs_game feature is going to make people such as Hammer and Scorpio Midget very happy. You can do server-side only mods and still enable downloads for maps and such. :clap:
rudedog
11-14-2003, 06:40 AM
This is great, wish MOH had both the autodownload and mod's dir. would have saved a ton of work.
Just hope this can't be used for non ethical reasons.
PS added a splach of color and bbcode to help point out the important parts
Tighten
11-14-2003, 08:21 AM
+set fs_game osp
+set fs_game shrubmod
+set fs_game ETPro_tourneymod
Just examples of current MODS that were configured properly and used in ET and RTCW with this engine.
All of which make a sub-directory inside the root folder and get executed per the above commands.
OSP - requires a clients side
Shrub - does not
So as you can see, you can make either type mod and this would work.
rudedog
11-14-2003, 08:52 AM
Very interesting, thanks Tighten
imported_MaD-Ogre
11-14-2003, 09:25 AM
Ok, I guess I'll ask the obvious question: does this command-line parameter also work on the client-side? If so, does this mean that a client could load a custom .pk3 file and be undetected by a pure server?
imported_MaD-Ogre
11-14-2003, 09:37 AM
Ok, if you do this, config_mp.cfg and the log files are all put into the folder specified by fs_game instead of main. FYI.
Tighten
11-14-2003, 09:39 AM
That is a command for server only, I believe it will only work in with either LAN or DED. IF the server is "pure", it is checking the servers files against the clients, not the other way around. So this should have no affect on if a person was to set that flag.
Because your loading a "GAME TYPE" (fs_game) not a client variable.
Obviously there are people who will try anything and everything to manipulate the system.
There are some very talented people with lots of time on their hands and try to create any and every cheat, on the other hand, there are also very talented people that do the same thing to combat this.
thejerk
11-14-2003, 10:15 AM
I made this same suggestion on AAN after reading this info there:
I would suggest, then, that all servers which carry mods or maps consider a naming/directory convention to avoid such issues with sv_pure. Example, AAN might consider putting all mods and maps in a directory called AAN outside of main: "c:\games\COD\AAN". If all servers did something along these lines, then there wouldn't be an issue of mods or maps conflicting with eachother when going from one server to the next or being kicked for being impure.
Of coarse, this wouldn't be something that admins of new game servers, say 2 months from now, would know to do unless such a thing were suggested at modding sites and the like.
Reading Tighten's post, though, I'm a little confused as to how this works now. Does this mean that you can set this variable a number of times to execute pk3's in different folders?
Tighten
11-14-2003, 11:22 AM
Assuming you made different mods correctly -yes
+set fs_game MyMod1
+set fs_game MyMod2
etc...
HankScorpio
11-14-2003, 01:41 PM
thejerk...yeah I don't think you're understanding the way it works. There's no need for a naming convention to avoid conflicts.
Basically what this is doing is seperating pk3 directories from the auto-download mechanism. A server-side mod doesn't need to download to clients and would go into a directory specified by fs_game. A map, on the other hand, would need to be downloaded to clients and would go into to the normal main directory and therefore be subject to both auto-downloading and sv_pure validation.
Hammer
11-14-2003, 02:02 PM
Thejerk makes some valid points. If we all start putting our server mods into main (the ones that don't touch standard files), then when clients connect to our server and perform the download, they'll have the files deposited in the local main folder. If they then go connect to another server, they may be seen as unpure. Say, for example, CoDadmin servers use a dir called CoD for their server mods, and another server uses that as well, you also run into the same problem.
I agree that each server should have a separate folder for their mods, so CoDadmin.com (or somesuch) and MCgamers.com, etc. Makes a lot of sense to me. That way each server's mod files are kept separate from a client's point of view.
thejerk
11-14-2003, 05:29 PM
thejerk...yeah I don't think you're understanding the way it works. There's no need for a naming convention to avoid conflicts.
Basically what this is doing is seperating pk3 directories from the auto-download mechanism. A server-side mod doesn't need to download to clients and would go into a directory specified by fs_game. A map, on the other hand, would need to be downloaded to clients and would go into to the normal main directory and therefore be subject to both auto-downloading and sv_pure validation.
What you're saying here seems to contridict what Tighten's saying. The folders are executed, as such, much the same way a config would be by that command. Difference being that it's also executing that folder on the clients' end, and if it doesn't exist it would create it and download the necessary components. By the sounds of it, this would mean that these folders would be left alone and not checked for pure if the server doesn't specifically mention that folder.
Tighten
11-14-2003, 06:48 PM
Depending on how the mod is built - if it is a "server side" only mod - there is nothing for the client to DL, but it usually creates a folder for the client with a cfg for that mod type. (I think ADL has to be on -not sure)
So, for example, ShrubMod for RTCW. This is completely a server side only mod. It is considered a game variant/mod, that means it is manipulating the server application to do modded things. This type of mod is preferable for "fun" type mods because the client needs to do nothing at all, it just gives you more options. Once connected to a "shrub server" a new folder will be made in your root directory of RTCW(example). So for the future any "shrub" servers you play on, it will keep any configuration changes you may have made to that folder, thus allowing you to have "2" completely seperate configurations and never needing to change them to join a specific type of game. Any updates made to shrub would automatically be done through joining servers that had updated shrub versions.
Example 2:
OSP - This is a MOD that is primarily used for league play. It requires a client and server install. Just like shrub though, the install is in a seperate folder (in root of RTCW)-i.e: OSP. Updates for this type of mod are down either through connecting to a server with a newer version (assuming you have DL's on) or manually DL'ng the latest version and installing it your self. This too - keeps a seperate config. file in the OSP folder in the root directory.
Both of these mods never alter any pak files your game came with by default - they are either different pak files or simply the mod can utilize the pak files that were already in place with out the need for alterations.
Both of these types of games you can automatically join with out making adjustments (assuming OSP is installed on your PC)
So you have three game types listed above -MAIN (original), Shrub(serverside only mod), and OSP(needs a client install as well) all of which have seperate extension folders, none of which alter original pak files.
I hope this clarified this topic somewhat.
Here are links to those mods listed above.
http://orangesmoothie.org - OSP
http://www.planetwolfenstein.com/shrub/whatsnew.html - Shrub
Hopefully with a little research you will see for yourself what is being explained.
If I left something out - oh well!
thejerk
11-14-2003, 10:08 PM
Well, I think by what's being said in the original IW post is that auto dl will cause you to download even mods that are server-side only. Without having a seperate directory specific for that mod/server, it will be placed in the main directory. In that case, you wouldn't be able to join another server using sv_pure and that doesn't have that same mod. That's really the issue here... not so much on how these would work, but the necessity to use these variables to keep from losing your "pure-ness", and of coarse for players who don't know they're downloading anything or understand what any of that means. Hence why I suggest a naming standard for servers and their mods.
Ok, well I followed everything in the top post to the letter and it doesn't work right. It does read the "mods" folder correctly on the server, and a client can connect the very first time they try, but after that it stops working. What happens is the folder gets downloaded to the client. Then when they disconnect and reconnect a 2nd time the server says "unpure client detected". So the client has to delete the folder that was automatically created in order to connect again. This happens the same way every time, even if sv_allowdownloads and/or cl_allowdownloads are tuned off. If they are turned off it still creates the folder on the client but doesn't download the pk3 files. Either way, the client gets detected as unpure every time after the first connect. So basically, you have to delete the folder on the client every single time you want to connect, including map changes. This essentially makes the whole idea useless because clients can never figure out what the problem is and just give up.
Tighten
11-16-2003, 04:50 PM
Well I can't really say were the problem is. I offered information on how other people/companies developed MOD's (properly) and how they configured them.
I wish I could be of more help, but I do not have any idea of the mod you created, how it works or anything else.
Those other programs also have .dlls included with them as well as new pak files. They are Game variants more then MOD's. Although, the games are basicaly the same, they are completely different.
+set fs_game OSP for example (OSP for RTCW) uses different application drivers and configs -etc... but still uses the base application.
Maybe one of the MOD'rs around here can be of more assistance with what you are trying to do exactly.
ClickBouyow
11-17-2003, 04:06 PM
I get this error:
"/home/httpd/vhosts/3shserver07.org/PMmod/game.mp.i386.so: cannot open shared object file: No such file or directory"
and the server shuts down. This is obviously not the right answer.
rudedog
11-17-2003, 04:27 PM
I get this error:
"/home/httpd/vhosts/3shserver07.org/PMmod/game.mp.i386.so: cannot open shared object file: No such file or directory"
and the server shuts down. This is obviously not the right answer.
What is your game dir?
you should be creating your dir in the same dir that main and miles
ie:
cod\main
cod\miles
cod\your_mod_dir
ClickBouyow
11-17-2003, 06:32 PM
That is what I did. It is looking for game.mp.i386.so in that folder. I got it to work by creating a link from that folder to game.mp.i386.so.
rudedog
11-17-2003, 07:04 PM
could be a problem with the mod.
good work around though.
imported_whatever
11-24-2003, 09:09 PM
I'm doing my best to follow this. I think I understand the issue. Having ANY mods (server side and/or client, maps, etc.) in Main seems to be a problem. As was pointed out, having a naming convention for folders on the server for mods is the way to go. However, this will only be used by competent server admins. God knows I've played on some MOHAA servers that were admined by people who don't know what they are doing.
A solution would be for IW to FORCE any mods to not be in the Main folder. I don't care where a server admin places them. Now if I play on an unmodded, sv_pure server I would not accidentally delete some of my installed .pk3 files. I would know that I need to remove/move a directory from the main.
Does that make sense?
-Jim(whatever)
I'm trying out the PRM server side with autoteambalance thrown in the mix.
To clarify:
1. Create a folder C:\cod\prm mod and place the mod .pk3 file inside
2. Add +set fs_game prm mod to my command line in shortcut properties (now does it matter if it's before or after +exec prmdedicated.cfg?)
3. Put autobalance.pk3 in C:\cod\main folder
4. Leave the server on seta sv_allowdownloads "1"
The client connects, they download the files to the correct folder in their directory and when they join a stock server it doesn't cause any problems for them.
Correct? Is there anything missing?
AADiC
11-24-2003, 10:20 PM
Ok, I have a server running with this command line.
C:\cod3\CoDMP.exe + set dedicated 2 +set fs_game ckr + exec server3.cfg
Have CrowKings Realism in a Dir c:/cod3/ckr. The server starts just fine, the first time I can connect no problems. The second time I try and connect I get:
Server disconnected: Unpure Client detected. Invalid .Pk3 files referenced
Now on my personal computer, I have a new directory called ckr, and it has these 3 files in it: config_mp.cfg, cgame_mp_x86.dll, and ui_mp_x86.dll. If I leave these files I can no longer connect to the server, unless I delete the the two DLL's
I set the server up like twoam said, downloads are off, etc...
Any ideas, I want to work it this way, oh and another MOD here tried it and had same problem.
I'm working this out right now...
I have my cl_allowdownloads 0 (disabled) and when I logged into my server after the adjustments it creates the folder and 4 files. They are config_mp.cfg, cgame_mp_x86.dll, and ui_mp_x86.dll AND hunkusage.dat ...
Now I'm going to try to reconnect the second time and see if it worked. Then I'll try to connect to a non mod server if I can find one quickly.
This should offer some answers...
Ahh, crap. Got the same error trying to join a second time...then I connect to a pure stock server and when I come back to the mod server it still gives an error. Even a funny invalid cd key error that goes away once I kill and restart CoD. Maybe that glitch is a result of connecting to the same ip w/ different port?
Now on the server there is a folder called cod\prm ..? It contains 3 files. A config_mp.cfg, console_mp.cfg and server.log . Weird...
So, this indicates perhaps changing a server setting such as set sv_allowdownloads "0" (disabled) as mentioned earlier.
Going to try that now...
FRESH: Ok, edited the cfg to disable downloads and pulled the teamautobalance.pk3 out of the main folder for good measure. This shouldn't be the problem but I'm tired of screwing around. Let's see how it works now...brb.
No dice. Still get invalid pk3 error. The problem is like you described, the 2 .dll files ... the client was being asked to download the autoteambalance.pk3, too. Not cool.
I think I'll reset it to the way it worked before even though its crude. At least then people were able to connect and play on the server without a major hassle.
cgame_mp_x86.dll, and ui_mp_x86.dll
These are the troublemakers like you said above, so:
1. Delete them and I can connect to the mod server again. Nice.
2. Try to reconnect after leaving and I get an invalid cd key error.
3. Restart CoD and get the invalid pk3 again.
4. Check the folder, sure enough, the .dlls were freshly created.
5. Grrrrrrr!!!
What causes the client to write these two files? This is very confusing already.
bleh, you summed it up in your post, m8.
rudedog
11-25-2003, 06:21 AM
I have not had a chance to try this yet but, it could be the way realism mods are created right now (without documentation from IW)
We have done both CKR and PRM, both seem to produce the same results mentioned above.
I wonder if a map would do the same thing. AADiC try creating a server with a custom dir for the maps we where testing yesterday.
see if they produce the same dlls after running as well as the same unpure effects.
I have a feild trip with one of my daughters today. Don't know when I will be back, might be late. I will try this when I get home tonight.
My server will not even start up with the +set fs_game command in it. Im not sure why at all.
Im running a linux box with the only binary available so if you can give me some advice please do...
Thanks guys,
DV8R
Daffy
01-06-2004, 02:27 PM
From Infinity Wards own admission, there is NO SUCH THING as a Server-Side Mod in CoD. ANY MOD that is on the server MUST ALSO BE on the Client. Client and Server must have the allow download CVAR set to o (enabled) and even if you place Mods in a different directory off the root they can create havoc with a client connecting to sv_pure.
I'm gonna guess the Fix can't address some things like weapons/realism mods because they're tied to the game engine. This will force EVERY MOD to be downloaded to EVERY Client. I saw CrowKings Post below warning people of this too.
I don't believe MOH had this limitation. I hope the Patch Fixes this. No Server-side capability is a MAJOR Deathblow to the Modder Community. That's like saying everyone likes the stock game play - it's the only flavor and there it is....Can't I have tutti-frutti?
hikari
02-19-2004, 05:56 AM
will it work if i put
set fs_game filename
in my dedicated.cfg file rather then in the shortcut
ColdLogic
02-19-2004, 12:07 PM
:?: Will this method work for custom maps? If it will, I will use this in order to load custom maps and get around the pk3 limit in the game.
The other option I heard about was to take all maps and combine them into a grand pk3 file that contains the ones I want, but this can be a painstaking process and ends up with issues clientside being unable to play maps if you have the original map pk3 and the server is using the grand pk3. And I can only get it to work with sv_pure = 0 which doesn't help get people onto the server.
I'm wanting to use custom maps but I'm getting frustrated with the limitations, namely the sv_pure setting (whatever it is) and the # limit on pk3 files that causes conflicts.
Thanks for your help.
UnDead
04-06-2004, 08:13 PM
Is pure nolonger working like it did. It appears now with the 1.3 patch that maps nolonger affect pure. No need for pure mods now to change the pk3's to temp etc.
All the maps I tried prior to 1.3 never affected pure, neither do they affect it in 1.3; nor should they.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.