File Details

Download this file | Go to files list

Battlefield 2 Server v1.02
ReadMe File
July 14th 2005

Thank you for purchasing Battlefield 2.

This readme file contains last minute information that did not make
it into the manual, as well as more detailed information on various
features already covered in the manual.

Patch Information

- Patch v1.02

Fixed memory leak

- Patch v1.01

Fixed in issue that caused the Multiplayer Browser to become unresponsive.

Fixed an issue where some game controls were not available to be rebound
within the Options menu.

Fixed an issue with increasing performance degradation on servers.

Fixed a problem with shader caching on client/host : after the first
map in a rotation, shaders would be loaded on the fly during gameplay.

Fixed a crash with rebinding LMB

Fixed a problem that caused environment mapping to not appear on
reflective surfaces.

Fixed a crash that happened when a client picks up a kit that doesn't
exist anymore.

Fixed a problem with AI when the game was paused for a long time: bots
would become unresponsive and also shoot more accurately.

LOD distances tweaked on certain objects.

System Requirements


- Minimum Specification, based on playing a 16 player game:
CPU: 1 Ghz Processor
RAM: 256 Mb

- Recommended Specification, based on playing a 64 player game:
CPU: 3 Ghz Pentium 4 or Athlon XP, or a 1.8 Ghz 64-bit Opteron.
RAM: 1 Gb


- Minimum Specification, based on playing a 16 player game:
CPU: 1 Ghz Processor
RAM: 384 Mb

- Recommended Specification, based on playing a 64 player game:
CPU: 3 Ghz Pentium 4 or Athlon XP
RAM: 1 Gb


- Minimum
2.5 Mbit

- Recommended

As always if you can increase any of the above hardware you will
improve your overall gameplay experience.


The use of a software firewall on the server is not recommended,
as it can adversely affect server performance and the overall
gameplay experience.

Hard Drive Space

To install the Battlefield 2 Server you will need approximately 175 Mb
free hard disk space, plus space for saved games. Additional space
is required for DirectX 9 installation.

In addition to the installed game, Windows will require additional
free hard drive space for its operating system (virtual memory).

If you encounter the following message in an error dialog:

"Ran out of virtual memory"

Free up some more hard drive space.


Hosting a Battlefield 2 Server
In order to host a Battlefield 2 server, you must have the following ports open
in your firewall.

Server Ports:

UDP 27900
UDP/TCP 29900
TCP 80
TCP 4711
UDP 27901
UDP 1500-4999
UDP/TCP 1024-1124
UDP 29900
UDP/TCP 27900
UDP 16567
UDP 55123-55125



- mapList.list
Every map on the server has an ID number, which is used for
voting to change maps. This command lists those numbers,
the map name, game mode and the number of players if specified.

- mapList.configFile
Used to specify the location of the _mapList.con
The default is \My Documents\Battlefield 2\ServerConfigs\

- mapList.load
Makes the server reload the _mapList.con

Saves the current map list on the server to the file _mapList.con

- mapList.mapCount
Shows the total number of maps in the current map list

- mapList.currentMap
Shows the map list ID number of the current map being played

- mapList.clear
Clears the current map list.
Warning: If there are no maps in the map list when the server starts
loading a new map, all clients will be left on the loading screen.

- mapList.remove
Removes the map you specify from the map list

- mapList.append [number of players]
Add a new map to the end of the map list.
You must specify the map name and the game mode. Number of players
is optional, if not specified will default to the current server

- mapList.insert [number of players]
Exactly the same as mapList.append, but with this command you can
specify at what map ID number to insert the new map into the list at.


- admin.listPlayers
Lists the players connected to the server.
This command lists the players ID number, their player name and if
the player is remote it also lists the players IP number.
The players ID number is also available on the Scoreboard / Manage Tab

- admin.runNextLevel
Forces the server to end the round and start the next map in the map

- admin.currentLevel
Shows the map list ID number for the current map being played.
The same as mapList.currentMap.

- admin.nextLevel
Shows the map list ID number for the next map to be played.

- admin.restartMap
Restarts the current map.

- admin.banPlayer [timeout]
Enter the player ID number you would like to ban. Bans the player from
this server by using their IP address.
You can choose from a selection of time outs:
- Entering 'perm' means that the ban is permanent. This is the default
if no time out is entered.
- An integral number meaning the number of seconds the ban will be
active (i.e. 3600 means one hour).
- Entering 'round' means the ban is active until the next map.
- A whole number preceded by a colon (i.e. :1234567), meaning the
epoch expiration time of the ban (number of seconds since 1 Jan 1970).

- admin.banPlayerKey [timeout]
Enter the player ID number you would like to ban. Bans the player from
this server by using their CD key hash.
You can also specify a time out. See admin.banPlayer for the time out

- admin.addAddressToBanList [timeout]
Enter the IP number you would like to ban.
You can also specify a time out. See admin.banPlayer for the time out

- admin.addKeyToBanList [timeout]
Enter the CD key hash you would like to ban.
You can also specify a time out. See admin.banPlayer for the time out

- admin.removeAddressFromBanList
Enter the IP address you would like to remove from the ban list.

- admin.removeKeyFromBanList
Enter the CD key hash you would like to remove from the ban list.

- admin.clearBanList
Clears all ban lists.

- admin.listBannedAddresses
Displays a list of the currently banned IP addresses.

- admin.listBannedKeys
Displays a list of the currently banned CD keys.

- admin.kickPlayer
Enter the ID number of the player you would like to kick.


To setup remote console access to the server:

- On the server create a new plain text document in \admin\ called default.cfg
- Enter the following text into the new file:


- Save the file, and start the server.

Now you can access the server remotely by using the following commands
from a client:

- rcon login
Use this command to login to the server.

- rcon users
This command lists all the users connected to the server.
Very similar to admin.listPlayers

- rcon exec
Replace with a console command you would like to
execute on the server.
For example: rcon exec admin.kickPlayer 3

For more advanced server management features we recommend you download
one of the many server management tools available for Battlefield 2.



Battlefield 2 supports running a remote VoIP server. Running the VoIP
server remotely takes load off the main game server, and so increases


In the Battlefield 2 Server Launcher:

- VoIPEnabled
Enables VoIP in Battlefield 2.

- VoIPServerRemote
Enable this if you would like to run VoIP via a remote server.

- VoIPServerRemoteIP
Enter the IP address of the remote VoIP server.

- VoIPServerPort
Specifies the Battlefield 2 server socket used to communicate with the
Remote VoIP Server.

- VoIPBFClientPort
Specifies the Battlefield 2 client socket used to communicate with the
Remote VoIP Server.

- VoIPBFServerPort
Specifies the socket on the Remote VoIP Server used to communicate
with the Battlefield 2 client and the Battlefield 2 server.

- VoIPSharedPassword
Here you can specify a password to be used to access the VoIP server.

- VoIPQuality
Here you can specify the VoIP quality. Higher values will increase
the quality of the transmitted sound, and will also require more
- LAN servers started via the front end have a default quality setting
of 5, the highest.
- The Battlefield 2 Server Launcher defaults to a quality setting of 3.
This is best for internet games. For LAN games you can increase this
to improve the transmission quality.

The Battlefield 2 Standalone VOIP Server can be installed on a separate
machine by following the install procedure; select custom install and
select BF2 VOIP server.

You may need to edit the 'voip.con' file on the standalone VoIP
server. By default this file contains:

55125 no_password

- '55125'
This is the default port assignment the Battlefield 2 Server will use
to communicate with the Standalone VoIP Server. This number must match
the one in VoIPServerPort, set in the Battlefield 2 Server Launcher.

- 'no_password'
This password must match the one set in VoIPSharedPassword in the
Server Launcher.


You can have multiple instances of the Battlefield 2 Server connected to
the Battlefield 2 Standalone VoIP Server. To do this you must ensure
that each instance connects via an unique port. For example:

- Instance 1
VoipServerPort 55127
VoipBFClientPort 55128
VoipBFServerPort 55129

- Instance 2
VoipServerPort 55130
VoipBFClientPort 55131
VoipBFServerPort 55132



The BattleRecorder allows a round to be recorded and distributed.
The system is very flexible, and the current implementation can be easily
changed. We recommend you have a good knowledge of Python before you
edit the scripts used here.

There are two components to BattleRecorder. First is the Dedicated Server

The Dedicated Server Launcher requires the following information:
- AutoRecord
Set AutoRecord to on to enable the BattleRecorder. Every round played
on the server will now be recorded to a file.

- DemoDownloadURL
This is the URL that will be passed to all the connected clients at the
end of the round. This is the URL that the Battlefield 2 front end will
try and download the demo file from when the user selects 'download'.
The demo file must be in the directory specified in the URL, or the
demo download will fail.

- AutoDemoHook
The server runs this script at the end of every round where AutoRecord
is enabled. Note that the exe ending is only relevant for the
windows-server, on linux it can be any executable file. A python script,
for instance.

The second component to BattleRecorder is the script that is run when a
round ends. This script can be rewritten or replaced as needed. The
Battlefield 2 server will simply attempt to execute the script specified
in AutoDemoHook at the end of each round.

The default script, called auto_rotate, was written in Python and then
built in to an executable.

The Python script can be found here \adminutils\demo\

The script will move a BattleRecorder file from the server to a new local
location, or to an FTP site. You can also specify the number of files to
keep archived.

The script is configured using a configuration file, called
'auto_rotate.cfg', found in the root of the Battlefield 2 installation
root directory.

In this file you can configure:

- file_limit =
Use this value to set the number of BattleRecorder files you would like
to keep available. The default is 30. Once the limit is reached, a new
file will replace the oldest one.

- target_root =
If you intend to transfer to a local directory, enter the path here.

- use_ftp =
Set this to 1 if you wish to FTP the DemoRecorder file to a new

- ftp_target_dir =
Enter the path on the FTP site where you want the DemoRecording
transferred to.

- ftp_server =
Enter the URL or IP of your FTP server.

- ftp_user =
Enter your FTP sites login username.

- ftp_password =
Enter the password for your login account.


DemoRecorder files become larger as you increase the number of players
and the ticket allocation. For a round with 64 players with 250 tickets
on each side, you should expect a file size of around 10-12 Mb.

Useful Web Sites

Windows Update:
Keep your Windows installation up to date.

The Official Battlefield 2 Website:
Check here for the latest news.

Digital Illusions:
The Developer's homepage.

DICE Copyright

Copyright 2002-2005 Digital Illusions CE AB.


Download this file | Go to files list