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
INSTALATION
Either 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):
CONFIGURATION
Here, 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 PunkBuster
Change directory to System/pb and using a text editor, create the file pbsvgame.cfg. Then add the following line to it:
sv_punkbuster 1
START THE SERVER
Change directory back to System/ and run:
$ ./server-bin ServerType MapName -nohomedir ini=server.ini log=LogName
So, starting a server in Internet mode will be possible with the command: