AA3 Server Management
There are a number of different ways to host an America's Army 3 Server. The two main methods, Launching from a Game Client and Building a dedicated server without game installed will be discussed below.
Launching from the Game Client
Assuming you have already registered your server as discussed in the previous article, you can go right ahead and host a server direct on your game PC assuming it has the resources available to run a game server.
This is typically the method for launching a one off server if you want a quick game with friends as it's not generally practical to play on the same machine as the one you are hosting the server on (unless you are lucky enough to have borrowed something from NASA!).
First off, launch America's Army 3 from your Steam Client library and you will see the America's Army Loader.
On the bottom left of the America's Army Loader window you will see a button marker "Host a Server"
Selecting this button will launch the America's Army 3 Server Tool. Please follow the steps below to basic configure and launch your server.
1. From the Map and Mission window select the relevant map and mission type that you would like to run on your server.
2. Enter the Server Authorization IP Address of your server. This will be the IP address that you registered on the Server Registration website.
3. The America's Army 3 Server Tool will default to LAN Server. If you want to run a public server you will need to change this setting to Global Internet Server
4. Enter the Server Authentication User Name and Password that you created on the Server Registration website.
5. In the Public Information window enter a name for your Server and if you wish a Message of the Day.
6. Enter the number of players and spectators you would like to be able to join your server and enable Punkbuster.
7. If you wish you can add a password to your server. Be aware that doing this will restrict access to your server to only players who know the password to join.
Once you hit the Save Options button the tool will create a command line command that you can run from a command prompt should you wish to launch your server with the settings you have just created.
Building a Dedicated Server
First, let’s start with the server specs that we’re using:
Note that the number of cores your processor has is not as important as the clock speed. Since the server primarily uses one core, a dual core at 3.2GHz will likely perform better than a quad core at 2.4GHz. Of course, multiple cores will be useful if you intend to run more than one server on the same machine.
We’re using 64bit Windows Server 2008 with plenty of cores and RAM to run several servers.
Special instructions for Windows Server 2003 users ONLY: We are aware of an issue with Windows Server 2003 that prevents the AA3Game server from initializing steam and authenticating correctly. Please download these filesand replace the .dll’s in \America's Army 3\Binaries to allow your game server to properly auth.
1a. Download the AA3.3 Dedicated Server Tool from Steam>Library>Tools.
1b. Download Valve's Steamcmd tool.
2. Copy the installer into a directory and run. The tool will execute and update itself within the created directory. This will allow the server files to be downloaded with Valve’s SteamCmd tool without the need for installing Steam. Once the tool has completed the update phase, type ‘exit’ to close.
3. Create an UpdateAA3DS.txt in the SteamCmd directory with the following text:
login SteamAcct AcctPassword
app_update 13180 validate
4. Create an UpdateAA3DS.bat in the SteamCmd directory with the following commands:
SteamCmd +runscript .\UpdateAA3DS.txt
5. Update the UpdateAA3DS.txt file with a valid Steam account and password, and the Dedicated Server installation directory. It is recommended that server owner create a separate account just for updating server files.
6. Run the UpdateAA3DS.bat file. This will result in Steam downloading the server files to the folder you specifed in the UpdateAA3DS.txt file. During this process SteamGuard may require you to authorize the system you are installing on. Should this be the case it will email a code to the registered email address of the Steam Account you are using. Enter this when requested and the process will continue.
7. Install C Runtime libraries (Binaries\Windows directory, x86 for 32-bit, x64 for 64-bit server) and Directx (DirectX directory). Accept the agreement and click next.
8. Create a shortcut to the Binaries\AA3Loader.exe and add /DS command line option as shown below.
Host A Server
Command Line GUI
9. Double click the shortcut and it should take you straight to the Host a Server screen.
The Host a Server feature builds a server command line that includes all of the necessary switches to launch and authorize a server. Here it is important to use the correct information for your server. Please note that there is extensive information in the Help file (bottom right button).
The full command line generated is here:
"C:\AA\AA32S1\Binaries\AA3Game.exe" server Bridge_night_clear?GLOBAL?MissionType=co?MissionSize=large?MissionTourID=inf?MissionVariant=ai?MaxPlayers=20?MaxSpectators=4?AuthServerUserName=armygame?AuthServerPassword=armygame?AuthServerIP=188.8.131.52 /STEAMSERVERIP=184.108.40.206 MULTIHOME=220.127.116.11
If you don’t have access to edit the command line directly, then you can store the authorization information in an .ini file in the /Binaries directory. If the file doesn’t already exist, then create it with your favorite text editor and name it MasAuthOptions.ini. Be sure that the file includes the following lines:
Substitute SomePassword, SomeUserName, and x.x.x.x with the credentials that you received with your server registration.
- Note for AI maps: Testing indicates that AI maps run best when the max players does not exceed 20. Airfield has an especially large amount of NME AI to battle. We have had good luck with 16 max players. Perhaps we will see better performance with 26 players in the future when faster processors are available.
10. Click start server and watch for the console window to launch.
This server is authorized and ready for connections!
If your server fails to Auth, then it will show in browsers as “initializing” with the default server name of America’s Army 3.3. Please see the Troubleshooting guide below to investigate issues with your particular configuration.
I copied the game install directory a couple times, and then ran additional servers from shortcuts using unique names and IP addresses. Here are three servers running, all with several players connected.
America’s Army 3.0 Server Command Line Options:
Rev 3.3 July 27, 2012
The game’s working directory must be the <install directory>/Binaries.
The basic command line is:
aa3game.exe server BaseMapName[Options] [MULTIHOME=x.x.x.x] [–CONFIGSUBDIR=<ini file name>]
Base Map Names and Available Missions by Map
The following maps are shipping with AA 3.3 and can be put in the “BaseMapName” portion of the server command line:
• Airfield_day_cloudy • Mission Type: CO Mission Variant: AI • Mission Type: VIP Mission Variant: aivip
• Alley_day_cloudy • Mission Type: CO Mission Variant: dev • Mission Type: TAH Mission Variant: east • Mission Type: VIP Mission Variant: dev
• Alley_day_foggy • Mission Type: CO Mission Variant: dev • Mission Type: TAH Mission Variant: east • Mission Type: VIP Mission Variant: dev
• Bridge_day_fog • Mission Type: AO Mission Variant: dev1 • Mission Type: CLASSIC Mission Variant: dev • Mission Type: CO Mission Variant: ai • Mission Type: CO Mission Variant: dev1 • Bridge_night_clear • Mission Type: AO Mission Variant: dev1 • Mission Type: CLASSIC Mission Variant: dev • Mission Type: CO Mission Variant: ai • Mission Type: CO Mission Variant: dev1
• Impact_day_cloudy • Mission Type: AO Mission Variant: dev1 • Mission Type: TAH Mission Variant: dev • Mission Type: VIP Mission Variant: dev
• Pipeline_dawn_clear • Mission Type: AD Mission Variant: classic • Mission Type: TAH Mission Variant: dev • Mission Type: VIP Mission Variant: dev1
• Ranch_day_fog • Mission Type: AO Mission Variant: dev1 • Mission Type: CO Mission Variant: dev1 • Mission Type: VIP Mission Variant: dev1
• RanchAI_day_fog • Mission Type: AO Mission Variant: ai • Mission Type: CO Mission Variant: ai • Mission Type: VIP Mission Variant: aivip
• Shantytown_day_rain • Mission Type: AO Mission Variant: dev • Mission Type: CO Mission Variant: dev • Mission Type: VIP Mission Variant: dev
• Stronghold_night_clear • Mission Type: AD Mission Variant: dev • Mission Type: AO Mission Variant: dev • Mission Type: CO Mission Variant: dev • Mission Type: TAH Mission Variant: dev • Mission Type: VIP Mission Variant: dev
- AdminHelpBlocking - Help on blocking system (ban players)
- AdminBlockSoldier [SoldierName] [Reason] - blocks by soldier name
- AdminBlockPlayer [PlayerName] [Reason] - blocks by account name
- AdminRemoveBlockedPlayer [AccountName] - removes ban
- AdminHelpPlayerAdmins - Help on configuring player admins
- AdminListPlayerAdmins - Lists player admins
- AdminPlayerAdmin [AccountName] - Adds players account (not soldier name) as player admin
- AdminRemovePlayerAdmin [AccountName] - Removes player admin
- AdminHelpKicking - Help on kicking players
- AdminKickPlayer [SoldierName] [Reason] - kicks a player
- AdminHelpComms - Help on communicating with players
- AdminNotifyPlayer [SoldierName] [Message] - sends centered notification to one player
- AdminNotifyAll [Message] - sends centered notification to all players
- AdminSay [Message] - sends console message to all
- AdminSetVOIPMode [AllChat | TeamChat | TeamDeadRules] - change VOIP mode
- AdminNotification [SoldierName | All] [Message] - sends a notification centered on one or all players HUD
- AdminHelpServerOptions - Help on changing server options
- AdminSetMissionTime [time in minutes] - sets mission time
- AdminPBExec - executes PB server commands on server
Note: Options are placed immediately after the “Base Map Name” and separated by a question mark (and the first option must be separated from the “Base Map Name” by a question mark).
- ?EnableTS3=Y/N – Enables/Disables TS3. The default is set to enabled in the INI file.
- ?GLOBAL - Enables official/authorized server. Mutually exclusive ?LAN option.
- ?LAN - Starts a LAN server that does not authorize with the authentication system. It enables the LAN MBS system. It is mutually exclusive with ?GLOBAL
- ?MaxSpectators=## - 0 through 6, inclusive. Controls how many spectators may watch the game.
- ?MaxPlayers=## - 2 - 26, inclusive. Controls how many players may join the server.
- ?TimeLimit=## - How long rounds are in minutes.
See list of maps and missions for details.
- ?MissionType=[type of mission] - Types are mission dependent.
- ?MissionVariant=[xxxx] - Name of mission variant. This is mission dependent.
- ?MissionSize=[size] - Sizes are small, medium and large. For AA 3.0 only large maps are available.
- ?MissionTourID=inf - Only infantry missions are available with AA 3.0.
Authentication Support for Global Servers
- ?AuthServerPassword=xxxx - The password for your AA3 authorized or official server account.
- ?AuthServerUserName=xxxx - The user name for your AA3 authorized or official server account.
- ?AuthServerIP=x.x.x.x - The IP address for your AA3 authorized or official server account.
- ?AuthServerPort=x - The IP address for your AA3 authorized or official server account. The default is 8777 and typically this is not used for standard installations.
Multihome Support (Multiple Server Instances)
Add MULTIHOME=x.x.x.x (where “x.x.x.x” is the IP Address to bind the server to) to the end of the server line (be sure to put a space prior to the “MULTIHOME” after the last server option.
Custom Configuration Files
America’s Army 3.0 uses the UnrealEngine 3 standard of completely unique sets of configuration files stored in separate subdirectories for those wishing to specify custom configurations on the command line. Each subdirectory must be created under the AA3Game/Config directory (create a subdirectory of the primary “AA3Game/Config” subdirectory). You do not need (nor should) put the entire path as the value for this option.
Example: To store a customer specific configuration file for the customer “JohnsServer” you would create a subdirectory “<AA3 Installer Directory>/AA3Game/Config/JohnsServerConfig” and then add this to your server’s command line: “-CONFIGSUBDIR=JohnsServerConfig”. If the directory does not exist the game will automatically create it and populate it with the default configuration values.
Typically this would be used in conjunction with the MULTIHOME option or to run custom configuration options.