Battlefield 2 Tweak Guide
[Page 7] Advanced Tweaking
Config Files
Aside from the in-game settings, Battlefield 2 has a large number of config (.con) files spread throughout its directories. These files can be edited using a text editor like Windows Notepad or Wordpad. Before editing any .con file, first make sure you make a backup copy of it.
However as you may have noticed, editing many of these .con files can prove pointless as the changes seem to have no impact. I have found that the main configuration files which do have an impact are found under your \Documents and Settings\[username]\My Documents\Battlefield 2\Profiles\ directory, with the settings for each profile (whether an online or offline profile) are listed under a numbered directory (e.g. \0001 for the first profile, etc.). Note, I don't recommend that you edit the files under the \Default directory. To see which particular profile is currently in use, open the Global.con file under the \Profiles parent directory first, then see which number it mentions, and go to that particular numbered directory to find the files mentioned below.
Most of the settings in these .con files can and should be altered using the in-game options. However there are a few things you can adjust which are unique to the .con files:
Video.con
VideoSettings.setResolution 1280x960@75Hz
This setting controls your current resolution in Battlefield 2. The format is Width x Height@Refresh Rate. If you cannot start up BF2 and change the resolution from within the game, try altering it here to help you startup the game. In particular when you want to launch BF2 for the first time and the game just crashes back to desktop (See Troubleshooting Tips section), you can change the resolution from its default of 800x600@60Hz to one your monitor supports. Note however that certain resolutions are unsupported and entering them here will not work - see the Command Line section further below.
VideoSettings.setTerrainQuality 4
VideoSettings.setGeometryQuality 4
VideoSettings.setLightingQuality 4
VideoSettings.setDynamicLightingQuality 4
VideoSettings.setDynamicShadowsQuality 4
VideoSettings.setEffectsQuality 4
VideoSettings.setTextureQuality 4
VideoSettings.setTextureFilteringQuality 4
All of the above settings can be adjusted from within the in-game Video settings. However the highest they can be set to is High from within the game (a value of 3). By setting them each to 4 in Video.con (as shown above), you will have them displayed as 'Videosettings_Ultrahigh' in the in-game Video settings screen, and some people believe this increases the graphics quality to Ultrahigh levels. I didn't see any impact from this change, but if you want the absolute best quality in BF2 give it a try.
Profile.con
This file contains details of your online account including the username (GameSpyNick), the Email attached to that name, and the Password (encrypted). You can't change these details here - doing so will have no impact on your online account, except maybe cause problems logging on or with Punkbuster. If you want to change your online account name, email, or both, the correct way to do so is by going directly to the GameSpyID site, and first login using your current details. Then change the relevant information, enter the correct password and submit it to save the changes. Then when you return to BF2, enter your new details and retrieve your new account details then login to your multiplayer account.
General.con
GeneralSettings.addServerHistory
This settings show you the last servers you have successfully connected to. This list is handy because it provides the server names as well as the IP Number and Port Number. You can use these details in the Server Browser window to quickly connect to the same server again. The quickest way however is to simply go to the Favorites tab which has a record of the last 20 servers you've played on as well as any servers you've tagged as favorites. See the Multiplayer section of the In-Game Settings section for more details.
Controls.con
This file contains all of the control mappings for actions in the game. The file structure is quite complex, and rather than cover it at length here, I recommend you see this detailed thread on the PlanetBattlefield Forums: Anatomy of Controls.con.
These are pretty much all of the useful things you can do by way of tweaking the .con files which I am aware of. As I mentioned, most of the settings in the .con files can be (and should be) changed using the in-game settings, and many of the settings in the numerous .con files spread throughout the game directories have no impact on the game. In fact there are a whole series of legacy files using the BF1942 file structure in the \Program Files\EA Games\Battlefield 2\mods\bf2 which use old commands no longer used in BF2.
Command Line
There are a range of commands - mainly designed for servers running BF2 - which can be activated via the BF2 command line. You can use these commands by going to your main Battlefield 2 shortcut you use to launch the game, right-click on it and select Properties. Then in the Target box, after the "C:\Program Files\EA Games\Battlefield 2\BF2.exe" +menu 1 +fullscreen 1 text, insert another space, then use any of the commands below. Each command must have a single space between it and the next command.
For example, one of the most commonly requested commands is to run BF2 in 1280x1024 resolution (or another custom resolution) - particularly for LCD displays which display the best image at their native resolution. To do this, change your command line to look like this:
"C:\Program Files\EA Games\Battlefield 2 Demo\BF2.exe" +menu 1 +fullscreen 1 +szx 1280 +szy 1024
Note the addition of the +szx and +szy commands which respectively set the width and height of the resolution to be used. Substitute other values for other resolutions (e.g. +szx 1900 +szy 1200). Also note that as of the 1.03 Patch, 1280x1024 is now a supported resolution and can be selected within the in-game settings, so you don't need to use the +szx/+szy commands to force it anymore.
The following are the known command line commands for BF2, and descriptions where possible:
+dedicated - Start in dedicated server mode
+multi - Allow starting multiple BF2 instances
+joinserver - Join a server by IP address or hostname
+playername - Set the player name
+password - Set the server password when joining a server
+config - Sets path to the ServerSettings.con file to use
+maplist - Sets the path to the MapList.con file to use
+lowpriority - Run the game with slightly lower priority
+loadLevel - Set the level to load
+wx - Position game window on the screen at certain x-position
+wy - Position game window on the screen at certain y-position
+szx - Set resolution width
+szy - Set resolution height
+fullscreen - Start game in full screen mode
+nosound - Start game without sound
+demo - Sets the con-file with demo options
+maxPlayers - Sets max players
+gameMode - Sets the game mode
+modPath - Sets the mod path (default /mods/bf2)
+help - Displays help
+ranked - Allows GamSpy snapshot sending
+playerPassword - Sets the player password
+playNow - Use PlayNow functionality
+port - Specifies the network port to be used
+pbPath - Set the path to use for PunkBuster on multi-instance configs
+hostServer -
+checkForAvailablePatch -
+checkForPatch -
+ai -
As you can see, most of these commands are really only useful for those running BF2 servers, and the descriptions are fairly vague. As I find out more useful commands I will add to this list.
The next page concludes the Advanced Tweaks with a list of known Console Commands.


