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