You can change more than just the settings available under the in-game menus by editing two .ini files called ArmyOps.ini and User.ini in your \America's Army\System directory. First however, make copies of these files and keep them as backups so you don't lose all the default settings. If you do somehow lose these files, the files Default.ini and DefUser.ini contain the system default settings. Do not delete or alter the two default files - the system requires them to remain unchanged.
Also note that changing the ArmyOps.ini and User.ini files (as detailed below) is not considered a cheat or hack, either for Punkbuster purposes or by other players. Even [DEV]Abraxas has stated that the .ini files are there to be changed. It is simply customizing the game settings to maximize your system's performance.
Now open ArmyOps.ini with Windows Notepad or any other text editing tool and edit the following sections. Those that can be changed using the in-game settings aren't listed below:
This value represents the amount of System RAM set aside for holding AA game information. The more of the game is held in RAM, the smoother your fps due to fewer loading pauses while playing. The Cache size can safely be increased to 64 for all systems. As a general rule and to be safe, subtract around 200MB from your total RAM (for system usage) and set this cache to the remainder. For example, for 512MB of RAM set the cache to =300. If you experience any problems lower the Cache size back to 32. And once again note that this tweak will not dramatically increase fps - it is designed to reduce loading pauses in-game.
Set this to False if you want to disable all sounds. Obviously not recommended, however the option is here if you want it.
This is a vital setting. It determines your network rate in bits per second. Tweaking this setting can improve lag problems.
For 56K modems, depending on your connection speed try values between 2400 and 3000 for optimal ping. As a rule of thumb, try and match your average connection speed (in kbps).
For ADSL/DSL/Cable and faster connections try higher values, ranging from 6000 - 8000. You can try the default value of 10000 but I find this is just too high to maintain a steady low ping
Remember that depending on the ping of the server you join, where it's located, who else is playing and how many others, you may still experience some lag regardless, particularly at the start of each round, or when lots of people join. Also remember that servers have a cap on this rate, so even if you set it very high it may still be limited by the maximum bandwidth the server is set to allocate to each player.
Something interesting to note is that your frames per second (fps) are limited by your netspeed. Netspeeds below 5000 will noticeably cap framerates for those with faster machines. For example, I get 60fps maximum with a netspeed of 5000, but 90fps maximum with a netspeed of 8000. You can adjust Netspeed "on the fly" using the Netspeed command (see Console commands below) to find which network rate gives you the best ping and framerate on the current server.
This should be set to True for most people, as it uses your sound card's 3D sound capabilities. However I found that despite having an SB Audigy, this was set to False for me by default. Setting it to true helped get rid of some audio glitches, so check to see if that's the case for you.
If set to True, this will use the default sound driver which comes with AA. If you have an advanced sound card like an Audigy 1 or Audigy 2, setting this to False will use your sound card's specific drivers, which should yield better performance and sound quality.
If you're still experiencing audio problems, and you've updated your drivers (see above) and tried a range of other tweaks, then setting this to True may help resolve problems.
This will pre-load sounds into memory while loading maps. Setting this to True is the best option for most people, as it avoids the small lags and hitches in-game if sound is loaded up during gameplay.
Set this to True for a slight performance loss but graphics quality improvement.
When set to True, this allows the highest quality of detail on the "actors" (i.e. people) in the game. Set this to False if you need the performance boost.
When set to True, the game will attempt to load textures and information into memory before it is required. This prevents loading pauses/stuttering during the play and is recommended that it be left to True.
If your graphics card has onboard Transform and Lighting (T&L) set this to True. Most recent graphics cards do feature T&L, so unless you have an older card don't set this to False for best graphics performance.
Similar to T&L above, this option makes use of the hardware Vertex Shader on modern graphics cards. More recent graphics cards feature Hardware VS, such as the GeForce3 onwards (but not the GeForce4MX), Radeon 9600 and so on. If you have an older card set this to False, otherwise leave at True for best graphics performance.
If you have VSync enabled (See In-Game Settings) then your refresh rate will be limited to whatever this setting is. To reduce monitor flickering and eyestrain, you should set this value to the highest refresh rate supported by your monitor at your desired resolution. For example, your monitor may support a maximum refresh rate of 85Hz (85fps) at 1280x1024 resolution. This setting is at 60 by default, but you could set it to 85 to make full use of your monitor's capabilities and ease the strain on your eyes.
If your system is not very fast, or you have a very slow graphics card, then setting this option to True will mean the use of less colors (16bit colors vs 32bit colors) and hence slightly better performance. Note that you will see more "color banding" - that is the gradations in color will be much more noticeable. If you wish to use 16bit then it is recommended you enable the setting below as well.
If you've enabled 16bit color, then using 16bit textures will improve performance without making things any worse. However if you're using the default 32bit color and enable 16bit textures you will notice a drop in texture quality with color banding as mentioned above.
Remember, settings that can be adjusted in-game aren't provided above. Use the in-game menus to make those changes. Also, a lot of the settings in ArmyOps.ini will not have any effect on the game. They are part of the Unreal game engine but not implemented in the game.
Make changes to the User.ini file using notepad under the following sections:
This setting is blank by default, and you are randomly assigned a skin tone when joining a server. In earlier versions of AA, if you wanted to pick a particular skin tone, you could assign a value of Light, Medium or Dark to this setting, but it is currently disabled until a future version.
In earlier versions of AA you could edit these settings to change your character's face (e.g. to have a camoflaged face) - once again this feature is disabled until perhaps a future version of the game.
Represents the extent to which mouse smoothing occurs on your movements. I experimented with various values but didn't notice any difference on my optical mouse. If you are experiencing problems with your mouse smoothness, try varying values up to 1.000000.
This setting effects how fast/slowly your mouse moves by taking samples at more/less frequent intervals (in seconds). As this number increases from the default the slower your mouse will seem as samples of your mouse movement are taken less often. Experiment with this setting if the default sampling time doesn't seem to help your mouse speed.
This setting controls the length of time in seconds during which a double-tap of a movement key is registered. In particular, since the sprint function in America's Army is tied to a quick double-tap of the Forward key, if you press W (default Forward key) twice within 0.25 seconds then it will register as the signal to start sprinting. Increasing this value will mean more time during which two presses of the forward key will trigger a sprint. I recommend setting this higher than the default, say to 0.400000 so that you can more easily engage the sprint mode. If you want to turn off double-tap sprinting altogether, set this value to 0.000000.
Note, if the above section and/or some of the settings are not in your User.ini, first change some of the mouse settings in the In-Game Settings, exit the game and check back in this file.
To bring up the console, press the '~' or TAB keys. The following are basic commands you can use in the console. Type the command and press return:
Stat Fps - displays your frames per second (fps) in the top corner. Type the same command to turn it off.
Stat Net - displays your ping and packet information. Type the same command to turn it off.
Netspeed [rate] - Sets your network rate in kbps (See ConfiguredInternetSpeed description above) while you're on a server. First join a server and open the console. Then use the Stat Net command to show you current ping and network rate (netspeed). Next try various netspeed values to see which gives you the best ping.
Flush - Flushes the game engine caches. Best used to fix texture corruption or graphic anomalies while playing. Note this command has no effect on Ping or connection-related lag, it should only be used if you experience graphical anomolies.
Open xxx.xx.xx.x:xxxx - connect directly to a server with the specified IP and port number. If you don't enter a port number the default will be 1716.
Disconnect - Disconnects from the current server.
Reconnect - Reconnects you to the last connected server.
Votekick [playername/playernumber][reasonnumber] - Votes to kick a particular player for a specific reason. Note that you don't need to enter the player's full name. Sometimes players use convoluted names which are hard to reproduce, so to avoid having to type their name out just type "Playerlist" in the console first, and use the number listed next to the player's name instead. The list of reason numbers is provided below:
1. Player is idle
2. Player is intentionally violating ROE
3. Player has used foul or abusive language
4. Player is spamming chat
5. Player is camping
Note that you cannot use reason #2 (ROE) unless the player in question has some ROE.
Playerlist - Shows all the players on a server, whether actually playing or just spectating. You can use the number listed next to the player's name in a votekick in place of their full name.
Reasonlist - Shows the votekick reason list (see above) in the console.
Exec [filename] - Executes the commands in the file with the specified name.
Set Input [key] [command] - Will bind commands to particular keys. E.g. Set Input N ThrowWeapon will make using N (key) throw your weapon (command).
Commosendmessage [messagenum] - Will send the message with the number in your current message state. E.g. Commosendmessage 1 will say "Move Out!" if you're in the Radio messages. You can bind specific keys with messages. For example:
Set Input P Commosendmessage 9 - will bind the "Negative" message to your P key.
Exit - Will close America's Army and return to the desktop.
Demorec [filename] - Starts recording a demo with the filename specified.
Stopdemo - Stops the recording of the current demo.
Demoplay [filename] - Plays back a previously recorded demo with the filename specified.
You can close the console again by pressing ~ or TAB.
Note that there are several Admin console commands which can be used by the server administrator to perform a range of functions, from kicking a player to forcing a change of class on the player. You can see a full list of console commands (including Admin commands) here.