Continued from Pt.1
Voice Over IP: If you want to use Voice Over IP (VOIP), select Yes here. VOIP allows you to use a microphone hooked to your computer to speak directly with other Battlefield 2142 players who are on the same server and who are logged into the VOIP network. Note that enabling VOIP can introduce more lag into your game due to the additional CPU and bandwidth overhead - so set this to No if you don't use VOIP or if you have a slower machine.
You can adjust the Transmit and Receive voice volumes using the two sliders provided, and if you find that even at 100% Transmit your voice sounds weak to others, select Yes for the 'Boost Mic Gain' option and readjust the Transmit volume accordingly. The 'Microphone Threshold Test' section allows you to set the threshold up to which your voice/background sounds are disregarded. For example, increasing the slider to 100% means that unless you speak very loudly into your microphone, you will not transmit any noises over VOIP, whereas a threshold of 10% means pretty much every noise in your immediate environment will be sent over your VOIP channel. Click the 'Start Microphone Test' button to test the threshold for your normal speaking voice, and set it accordingly.
Note that you can also setup your BF2142 microphone settings interactively by using the Battlefield 2142 Voice Setup software. To do this, go to your \Program Files\Electronic Arts\Battlefield 2142 directory, and run the BF2142VoiceSetup.exe file, and follow the prompts. When finished, click the 'Save Settings' button and the relevant settings in the Audio section will be adjusted accordingly.
Note once again that all changes in the Audio section are automatically saved and applied as you adjust settings here.
Community
The Community section of BF2142 is primarily to view the latest official EA News on the game, as well as the Credits which you can read through. Of most interest to many people would be the Battle Recorder and Custom Games options covered below:
Battle Recorder: The Battlerecorder allows you to play back demos which have been bookmarked from particular servers you've played on which have Battlerecorder enabled, as well as those which you've saved in your Battlerecorder Library. These demos contain full footage of all gameplay during a particular round. Battlerecorder is an option which must be enabled on a server to work, and can't be used to record games by clients (i.e. individual players). To record and play back your own custom demos see below.
Creating Demos: To make a custom demo of any length, you must be in Singleplayer mode, or on a server of your own creation (See Local Servers below) - you can't record your own demos on Multiplayer Internet servers. To start recording a demo, use the demo.recorddemo [demoname] command in the Command Console (See the Advanced Tweaking section). When you want to stop the demo, use the demo.stoprecording command in the console. Your demo has now been saved as a [demoname].bf2142demo file in your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Demos\ directory.
Playing Back Demos: To play back a custom-made demo, you can use the Battlerecorder. To do this you must copy your demo into the \Documents and Settings\[username]\My Documents\Battlefield 2142\Profiles\Default\demos\ directory (if that directory doesn't exist, create it under the Default profile directory). Then when you go into the Battlerecorder section of BF2, you will find that the demo is listed under the 'Battlerecorder Library' area, and you can simply highlight it and play it from there.
Note: whenever you run a demo through Battlerecord you can use the movement keys to 'fly' around and use a range of commands to change your view, switching to different player views for example and zooming in and out of the action. The list of commands is shown here (they're the same as for BF2), although note that the T and Q control roses don't appear to work properly at times.
Custom Games: This section allows you to launch any custom games you or someone else have created for BF2142. Basically that means mods, and highlighting the mod name and clicking Activate will enable the mod. For installation and usage instructions, check the site where you downloaded the particular mod. For some mods you can download for free, see the Patches, Maps & Mods section of this guide.
Advanced Tweaking
Config Files
Aside from the in-game settings, Battlefield 2142 has a range of config (.con) files spread throughout its directories. These files can be edited using any text editor like Windows Notepad or Wordpad. Of course before editing any .con file, first make sure you make a backup copy of it.
However unfortunately editing most of these .con files can prove completely pointless as the changes seem to have no impact in BF2142, or they are designed to control certain gameplay parameters such as world physics and should not be altered. The main configuration files which control your Soldier's settings can be found under your \Documents and Settings\[username]\My Documents\Battlefield 2142\Profiles\ directory, with the settings for each soldier (profile) listed under a numbered directory (e.g. \0001 for the first soldier, \0002 for the next one, etc.).
In general I don't recommend editing these .con files as it seems that any changes either have no impact, or can cause problems. Most of the settings in these .con files can be changed using the in-game settings, which is where you should alter them. Below I try to cover the few useful things you can do with the .con files, though none of them could be considered major tweaks - it looks like EA Games is purposely reducing the 'tweakability' of the Battlefield series, perhaps to enforce greater standardization.
Video.con
All of the settings in this file can be adjusted from within the in-game Video settings. Note that setting the first 8 variables to 4 - supposedly 'Ultra High Quality' - seems to make no practical difference. Note further than trying to set a custom resolution in Video.con doesn't appear to work, so use the method outlined on the last page of this guide instead.
Profile.con
This file contains details of your online account including the Soldier name (LocalProfile.setName), and the EA Account it's attached to (EAOnliineMasterAccount). However the password for this account is not saved here, it's in your Global.con file found in the \Profile directory above here, and is encrypted so it can't be read. You shouldn't try changing these details here as 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, do so using the in-game Login/Account screen.
General.con
GeneralSettings.addServerHistory
This settings show you the last servers you have successfully connected to, and is the same list as that shown in your History tab under the Multiplay>Online in-game area. This list is handy because it provides the server names as well as the IP Number and Port Number. You can also remove any of these entries if you don't want to see them again in the History tab. See the Multiplay section of the In-Game Settings section for more details.
Note that there are a range of other interesting commands here such as GeneralSettings.setColorBlindFriendly and GeneralSettings.setLCDDisplayModes, however these don't appear to have any impact on the game.
Interestingly, you can add console commands to General.con, and they will be implemented at startup for BF2142. So for example if you want the FPS counter to appear whenever you launch BF2142 and join a game, add the renderer.drawFps 1 command at the bottom of General.con. The list of console commands is on the next page.
Controls.con
This file contains all of the control mappings for actions in the game. The file structure is quite complex, and I don't have the ability to document it at length here. Previously a very helpful user had documented the BF2 Control.con structure here. Hopefully if someone can do something similar for BF2142, I can link to it again for all to share. For the most part you shouldn't need to mess with Control.con unless you can't get a binding to work in the In-game settings.
As you can see, there's not much in the way of productive changes you can make in the .con files for BF2142 - at least none that I've discovered yet. 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 do not have any impact on the game - they seem to be legacy settings from previous Battlefield games or gameplay/game world parameters which should not be changed.
Command Line
There are a range of commands which can be activated via the Battlefield 2142 command line. To use these commands, go to your main Battlefield 2142 launch icon, right-click on it and select Properties. Then in the Target box, after the "C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.exe" +menu 1 +fullscreen 1 text, insert a blank space, then use any of the commands below. Each command must have a single blank space between it and the next command.
For example, to set a custom resolution for BF2142, change your command line to look similar to this:
"C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.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 custom resolution to be used. Substitute other values for other resolutions (e.g. +szx 1900 +szy 1200).
The following are the known command line commands for BF2142:
+dedicated - Start in dedicated server mode
+multi - Allow starting multiple BF2142 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/bf2142)
+help - (or +?) Displays these commands
+ranked - Allows GamSpy snapshot sending
+overlayPath - Start game with a custom path for config files
+port - Specifies the network port to be used
+pbPath - Set the path to use for PunkBuster on multi-instance configs
+eaAccountName - Auto-login with the specified EA Account Name
+eaAccountPassword - Password to the specified EA Account Name
+soldierName - Auto-login to a soldier in the specified EA Account Name
+hostServer -
+ai -
+provider -
+region -
+type -
Note: You must use the correct case for these commands to work. For example the +eaaccountname command only works if used thusly: +eaAccountName - note the capitalized A and N.
Make sure to check the last page of this guide for details of the most common useful commands and their usage, namely setting a custom resolution and automatically logging into your soldier upon startup. Note that this list will be revised so please Email Me if you have any additions or changes to the list above.
Advanced Tweaking (Pt.2)
This section covers all the main Battlefield 2142 Console Commands and the known descriptions where possible. To access the BF2142 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 all the renderer sub-class of commands. The following are working commands in BF2142 sorted by category:
Renderer Commands
renderer.drawHud [0,1] - Turns the Heads Up Display (HUD) on or off.
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.crash - Crashes the game for test purposes
game.lockFps [framerate] - Caps the game's maximum framerate to specified number
Demo Commands
demo.recordDemo [demoname] - Starts recording current gameplay and saves the file as demoname.bf2142demo in your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Demosdirectory
demo.stopRecording - Stops current demo recording
demo.ShutdownDemo - Stops and closes down current demo run
demo.adjustDemoFov -
Localprofile Commands
localProfile.setName [name] - Shows/sets the Soldier name 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.setEAOnlineMasterAccount [account name] - Shows/sets the main account login for BF2142
localProfile.setEAOnlineSubAccount [account name] - Shows/sets the main soldier login used for the main account
localProfile.setNumTimesLoggedIn [number] - Shows/sets the number of times the player has logged in with the current account
localProfile.setRank [0-?] - Current rank for the account
localProfile.setCareerPoints [0-?] - Current score for the account
localProfile.setLastBaseUpdate -
localProfile.setCurrentProfileLatestAwards -
localProfile.setCurrentProfileMuted -
localProfile.Save -
localProfile.addDemoBookmark [ ] - Adds a bookmark to a Battlerecorder demo
localProfile.setTotalPlayedTime [seconds] - Shows/sets the time the game has been played using the current account
Misc Commands
misc.getBuildNr - Reports the Build Number of the game.
Globalsettings Commands
globalSettings.setDefaultUser [number] - Sets the profile to use, first one being 0001, then 0002 etc.
globalSettings.setLastOnlineUser -
globalSettings.setEncryptedLogin -
globalSettings.setNamePrefix -
ReservedSlots Commands
reservedSlots.load -
reservedSlots.save -
reservedSlots.configFile -
reservedSlots.addNick -
reservedSlots.removeNick -
reservedSlots.clear -
reservedSlots.list -
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 -
Controlmap Commands
These settings should be used in the Controls.con file under your \Documents and Settings\[username]\My Documents\Battlefield 2142\Profiles\[profile]\ directory.
controlMap.create -
controlMap.setActive -
controlMap.addAxisToAxisMapping -
controlMap.addKeysToAxisMapping -
controlMap.addButtonToTriggerMapping -
controlMap.addKeyToTriggerMapping -
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.load - Makes the server reload the file _mapList.con
mapList.save - Saves the current map list on the server to the file _mapList.con
mapList.configFile [new location for file] - Used to specify the location of the _mapList.con file. Default is \My Documents\Battlefield 2142\ServerConfigs\
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.list - Lists map ID numbers, map name, game mode and the number of players if specified.
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.
Admin Commands
These commands are only used by server administrators.
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.
admin.listPlayers - Lists the players connected to the server, showing their name, ID number and IP number.
Server Commands
Server commands are not covered here - they can be found in the ServerSettingsDesc.xls file in your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Settings\ directory.
Exit - Quits the game to desktop.
That covers the known working command list. Note that there are far fewer commands than in the Battlefield 2 Tweak Guide. Some of the BF2 commands no longer appear to work in BF2142, so they've been removed. Also keep in mind that you can apply some of these commands at startup by entering them in the General.con file - see the previous page for details. This list will of course be updated both when the final retail version of BF2142 comes out, and as I and others find more to add. If you have any more commands to add please Email Me and after testing them I will add them to this guide.
Neat Stuff & Conclusion
The guide is fast coming to a close. The following are some tips and tricks I've found which you may find very handy, so don't skip this page.
Disabling the Intro Movies
The introductory movies to BF2142 add to the startup time for the game, as well as the memory usage. To disable them permanently, you can't use the +restart command line command, as this no longer works. I also don't recommend deleting the movie files - this may cause problems with verification of client information on certain servers and/or with Punkbuster. So the simplest method to skip the startup movies is to go to your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Movies directory and rename all the .bik files to something else (e.g. rename EA.bik to EA._bik). This will prevent these movie files from loading at startup and take you straight to the main login screen. Alternatively, you can create a new folder in the same directory (with any name you wish) and move all the movies there to achieve the same effect.
Note that renaming or moving the Titan tutorial movie titan_tutorial.bik will cause problems if you try to view the Titan Tutorial by clicking the 'Titan Tips' option under Multiplay, so I don't recommend renaming this file - you can leave it as is, as it does not add to the startup time in the full version of the game.
Setting A Custom Resolution
Since the lack of a range of resolutions is one of the most common complaints about BF2142, I'll spell out the solution again here. It involves using the +szx and +szy command line options (covered in the Advanced Tweaking section). For example to set a resolution of 1280x1024, go to your BF2142 launch icon, right-click on it and select Properties. Then in the Target box put a single blank space after the last character and insert +szx 1280 +szy 1024, substituting any other number for the 1280 width and 1024 height respectively to suit your needs. The end result should look something like this:
"C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.exe" +menu 1 +fullscreen 1 +szx 1280 +szy 1024
Now each time you launch the game it will run in the custom resolution specified, however note firstly that you must make sure your monitor can support this resolution, and secondly the Display Mode setting under the in-game Video Settings will not show the correct new resolution, not that this is a problem. Unlike Battlefield 2, editing the Video.con file does not work in properly setting a custom resolution, so this is the recommended method for doing so.
Automatic Login
Automatic Login allows you to automatically login to your EA Account and the particular Soldier you want to use each time you start the game. This is relatively straightforward to do, and again involves editing your BF2142 command line options. To do this go to your BF2142 launch icon, right-click on it and select Properties. Then in the Target box put a single blank space after the last character and insert +eaAccountName [Accountname] +eaAccountPassword [Password] +soldierName [soldiername].
As an example of this, suppose my EA Account name which I use to login to BF2142 is KillMachine, and the password for this account is 123abc, and further that the soldier I use to play online has the name Overman. This means I'd have to alter my command line to look something like this (note the added items in italics):
"C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.exe" +menu 1 +fullscreen 1 +szx 1280 +szy 1024 +eaAccountName KillMachine +eaAccountPassword 123abc +soldierName Overman
Importantly you must use all the right cases for each command and parameter. In the example above, if I had used +eaaccountname killmachine for example, it would not work, it has to have correct capitalizations in each command and parameter used.
Now whenever you double-click your BF2142 launch icon, after a brief pause you should come to main BF2142 screen ready to start playing, having skipped the login and soldier selection screens. If you wish to alter your login or soldier details at any time, either remove these parameters from your command line, or simply click the small '\' button at the top right of the BF2142 menu screen to log out of your current account and go back to the account login screen.
Finally, if you see a long black screen at startup and the main BF2142 screen does not appear even after a few minutes, this is either because you've lost your connection to the Internet or the EA Master Server is having problems logging you in. You may have to physically restart your PC by pressing the reset button.
Measuring Framerate, Taking Screenshots & Recording Demo Movies
You can use the renderer.drawFps 1 command in BF2142 to show your current frames per second (see Advanced Tweaking section). However there is a utility which allows you to do this and much more: FRAPS. This free utility will display a very accurate framerate counter in the corner of the screen. However Fraps also has other handy functions, such as the ability to take screenshots in various formats and even record demo movies in AVI format which you can play back in a media player outside of BF2142. Give it a try as it is a great utility to have on your PC.
Gameplay Tips
You may have noticed there are a range of useful gameplay tips which appear on the loading screen when BF2142 is loading up a map. All 105 of These have been rounded up and put here, and are worth giving a quick read through.
Battlefield 2142 & Resource Usage
Just like Battlefield 2, Battlefield 2142 is not designed to take full advantage of multi-core CPUs as confirmed by this article. This doesn't mean that the CPU is not important to BF2142, nor that you may not be able to get a performance boost if you upgrade to a more recent dual or multi-core CPU, as these often have more efficient memory architectures. It's simply worth noting that the game doesn't appear to use more than one core at any time, and thus is not optimized (multi-threaded) for dual cores.
Furthermore, just like BF2, BF2142 also requires more than 1GB of RAM - ideally 2GB - to run smoothly. The game process can take up to 900MB or more of RAM by itself when running, so although those of you with less RAM can optimize your systems to reduce unnecessary resource usage (See pages 2 and 3), unfortunately 1GB or less of RAM will result in an increase in stuttering and loading pauses throughout the game. Increasing RAM reduces this, although note that more RAM does not equal more FPS, just smoother FPS.
Voice Over IP: If you want to use Voice Over IP (VOIP), select Yes here. VOIP allows you to use a microphone hooked to your computer to speak directly with other Battlefield 2142 players who are on the same server and who are logged into the VOIP network. Note that enabling VOIP can introduce more lag into your game due to the additional CPU and bandwidth overhead - so set this to No if you don't use VOIP or if you have a slower machine.
You can adjust the Transmit and Receive voice volumes using the two sliders provided, and if you find that even at 100% Transmit your voice sounds weak to others, select Yes for the 'Boost Mic Gain' option and readjust the Transmit volume accordingly. The 'Microphone Threshold Test' section allows you to set the threshold up to which your voice/background sounds are disregarded. For example, increasing the slider to 100% means that unless you speak very loudly into your microphone, you will not transmit any noises over VOIP, whereas a threshold of 10% means pretty much every noise in your immediate environment will be sent over your VOIP channel. Click the 'Start Microphone Test' button to test the threshold for your normal speaking voice, and set it accordingly.
Note that you can also setup your BF2142 microphone settings interactively by using the Battlefield 2142 Voice Setup software. To do this, go to your \Program Files\Electronic Arts\Battlefield 2142 directory, and run the BF2142VoiceSetup.exe file, and follow the prompts. When finished, click the 'Save Settings' button and the relevant settings in the Audio section will be adjusted accordingly.
Note once again that all changes in the Audio section are automatically saved and applied as you adjust settings here.
Community
The Community section of BF2142 is primarily to view the latest official EA News on the game, as well as the Credits which you can read through. Of most interest to many people would be the Battle Recorder and Custom Games options covered below:
Battle Recorder: The Battlerecorder allows you to play back demos which have been bookmarked from particular servers you've played on which have Battlerecorder enabled, as well as those which you've saved in your Battlerecorder Library. These demos contain full footage of all gameplay during a particular round. Battlerecorder is an option which must be enabled on a server to work, and can't be used to record games by clients (i.e. individual players). To record and play back your own custom demos see below.
Creating Demos: To make a custom demo of any length, you must be in Singleplayer mode, or on a server of your own creation (See Local Servers below) - you can't record your own demos on Multiplayer Internet servers. To start recording a demo, use the demo.recorddemo [demoname] command in the Command Console (See the Advanced Tweaking section). When you want to stop the demo, use the demo.stoprecording command in the console. Your demo has now been saved as a [demoname].bf2142demo file in your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Demos\ directory.
Playing Back Demos: To play back a custom-made demo, you can use the Battlerecorder. To do this you must copy your demo into the \Documents and Settings\[username]\My Documents\Battlefield 2142\Profiles\Default\demos\ directory (if that directory doesn't exist, create it under the Default profile directory). Then when you go into the Battlerecorder section of BF2, you will find that the demo is listed under the 'Battlerecorder Library' area, and you can simply highlight it and play it from there.
Note: whenever you run a demo through Battlerecord you can use the movement keys to 'fly' around and use a range of commands to change your view, switching to different player views for example and zooming in and out of the action. The list of commands is shown here (they're the same as for BF2), although note that the T and Q control roses don't appear to work properly at times.
Custom Games: This section allows you to launch any custom games you or someone else have created for BF2142. Basically that means mods, and highlighting the mod name and clicking Activate will enable the mod. For installation and usage instructions, check the site where you downloaded the particular mod. For some mods you can download for free, see the Patches, Maps & Mods section of this guide.
Advanced Tweaking
Config Files
Aside from the in-game settings, Battlefield 2142 has a range of config (.con) files spread throughout its directories. These files can be edited using any text editor like Windows Notepad or Wordpad. Of course before editing any .con file, first make sure you make a backup copy of it.
However unfortunately editing most of these .con files can prove completely pointless as the changes seem to have no impact in BF2142, or they are designed to control certain gameplay parameters such as world physics and should not be altered. The main configuration files which control your Soldier's settings can be found under your \Documents and Settings\[username]\My Documents\Battlefield 2142\Profiles\ directory, with the settings for each soldier (profile) listed under a numbered directory (e.g. \0001 for the first soldier, \0002 for the next one, etc.).
In general I don't recommend editing these .con files as it seems that any changes either have no impact, or can cause problems. Most of the settings in these .con files can be changed using the in-game settings, which is where you should alter them. Below I try to cover the few useful things you can do with the .con files, though none of them could be considered major tweaks - it looks like EA Games is purposely reducing the 'tweakability' of the Battlefield series, perhaps to enforce greater standardization.
Video.con
All of the settings in this file can be adjusted from within the in-game Video settings. Note that setting the first 8 variables to 4 - supposedly 'Ultra High Quality' - seems to make no practical difference. Note further than trying to set a custom resolution in Video.con doesn't appear to work, so use the method outlined on the last page of this guide instead.
Profile.con
This file contains details of your online account including the Soldier name (LocalProfile.setName), and the EA Account it's attached to (EAOnliineMasterAccount). However the password for this account is not saved here, it's in your Global.con file found in the \Profile directory above here, and is encrypted so it can't be read. You shouldn't try changing these details here as 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, do so using the in-game Login/Account screen.
General.con
GeneralSettings.addServerHistory
This settings show you the last servers you have successfully connected to, and is the same list as that shown in your History tab under the Multiplay>Online in-game area. This list is handy because it provides the server names as well as the IP Number and Port Number. You can also remove any of these entries if you don't want to see them again in the History tab. See the Multiplay section of the In-Game Settings section for more details.
Note that there are a range of other interesting commands here such as GeneralSettings.setColorBlindFriendly and GeneralSettings.setLCDDisplayModes, however these don't appear to have any impact on the game.
Interestingly, you can add console commands to General.con, and they will be implemented at startup for BF2142. So for example if you want the FPS counter to appear whenever you launch BF2142 and join a game, add the renderer.drawFps 1 command at the bottom of General.con. The list of console commands is on the next page.
Controls.con
This file contains all of the control mappings for actions in the game. The file structure is quite complex, and I don't have the ability to document it at length here. Previously a very helpful user had documented the BF2 Control.con structure here. Hopefully if someone can do something similar for BF2142, I can link to it again for all to share. For the most part you shouldn't need to mess with Control.con unless you can't get a binding to work in the In-game settings.
As you can see, there's not much in the way of productive changes you can make in the .con files for BF2142 - at least none that I've discovered yet. 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 do not have any impact on the game - they seem to be legacy settings from previous Battlefield games or gameplay/game world parameters which should not be changed.
Command Line
There are a range of commands which can be activated via the Battlefield 2142 command line. To use these commands, go to your main Battlefield 2142 launch icon, right-click on it and select Properties. Then in the Target box, after the "C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.exe" +menu 1 +fullscreen 1 text, insert a blank space, then use any of the commands below. Each command must have a single blank space between it and the next command.
For example, to set a custom resolution for BF2142, change your command line to look similar to this:
"C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.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 custom resolution to be used. Substitute other values for other resolutions (e.g. +szx 1900 +szy 1200).
The following are the known command line commands for BF2142:
+dedicated - Start in dedicated server mode
+multi - Allow starting multiple BF2142 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/bf2142)
+help - (or +?) Displays these commands
+ranked - Allows GamSpy snapshot sending
+overlayPath - Start game with a custom path for config files
+port - Specifies the network port to be used
+pbPath - Set the path to use for PunkBuster on multi-instance configs
+eaAccountName - Auto-login with the specified EA Account Name
+eaAccountPassword - Password to the specified EA Account Name
+soldierName - Auto-login to a soldier in the specified EA Account Name
+hostServer -
+ai -
+provider -
+region -
+type -
Note: You must use the correct case for these commands to work. For example the +eaaccountname command only works if used thusly: +eaAccountName - note the capitalized A and N.
Make sure to check the last page of this guide for details of the most common useful commands and their usage, namely setting a custom resolution and automatically logging into your soldier upon startup. Note that this list will be revised so please Email Me if you have any additions or changes to the list above.
Advanced Tweaking (Pt.2)
This section covers all the main Battlefield 2142 Console Commands and the known descriptions where possible. To access the BF2142 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 all the renderer sub-class of commands. The following are working commands in BF2142 sorted by category:
Renderer Commands
renderer.drawHud [0,1] - Turns the Heads Up Display (HUD) on or off.
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.crash - Crashes the game for test purposes
game.lockFps [framerate] - Caps the game's maximum framerate to specified number
Demo Commands
demo.recordDemo [demoname] - Starts recording current gameplay and saves the file as demoname.bf2142demo in your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Demosdirectory
demo.stopRecording - Stops current demo recording
demo.ShutdownDemo - Stops and closes down current demo run
demo.adjustDemoFov -
Localprofile Commands
localProfile.setName [name] - Shows/sets the Soldier name 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.setEAOnlineMasterAccount [account name] - Shows/sets the main account login for BF2142
localProfile.setEAOnlineSubAccount [account name] - Shows/sets the main soldier login used for the main account
localProfile.setNumTimesLoggedIn [number] - Shows/sets the number of times the player has logged in with the current account
localProfile.setRank [0-?] - Current rank for the account
localProfile.setCareerPoints [0-?] - Current score for the account
localProfile.setLastBaseUpdate -
localProfile.setCurrentProfileLatestAwards -
localProfile.setCurrentProfileMuted -
localProfile.Save -
localProfile.addDemoBookmark [ ] - Adds a bookmark to a Battlerecorder demo
localProfile.setTotalPlayedTime [seconds] - Shows/sets the time the game has been played using the current account
Misc Commands
misc.getBuildNr - Reports the Build Number of the game.
Globalsettings Commands
globalSettings.setDefaultUser [number] - Sets the profile to use, first one being 0001, then 0002 etc.
globalSettings.setLastOnlineUser -
globalSettings.setEncryptedLogin -
globalSettings.setNamePrefix -
ReservedSlots Commands
reservedSlots.load -
reservedSlots.save -
reservedSlots.configFile -
reservedSlots.addNick -
reservedSlots.removeNick -
reservedSlots.clear -
reservedSlots.list -
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 -
Controlmap Commands
These settings should be used in the Controls.con file under your \Documents and Settings\[username]\My Documents\Battlefield 2142\Profiles\[profile]\ directory.
controlMap.create -
controlMap.setActive -
controlMap.addAxisToAxisMapping -
controlMap.addKeysToAxisMapping -
controlMap.addButtonToTriggerMapping -
controlMap.addKeyToTriggerMapping -
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.load - Makes the server reload the file _mapList.con
mapList.save - Saves the current map list on the server to the file _mapList.con
mapList.configFile [new location for file] - Used to specify the location of the _mapList.con file. Default is \My Documents\Battlefield 2142\ServerConfigs\
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.list - Lists map ID numbers, map name, game mode and the number of players if specified.
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.
Admin Commands
These commands are only used by server administrators.
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.
admin.listPlayers - Lists the players connected to the server, showing their name, ID number and IP number.
Server Commands
Server commands are not covered here - they can be found in the ServerSettingsDesc.xls file in your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Settings\ directory.
Exit - Quits the game to desktop.
That covers the known working command list. Note that there are far fewer commands than in the Battlefield 2 Tweak Guide. Some of the BF2 commands no longer appear to work in BF2142, so they've been removed. Also keep in mind that you can apply some of these commands at startup by entering them in the General.con file - see the previous page for details. This list will of course be updated both when the final retail version of BF2142 comes out, and as I and others find more to add. If you have any more commands to add please Email Me and after testing them I will add them to this guide.
Neat Stuff & Conclusion
The guide is fast coming to a close. The following are some tips and tricks I've found which you may find very handy, so don't skip this page.
Disabling the Intro Movies
The introductory movies to BF2142 add to the startup time for the game, as well as the memory usage. To disable them permanently, you can't use the +restart command line command, as this no longer works. I also don't recommend deleting the movie files - this may cause problems with verification of client information on certain servers and/or with Punkbuster. So the simplest method to skip the startup movies is to go to your \Program Files\Electronic Arts\Battlefield 2142\mods\bf2142\Movies directory and rename all the .bik files to something else (e.g. rename EA.bik to EA._bik). This will prevent these movie files from loading at startup and take you straight to the main login screen. Alternatively, you can create a new folder in the same directory (with any name you wish) and move all the movies there to achieve the same effect.
Note that renaming or moving the Titan tutorial movie titan_tutorial.bik will cause problems if you try to view the Titan Tutorial by clicking the 'Titan Tips' option under Multiplay, so I don't recommend renaming this file - you can leave it as is, as it does not add to the startup time in the full version of the game.
Setting A Custom Resolution
Since the lack of a range of resolutions is one of the most common complaints about BF2142, I'll spell out the solution again here. It involves using the +szx and +szy command line options (covered in the Advanced Tweaking section). For example to set a resolution of 1280x1024, go to your BF2142 launch icon, right-click on it and select Properties. Then in the Target box put a single blank space after the last character and insert +szx 1280 +szy 1024, substituting any other number for the 1280 width and 1024 height respectively to suit your needs. The end result should look something like this:
"C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.exe" +menu 1 +fullscreen 1 +szx 1280 +szy 1024
Now each time you launch the game it will run in the custom resolution specified, however note firstly that you must make sure your monitor can support this resolution, and secondly the Display Mode setting under the in-game Video Settings will not show the correct new resolution, not that this is a problem. Unlike Battlefield 2, editing the Video.con file does not work in properly setting a custom resolution, so this is the recommended method for doing so.
Automatic Login
Automatic Login allows you to automatically login to your EA Account and the particular Soldier you want to use each time you start the game. This is relatively straightforward to do, and again involves editing your BF2142 command line options. To do this go to your BF2142 launch icon, right-click on it and select Properties. Then in the Target box put a single blank space after the last character and insert +eaAccountName [Accountname] +eaAccountPassword [Password] +soldierName [soldiername].
As an example of this, suppose my EA Account name which I use to login to BF2142 is KillMachine, and the password for this account is 123abc, and further that the soldier I use to play online has the name Overman. This means I'd have to alter my command line to look something like this (note the added items in italics):
"C:\Program Files\Electronic Arts\Battlefield 2142\BF2142.exe" +menu 1 +fullscreen 1 +szx 1280 +szy 1024 +eaAccountName KillMachine +eaAccountPassword 123abc +soldierName Overman
Importantly you must use all the right cases for each command and parameter. In the example above, if I had used +eaaccountname killmachine for example, it would not work, it has to have correct capitalizations in each command and parameter used.
Now whenever you double-click your BF2142 launch icon, after a brief pause you should come to main BF2142 screen ready to start playing, having skipped the login and soldier selection screens. If you wish to alter your login or soldier details at any time, either remove these parameters from your command line, or simply click the small '\' button at the top right of the BF2142 menu screen to log out of your current account and go back to the account login screen.
Finally, if you see a long black screen at startup and the main BF2142 screen does not appear even after a few minutes, this is either because you've lost your connection to the Internet or the EA Master Server is having problems logging you in. You may have to physically restart your PC by pressing the reset button.
Measuring Framerate, Taking Screenshots & Recording Demo Movies
You can use the renderer.drawFps 1 command in BF2142 to show your current frames per second (see Advanced Tweaking section). However there is a utility which allows you to do this and much more: FRAPS. This free utility will display a very accurate framerate counter in the corner of the screen. However Fraps also has other handy functions, such as the ability to take screenshots in various formats and even record demo movies in AVI format which you can play back in a media player outside of BF2142. Give it a try as it is a great utility to have on your PC.
Gameplay Tips
You may have noticed there are a range of useful gameplay tips which appear on the loading screen when BF2142 is loading up a map. All 105 of These have been rounded up and put here, and are worth giving a quick read through.
Battlefield 2142 & Resource Usage
Just like Battlefield 2, Battlefield 2142 is not designed to take full advantage of multi-core CPUs as confirmed by this article. This doesn't mean that the CPU is not important to BF2142, nor that you may not be able to get a performance boost if you upgrade to a more recent dual or multi-core CPU, as these often have more efficient memory architectures. It's simply worth noting that the game doesn't appear to use more than one core at any time, and thus is not optimized (multi-threaded) for dual cores.
Furthermore, just like BF2, BF2142 also requires more than 1GB of RAM - ideally 2GB - to run smoothly. The game process can take up to 900MB or more of RAM by itself when running, so although those of you with less RAM can optimize your systems to reduce unnecessary resource usage (See pages 2 and 3), unfortunately 1GB or less of RAM will result in an increase in stuttering and loading pauses throughout the game. Increasing RAM reduces this, although note that more RAM does not equal more FPS, just smoother FPS.