America's Army is a tactical multiplayer first-person shooter owned by the U.S. Government and released as a global public relations initiative to help with U.S. Army recruitment. Its popularity increased due to the cross-platform availability and cost (it's free). Basically, you can run the server as well as the client on either Windows or Linux, free of charge. But unfortunately, the Linux version has been discontinued as of version 2.5, while the Windows version has reached 2.8.1 (at the time this article was written).
This article explains how to install the America's Army Linux server on a generic Linux system so it _should_ work for most distributions. Before starting the install process, you must ensure that your system meets the game's minimal requirements. You also must ensure the following ports are not blocked. Moreover, if your system is behind a router (NAT) with no external IP address, ask the router's administrator to forward these ports to your LAN IP.
-UDP
1716, 1717, 1718, 8777, 27900
-TCP 14200, 20025-45, 20046, 20047, 20048, 28910
INSTALATIONEither initiate a SSH connection to the remote server or, if you're in front of it, open a terminal and type (as a normal user, running the server as root is not recommended):
CODE
$ wget http://treefort.icculus.org/armyops/americasarmy-lnxded-281.tar.bz2
Uncompress the archive by running the following command. A new directory called
aops-lnxded-2.8.1 will be created:
CODE
$ bzip2 -cd americasarmy-lnxded-281.tar.bz2 | tar xf -
CD to the
System directory inside the newly created one:
CODE
# cd aops-lnxded-2.8.1/System
CONFIGURATIONHere, you'll find the configuration file that holds the basic server settings that can safely be changed in order to have the server listed on the AA in-game browser. Most of them are self-explanatory so I won't explain them all. In the System directory, open the file
server.ini in your favorite text editor and modify the following settings so it suits your needs and likings:
[Engine.GameReplicationInfo]ServerName=Your Name for the Server
ShortServerName=YN-SRV
AdminName=Your name
AdminEmail=Your email
[Engine.AccessControl] AdminPassword=Password used to connect to the server as an administrator
GamePassword=Password required to join the server
PlayerAdmin=Username of the player who will have admin abilities
PlayerAdmin=A second admin player. Add more lines for more admins
[IpDrv.GameSpyQR]IP=Enter the external IP if your server has two or more interfaces
[DBAuth.DBAuth]GameServerIP=Your external Internet IP again
Save the file
ACTIVATE PunkBusterChange directory to System/pb and using a text editor, create the file
pbsvgame.cfg. Then add the following line to it:
sv_punkbuster 1START THE SERVERChange directory back to System/ and run:
CODE
$ screen
$ ./server-bin ServerType MapName -nohomedir ini=server.ini log=LogName
..where
ServerType can be GLOBAL or LAN
MapName can be any map name (Border.aao, HQ_Raid.aao etc)
LogName can be anything you want the log file to be named.
So, starting a server in Internet mode will be possible with the command:
CODE
$ ./server-bin GLOBAL Border.aao -nohomedir ini=server.ini log=aao.log
Congratulations, you now have a working AA server!