======================================================================== Battlefield 2™ Server v1.01 ReadMe File March 29th 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.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 ======================================================================== LINUX - 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 WINDOWS - 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 BANDWIDTH - Minimum 2.5 Mbit - Recommended 5Mbit As always if you can increase any of the above hardware you will improve your overall gameplay experience. FIREWALL 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. ======================================================================== CLIENT AND SERVER PORTS ======================================================================== 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 ======================================================================== SERVER ADMIN COMMANDS ======================================================================== MAPLIST COMMANDS: - 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 - 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 can specify at what map ID number to insert the new map into the list at. ADMIN COMMANDS: - 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 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 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 out list. - 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. REMOTE CONSOLE ACCESS: 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: port=4711 password=YourPassword - 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. ======================================================================== VoIP ======================================================================== STANDALONE VoIP SERVER Battlefield 2 supports running a remote VoIP server. Running the VoIP server remotely takes load off the main game server, and so increases performance. SETUP 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 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. MULTIPLE INSTANCES 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 ======================================================================== BATTLE RECORDER ======================================================================== USAGE 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: - 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\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 new location. - 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. NOTES 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: http://windowsupdate.microsoft.com Keep your Windows installation up to date. The Official Battlefield 2 Website: http://battlefield2.ea.com Check here for the latest news. Digital Illusions: http://www.dice.se The Developer's homepage. ======================================================================== DICE Copyright Copyright © 2002-2005 Digital Illusions CE AB. ALL RIGHTS RESERVED. ========================================================================