[Guide] Make BF-2 Server {linux}


Well-Known Member
Apr 13, 2008
Reaction score
Battlefield 2, Standalone Demo Server Linux

Linux Standalone Demo Server

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



* 2.5 Mbit


* 5Mbit

As always if you can increase any of the above hardware you willimprove 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 overallgameplay experience.

Hard Drive Space

To install the Battlefield 2 Server you will need approximately 50 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.



- mapList.list
Every map on the server has an ID number, which is used forvoting 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.conThe default is \My Documents\Battlefield 2\ServerConfigs\

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

- mapList.save
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 setting.

- mapList.insert [number of players]
Exactly the same as mapList.append, but with this command you canspecify 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 list.

- 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 theepoch 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 list.

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

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

- 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 toexecute 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 performance.


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 bandwidth.
- 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 VoIPserver. 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 theServer 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 Launcher.

The Dedicated Server Launcher requires the following information:
- AutoRecordSet 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\rotate_demo.py

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

- ftp_target_dir =
Enter the path on the FTP site where you want the DemoRecordingtransferred 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.

Headoff :)

Soon translated to BG must Fix my Flex Type :D
I will search a guide for windows but i think windows is like sething up Counter-Strike Server :p