
                      [WF Server Setup for Weapons Factory 3.3]
                                
 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 server =-

 If you need some basic information on how to set up a generic Quake2 server, 
visit http://templars.digiweb.com/q2s-faq/index.html

We recommend the news group "rec.games.computer.quake.servers". Here you can 
post server questions and seek answers.

Also you can subscribe to the Q2 server mailing list.

  -= Downloading the Weapons Factory server software -=

 You 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 3.3 -=

    * New WFFLAGS setting: WF_ZBOT_DETECT
    * Removed WFFLAGS setting: WF_NO_RAILGUN_EFFECT
    * New CVAR variable: "floodertime" (see FLOOD CONTROL section)
    * New CVAR variable: "noclass" (see CONTROLLING PLAYER CLASSES section)

  -= Configuring a Quake server for Weapons Factory =-

 1) 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

 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 corectly you MUST copy all the teamx.class files
into your quake2\wf directory. By default the Team9 class layout is
loaded.

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


 6) Add GameSpy support. See GameSpy section below.


  -= Unbalanced Team Limits =-

 You can now prevent unbalanced teams from being able to capture the flag
by using a new console command:

      SET UNBALANCED_LIMIT n

where n is the number that determines how unbalanced the teams can be
before the flag pickups are disallowed.

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 Banning =-

A 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.

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, subnet masks other than those using the last number of the
ip address are not supported. For example, you can not ban all 199.111.*.*
players.

  -= Map Rotations =-

The 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) Include the names of the maps you wish to use in the wfserver.ini
file. A sample is shown here:

              [maplist]
              q2ctf2
              q2ctf5 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 regualr rotation, it must be voted into use.

 3) From the server console, or via rcon access, execute the following command:

      sv maplist ctf\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 ctf\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:

 sv maplist off

  -= Message of the Day =-

As 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 - 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

Then the first line would appear in green, the second would be white.

  -= GameSpy Support -=

To 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.

Most players will use the WF Custom Gamespy Tab.

You should also put "(WF)" in your server name. This will help older
GameSpy tabs find your server.

  -= Turning off CTF =-

It 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!

  -= WF Flags =-

A 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:

      set wfflags 8

The number at the end is determined by adding the option values together. The
values are:

         WF_ALLOW_FRIENDLY_FIRE  1
         WF_STD_LOGGING          2
         WF_NO_FORT_RESPAWN      4
         WF_NO_HOMING            8
         WF_NO_FLYING           16
         WF_DECOY_PURSUE        32
         (unused)               64  (new) (Was WF_NO_RAILGUN_EFFECT)
         WF_NO_TURRET          128
         WF_NO_EARTHQUAKE      256
         (unused)              512
         WF_MAP_VOTE          1024
         (unused)             2048
         WF_ZOID_FLAGCAP      4096
         WF_NO_PLAYER_CLASSES    8192
         WF_ZBOT_DETECT      16384  (new)

 so, to turn off flying and homing rockets, you would type:

      set wfflags 24

 since 8 + 16 = 24.

Here are the detailed explainations 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.log in the quake2\wf directory. The file will be in
standard log format used by programs such as GibStats.

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_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.txt file.

  -= Flood Control (New) =-

WF 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 Classes (NEW) =-

It 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 wfflags 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.

 -= Support =-

Email support can be obtained from the WF contacts page.

If you are having configuration problems be sure to include your
server.cfg in your mail message.


http://www.captured.com/weaponsfactory/
