Battlefield 2 Tweak Guide

[Page 8] Advanced Tweaking (Pt.2)



This section covers all the Battlefield 2 Console Commands which have been discovered so far, and the known descriptions. To access the BF2 in-game console, press the '~' key (or the key above TAB) to open/close the console. To see the list of command categories, press the TAB key twice. To see particular sub-types, enter the start of the command press TAB twice. E.g. enter renderer, then press TAB twice to see the renderer sub-class of commands. The following are working commands in BF2 sorted by category:


Click to enlarge

Renderer Commands


renderer.drawHud [0,1] - Turns the Heads Up Display (HUD) on or off.

renderer.drawConsole [0,1] - Turns off access to the in-game console if set to 0.

renderer.drawFps [0,1] - Displays the current frames per second (FPS) and the time in milliseconds between frames.


Game Commands


game.sayAll [string] - Says the specified text in global chat

game.sayTeam [number] [string] - Says the specified text in team chat

game.lockFps [framerate] - Caps the game's maximum framerate to specified number

game.allowToggleFullscreen [0,1] - If set to 1 allows toggling of fullscreen/windowed mode

game.toggleFullscreen - Toggles between fullscreen and windowed mode


Demo Commands


demo.recordDemo [demoname] - Starts recording current gameplay and saves the file as demoname.bf2demo in your \Program Files\EA Games\Battlefield 2\mods\bf2\Demos directory

demo.stopRecording - Stops current demo recording

demo.ShutdownDemo - Stops and closes down current demo run


Localprofile Commands


localProfile.setName [name] - Shows/Sets the name for your current account

localProfile.setNick [nick] - Shows/Sets the nickname for your current account

localProfile.setGamespyNick [GameSpyNick] - Shows/Sets the GameSpy login name for your account

localProfile.setEmail [email account] - Shows/Sets the email account for the current account

localProfile.setPassword [password] - Shows/Sets the password for the current account

localProfile.setNumTimesLoggedIn [number] - Shows/Sets the number of times the player has logged in with the current account

localProfile.setTotalPlayedTime [seconds] - Shows/Sets the time the game has been played using the current account

localProfile.save -

localProfile.addDemoBookmark [ ] - Adds a bookmark to a Battlerecorder demo


Globalsettings Commands


globalSettings.setDefaultUser [number] - Sets the profile to use, the first one being 0001, then 0002 etc.


Sv Commands


These commands are used to adjust server settings, particularly in the Serversettings.con file under your \Documents and Settings\[username]\My Documents\Battlefield 2\Profiles\[profile]\ directory.


sv.allowNATNegotiation [0,1] -

sv.interface -

sv.timeBeforeRestarting [0,1] -

sv.autoBalanceTeam [0,1] -

sv.teamRatioPercent [0,1] -

sv.autoRecord [0,1] -

sv.demoIndexURL [address] -

sv.demoDownloadURL [address] -

sv.autoDemoHook -

sv.demoQuality -

sv.adminScript -

sv.sponsorText -

sv.sponsorLogoURL [address] -

sv.communityLogoURL [address] -

sv.radioSpamInterval -

sv.radioMaxSpamFlagCount -

sv.radioBlockedDurationTime [seconds] -

sv.useGlobalRank [0,1] -

sv.useGlobalUnlocks [0,1] -

sv.friendlyfirewithmines [0,1] -


Gamelogic Commands


gameLogic.togglePause - Toggles pausing the game.


Settingsmanager Commands


These commands set a range of variables. E.g. SettingsManager.boolSet GSUseObjectCache 1. The command used must match the type of variable (e.g. .boolset for Boolean variables, .IntSet for variables requiring integer input, etc.)


SettingsManager.stringSet -

SettingsManager.boolSet -

SettingsManager.IntSet -

SettingsManager.floatSet -

SettingsManager.u32Set -

SettingsManager.stringGet -

SettingsManager.boolGet -

SettingsManager.intGet -

SettingsManager.floatGet -

SettingsManager.U32Get -


Inputdevices Commands


InputDevices.setInvertAxis -

InputDevices.setAxisScale -


Controlmap Commands


These settings should be used in the Controls.con file under your \Documents and Settings\[username]\My Documents\Battlefield 2\Profiles\[profile]\ directory.


controlMap.deleteControlMap -

controlMap.dump -

controlMap.setButtonRiseTime -

controlMap.SetButtonFallTime -

controlMap.SetDoubleTapTime -

controlMap.addAxisToAxisMapping [string] -

controlMap.addButtonsToAxisMapping [string] -

controlMap.addKeyAndButtonToAxisMapping [string] -

controlMap.addKeysToAxisMapping [string] -

controlMap.addButtonToTriggerMapping [string] -

controlMap.AddKeyToTriggerMapping [string] -

controlMap.setAxisScale -

controlMap.setYawFactor -

controlMap.setPitchFactor -

controlMap.addAxisToTriggerMapping -

controlMap.InvertMouse [0,1] - Set to 1 for inverted mouse, 0 for default mouse

controlMap.mouseSensitivity [number] - Determines the sensitivity of the mouse

controlMap.keyboardSensitivity [number] - Deterimes the sensitivity of the keyboard


Maplist Commands


These commands are used to manage lists of maps by server administrators.


mapList.list - Lists map ID numbers, map name, game mode and the number of players if specified.

mapList.configFile [new location for file] - Used to specify the location of the _mapList.con file. Default is \My Documents\Battlefield 2\ServerConfigs\

mapList.load - Makes the server reload _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

mapList.remove [map ID number] - Removes the specified map from the map list

mapList.append [map name] [game mode] [number of players] - Add a new map to the end of the map list. You must specify the map name and game mode.

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


Cheat Commands


These commands allow several cheats to work, but only in Singleplayer mode


aiCheats.code TheAllSeeingEyeOfTheAIProgrammer - AI Stat Toggle

aiCheats.code BotsCanCheatToo - Bots Cheat

aiCheats.code Tobias.Karlsson - Invincibility

aiCheats.code Thomas.Skoldenborg - Kill Bots

aiCheats.code Jonathan.Gustavsson - Kill Enemy Bots

aiCheats.code WalkingIsWayTooTiresome - New Spawn Location


Admin Commands


These commands are used by server administrators.


admin.listPlayers - Lists the players connected to the server, showing their name, ID number and IP number.

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.

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

admin.restartMap - Restarts the current map.

admin.banPlayer [player ID number] [timeout] - Enter the player ID number you want to ban. Bans the player from the server by using their IP address. The timeout value controls the length of the ban e.g. perm for permanent ban, round to ban them for the rest of the round, and 180 is 180 seconds (3 minutes).

admin.banPlayerKey [player ID number] [timeout] - Enter the player ID you want to ban. Bans the player from the server by using their CD key hash.

admin.addAddressToBanList [IP address] [timeout] - Enter the IP number you want to ban.

admin.addKeyToBanList [CD key hash] [timeout] - Enter the CD key hash you want to ban.

admin.removeAddressFromBanList [IP address] - Enter the IP address to remove from the ban list.

admin.removeKeyFromBanList [CD key hash] - Enter the CD key hash you want 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 [player ID number] - Enter the ID number of the player you want to kick.


Remote Console


These commands are used by server administrators.


To setup remote console access to the server, onthe server create a new plain text document in \admin\ called default.cfg and 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 [YourPassword] - 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 [command name] - Replace with a console command you would like to execute on the server. For example: rcon exec admin.kickPlayer 3


Exit - Quits the game to desktop.



That covers the known command list. If you know precisely what a particular command above does (no guesses please), please Email Me and after testing them I will add them to this guide.



The next page concludes the guide with some neat tweaks you may find useful.