Weapons Factory Server Setup DocumentationSee What's New for 4.0The Weapons Factory Server Admin Discussion Board is the place to go for WF Server Admin questions. If you have a high-bandwidth connection and would like to start up your own Weapons Factory server, the instructions below will tell you how. Setting up a Quake serverIf you need some basic information on how to set up a generic Quake2 server, visit http://www.planetquake.com/q2s-faq Admins using Linux may want to check http://www.linuxquake.com We recommend the news group "rec.games.computer.quake.servers". Here you can post server questions and seek answers. Also you can subscribe to this Q2 server mailing list. Downloading the Weapons Factory server softwareYou will need the current Weapons Factory server software to proceed. Do not unzip the file before reading the configuration instructions below. Download problems? If you have any trouble downloading from the links below, go to this site: ftp://ftp.cdrom.com/pub/idgames2/planetquake/captured/weaponsfactory/ . You'll have to make a note and download the individual files that you need.
What's New in 4.0
What makes a good server?
Configuring a Quake server for Weapons Factory1) To run the Weapons Factory mod, you must first install and configure a standard Q2 server. Q2 updates can be found at ftp://ftp.cdrom.com/pub/idgames/idstuff/quake2 . Be sure to install the binaries with the CTF option. If you are upgrading, be sure to copy your server config file and wfserver.ini file to a safe location, or they will be overwritten. 2) Make a "wf" subdirectory off your Quake2 directory. 3) Download the WF server AND client files, and unzip into the quake2\wf directory. 4) Download and unzip all required maps into the quake2\wf\maps directory. 5) Read all the documentation below 6) To get WF working correctly you MUST copy all the teamx.class files into your quake2\wf directory. By default the Team9 class layout is loaded. Special Linux/Unix Installation InstructionsA few additional steps are required to get Weapons Factory working under Linux or Solaris. You'll get the best results by running your server under the root login. If you are upgrading, be sure to copy your server config file and wfserver.ini file to a safe location, or they will be overwritten. 1) As with NT, you must first get and configure a standard Quake2 server. Be sure to install the binaries that include the CTF option. 2) Make a "wf" subdirectory off your Quake2 directory. 3) Download the WF server and Client files. The server files come in both *.tar.gz and *.tar.Z flavors. 4) Uncompress the server files by copying the archive into the Quake2 directory. Type the following command to uncompress the binaries into the WF directory: zcat wfserver34.tar.gz | tar xvf - 5) Now, copy the Client files into the WF directory. Uncompress the archive by typing: unzip wfclient34.zip 6) Now that the files are uncompressed, change the ownership of the files to the root user. Change to the WF directory, and type: chown root.root * 7) Check to be sure all files are named with lower case letters. Setting Game OptionsIncluded in the WF distribution files, is a sample server configuration file server.cfg - You should use this file to preserve your settings so that you won't have to re-type them each time you start the server. See the section on server config files below. Most of the game options listed below can be set in the config file. WF Flags OptionsA new server variable called WFFLAGS can be used to control gameplay. It is used the same way that the dmflags variable is used. To set the variable, simply add a "+set" statement in your command line, or execute a "set" command in the console window. For example, to turn off homing rockets, you would type:
The number at the end is determined by adding the option values together. The values are:
So, to turn off flying and homing rockets, you would type:
since 8 + 16 = 24. Here are the detailed explanations for each flag: DF_ALLOW_FRIENDLY_FIRE - If set, this will allow homing rockets, laserballs, proximity bombs to target teammates. It will also allow the decoys their owners. WF_STD_LOGGING- If set, all frags and scores will be written to a frag log file called std_xxxx.log (where xxxx is the IP port number of the server) in the quake2\wf directory. The file will be in standard log format used by programs such as GibStats. Note: use the "+set logfilename xxxx.xxx" command to change the name of the log file name. This is usefull for admins running multiple wf servers on different ports. DF_NO_FAST_WEAPONS_SWITCH - If set, this will turn OFF fast weapons switching WF_NO_FORT_RESPAWN - Turns off spawning in own fort WF_NO_HOMING - Turn off homing rockets WF_NO_FLYING - Turns off ability to fly WF_DECOY_PURSUE - will let the decoy chase after an enemy WF_NO_TURRET - Turns off turret grenades WF_NO_EARTHQUAKE - Prevents any earthquake grenades (Disabled anyway) WF_NO_GRAPPLE - Turns off grappling hooks WF_MAP_VOTE - Allows players to vote for the next map. A one minute warning will be given before the end of the level to remind players to vote. WF_ZOID_FLAGCAP - Allows you to turn off Team Fortress style flag captures and set it back to normal CTF flag capture mode. WF_NO_PLAYER_CLASSES - If set, this will turn OFF player classes. WF_ZBOT_DETECT - If set, the server will attempt to detect ZBOT users. If detected, the user will be disconnected from the server, and a log entry will be written to the zbot.log file. WF_AUTO_TEAM_BALANCE- Turns on automatic team balancing Setting Gamestyle (Class Definitions)If you want a diffrent class system simply load that class file after the server has started via the console, or via rcon access, like so: sv classdef <file> Example: sv classdef team3.class The above would load the old WF2.1B 3 class style class system. The provided class files are: team3.class - Old WF2.1B style team6.class - 6 classes, well armed team9.class - True TF style classes
NEW Team BalancingTeam Balancing is a server option (WFFLAG |= 32768) that seeks to balance the damage players receive based on the current team score (captures only, not frags). It is only active when either team has at least three captures. It works by adding or subtracting 10% of the damage for each point difference. It is not noticeable until the point difference is at least 3 or 4. When it gets to 8 or 9, it rocks. Examples: Your team is down 3 points, you will receive 100% - 30% = 70% damage Your team really sucks and is down 15 points, Your team is winning by 6 points, you will receive 100% + 60% = 160% This has undergone extensive play testing on out internal LAN. It stopped the whining about teams. Unbalanced Team LimitsYou can now prevent unbalanced teams from being able to capture the flag by using a new console command: SET UNBALANCED_LIMIT n
For example, lets say you set the unbalanced_limit to 3. If the blue team has 3 or more players greater than the red team, the blue team will not be able to pick up the red flag. The default setting is 0, which means no limit will be imposed. Note that setting this value should be dependant on the max players you allow for your server. For example, if you run 64 players on a server, you would probably want to set the unbalanced limit higher, say to 5. For smaller servers, you may want to set the limit to 2 or 3. IP BanningA set of new server commands have been added to allow server admins to ban specific users based on their IP address. The commands have the same format as id's CTF mod. They are: sv addip (ip address) - adds an ip address to the ban list sv removeip (ip address) - removes an ip address from the ban list sv writeip - writes the ban list to ban list file sv listip - lists the currently banned ip addresses sv testip (ip address) - test a given ip address against the ban list Each time an ip address is added or removed from the ban list, the list is written to the ban file located in the quake2\wf directory (called listip.cfg). Therefore, the writeip command is not really needed. The listip.cfg file can be edited directly outside the game. A new CVAR called "FILTERBAN" can also be set to change the behavior of the ban list. By default, filterban is set to 1 which means that any person with an ip address in the ban list will not be allowed to play. If you set filterban to 0, it means that ONLY people with ip address in the ban list will be allowed to play. You can also ban a group of players on the same subnet. For example, if you wish to ban all players that have ip addresses starting with 199.111.222, just set the last number in the ip address to zero, like this: sv addip 199.111.222.0 This one entry would ban 199.111.222.1 through 199.111.222.255. At this time, subnets other than those using the last number (octet) of the ip address are not supported. For example, you cannot ban all 199.111.*.* players. Since many players log on to ISP's that use dynamic IP addressing, it is often necessary to ban an entire network in order to prevent that user from merely logging off, and logging back on again with a new ip - at which time he can get into your server if you don't ban the whole network number. Map RotationsThe Weapons Factory now supports map rotations. To enable this feature, do the following: 1) Create a file called wfserver.ini (if there isn't one) in the quake2\wf directory. 2) Inlude the names of the maps you wish to use in the wfserver.ini file. A sample is shown here: [maplist] 2fort7wf eight v ### The file must start with the "[maplist]" line, and end with the "###" line. The "v" after a mapname means that map is only "votable" and will not be loaded by the server in regular rotation, it must be voted into use. You must ensure that EVERY map is spelled exactly. Errors in the maplist will cause the game to crash at map change. On unix systems, mapnames are case-sensitive. Do not add the .bsp file extension to the list entry. 3) From the server console, or via rcon access, execute the following command: sv maplist wf\wfserver.ini This will load the map rotation preferences. If you wish to have random map selections, load the map list like this: sv maplist wf\wfserver.ini 1 The 1 at the end will force random map selection. 4) When a fraglimit, capturelimit or timelimit is reached, the next map in the rotation will be executed. Details: sv maplist - if no list loaded, shows syntax if list is loaded, shows maps in list sv maplist <filename> <flag> - Loads map list from <filename> if <flag> = 1, maps will be randomly selected sv maplist first - Selects first map in list sv maplist next - Selects next map in list 5) You can disable the map list without shutting down the game. For example, if
you've added or revised a map, you can disable the map list, revise the wfserver.ini file
and reload the maplist without restarting the game. The command is: Message of the DayAs a game server administrator, you can insert custom messages into the first menu displayed to the user. To do this, create a file called "motd.txt" (or see the example one included) and put it in the \quake2 directory. The first two lines of the file will be used as the first two lines of the first menu text. You should try to keep each line to 27 characters or less, otherwise it wont fit on the menu graphic. You have your choice of colors for the text - as long as they are white or green. To use white text you don't have to do anything special. For green text, simply put a "*" as the first character of the line. For example, if the following lines are entered into the motd.txt file: *Reno Bros Server Weapons Factory Mod v4.0 Then the first line would appear in green, the second would be white. GameSpy SupportTo make your server show up in gamespy, you need to have it send periodic messages to a Q2 master server. To do this, enter the following lines into the console, or add them to your startup script: set public 1 setmaster q2master.planetquake.com NOTE: This will only work for dedicated servers, make sure you are running Weapons Factory from your quake2/wf directory or your server will NOT show up in the GameSpy tab. If your server is down more than a few minutes, it will be removed from the active master server lsit, and users will not be able to see it. Please note, that users often update their lists only occaisionally. Therefore, you should not expect your server to become instantly popular. It may take a few days for the players to find you. Most players will use the WF Custom Gamespy Tab. Here is the Planet Quake Server List. Voyager has set up a Weapons Factory server list for Gamespy. Follow this link to add your WF server to the server list page, scroll down, you need to send an email to shryqe. You should also put "(WF)" in your server name. This will help older GameSpy tabs find your server. Turning off CTFIt is possible to turn the Weapons Factory CTF mod into a pure deathmatch mod. This will remove the flags, teams, and team scoring. To do this, add the following option at startup: +set ctf 0 Thats it! Flood ControlWF has built in flood control to limit how fast players can type messages. Without this control, players can flood servers with messages which can cause lag. A new CVAR server variable was create to control message flooding. To set how long a player must wait between messages. For example, if can add the following to your startup command line: +set floodertime 8 This will set the flood protection time to 8, so players have to wait 8 seconds between messages. The default is 5 seconds. Setting floodertime to 0 will disable flood protection. You can also use the set command without the "+" sign in your startup config file like this: set floodertime 2 NOTE: The flood control also works with the wfplay and wfplay_team commands to prevent players from flooding the server with sound commands. Controlling Player ClassesIt is now possible to control which player classes are used on the server by setting the CVAR server variable "noclass". To set the variable, simply add a "+set" statement in your command line, or execute a "set" command in the console window. For example, to turn off class #4, you would type: set noclass 8 The number at the end is determined by adding the option values together. The values are: NO_CLASS#1 1 NO_CLASS#2 2 NO_CLASS#3 4 NO_CLASS#4 8 NO_CLASS#5 16 NO_CLASS#6 32 NO_CLASS#7 64 NO_CLASS#8 128 NO_CLASS#9 256 NO_CLASS#10 512 NO_CLASS#11 1024 NO_CLASS#12 2048 NO_CLASS#13 4096 NO_CLASS#14 8192 so, to turn off class #2 and #8, you would type: set noclass 130 since 2 + 128 = 130. Note that classes are defined by number instead of name like "spy" or "sniper". This is because different class configurations have different classes. However, if you are using the team9.class configuration, you can use these settings: NO_RECON 1 NO_NURSE 2 NO_ENGINEER 4 NO_MARINE 8 NO_CYBORG 16 NO_ARSONIST 32 NO_GUNNER 64 NO_SNIPER 128 NO_SPY 256 With the new "noclass" settings, you can come up with unique configurations like "snipers only" or "flame wars" with the arsonist. Anti-ZBot ProtectionZBot is a program that helps players cheat in Q2 games by auto-aiming and firing their weapons. Some of the big advantages the ZBot has over human players is that it can see through walls, and fire the instant they have a clear shot. The way ZBot works, is that it intercepts commands from the player, and either passes them on to the server, or interprets them itself. The ZBot-specific commands either start with "!", or "impulse". These are used to control the ZBot, and are not passed on to the server. The way the detection works, is that it passes a ZBot-specific command to the client, and then waits to see if that command is passed back to the server. If the server does not receive the command, it assumes that the player is a zbot user. Older versions occaisionally incorrectly identified users with poor network connections as ZBot users. Weapons Factory uses a newer version of the code that takes poor network connections into account, resulting in very few false detections. Using Server Config FilesServer configuration files store all your game settings in one place, and make it simple to run your server with consistant settings from game to game. This will be important to your users, who may become irrritated if you experiment too often with game settings. The Weapons Factory distribution comes with a sample server configuration file called server.cfg. This file contains a basic configuration that you can use as a template to set up your own server config file. NOTE: Do not name your actual working server config file server.cfg. Choose a name that will be difficult to guess, since knowledgable users may be able to download your config file if it is easily guessed. Your config file name can be passed to the server on the command line. Here's an example command line to give you an idea (NT version) quake2 +set dedicated 1 +set game wf +set port 27910 +exec server.cfg +set noipx 1 Here's a Linux version (runs in background. To run on console, use same command as the NT version): nohup ./quake2 +set dedicated 1 +set game wf +set port 27910 +set gamename wf +exec server.cfg +set noipx 1 > /dev/null & Editing the Config FileOpen the file in a convienient text editor, and change it to reflect your desires. You can enter comments in the file by starting the line with 2 / characters. //This is a comment line We recommend that you do not change the dmflags setting. You may get unexpected results. First, set the wfflags variable. 17442 is a good starting setting (this will also enable frag logging and zbot protection. To disable frag logging, use 17440). Next, edit the Hostname, FTP, admin, system, inet, and os variables to reflect your servers information. These values will be visible in gamespy. Do not change the deathmatch variable unless you fully understand the settings. Now, edit the maxclients variable. This setting will determine the number of players that can play at one time on your machine. Resist the temptation to set this too high. Overdoing it will make your server "laggy" to your players. Next, edit the following variables. fraglimit (number of frags before the map will change -
try 150 for a start) Leave the zombietime variable alone. If you want to have rcon access available, add the following line: set rcon_password mypassword Finally, add a line to load your maplist: sv maplist wf/wfserver.ini 1 (the 1 will enable random map selection if no votes were received.) That should do it. Now save the file, and don't forget to use the name you saved it as on the command line when you start the game. See sections above for additional variables that can be set, or for other values for these settings. SupportEmail support can be obtained from the contacts page. If you are having configuration problems be sure to include your server.cfg in your mail message. Here is a demo server.cfg file.
|