ArmA: Armed Assault: Server configuration
Setting up a server is not easy and is not that abious to to.
Basically, the server configuration consists of four elements:
Let's assume that ArmA is installed to "D:\Arma" and the Start in: property of the Windows shortcut is set to: "D:\Arma".
- Put your Server Basic Config file to "D:\ArmA\basic.cfg"
- Put your Server Config File to "D:\ArmA\server.cfg"
- Put your Server Difficulty Settings File to "D:\ArmA\Users\server\server.armaprofile"
- Command line / link target:
D:\ArmA\arma_server.exe -cfg=basic.cfg -config=server.cfg -profile=D:\ArmA\Users\server -name=server -mod=@mod1;@mod2
Note: the parameter
is correct for arma_server.exe version 220.127.116.1169 and beta arma_server version 18.104.22.16808.
-profiles= fails to set your preferences for the server. The -profile= parameter requires the explicit path to the directory containing the "server.armaprofile" file and the default location for this is "Drive:\Documents and Settings\UserName\My Documents\ArmA Other Profiles" you may find the required command is longer than that permissible in the Windows Shortcut Target: option. If so, simply create a batch command file to start ArmA_Server and point the Shortcut to it:- Shortcut properties (following the convention above where ArmA is installed to "D:\Arma", but this time the server profile is in the default "D:\Documents and Settings\%UserName%\My Documents\Arma" location): Target: D:\Batch\ArmA_Server.cmd Start in: "D:\ArmA"
Note the batch file name can be anything you wish, "ArmA_Server.cmd" is used in this example (the .cmd extension should be maintained). Batch file: ArmA_Server.cmd
D:\ArmA\arma_server.exe -cfg=basic.cfg -config=server.cfg -profiles="D:\Documents and Settings\%UserName%\My Documents\ArmA" -mod=@mod1;@mod2
Tip: If you are running a public server, it is probably a good idea to enable logging using the parameter:
This will record to a net.log file in the ArmA program directory, IP Address, Player name, mod's they are loading, net traffic and the Player ID - very useful for dealing with troublemakers.
Be aware, the logs can grow large as they are not rotated, I would suggest doing this manually when the server is shutdown, or you could automate this in your startup batch file as follows:
@if exist net.log goto rotatelog else end :rotatelog set str=%date% set tme=%time% rem echo."%str%" "%tme%" for /f "tokens=1,2,3* delims=." %%i in ("%str%") do set str=%%k%%j%%i for /f "tokens=1,2,3* delims=:." %%i in ("%tme%") do set tme=%%i%%j%%k rem echo."%str%" "%tme%" move net.log .\NetLogs\%str%_%tme%_net.log set str="" :end "D:\Program Files\Bohemia Interactive\ArmA\arma_server.exe" -cfg=arma_server.cfg -config=server.cfg -mod=beta;DBE1;@Islands;@ArmaEffects;@Fixes;@NWD_ScopeFix;@Six_Pack1 -profile="D:\Documents and Settings\ikent.TECHNICAL\My Documents\ArmA Other Profiles\public_server" -netlog -ranking=public_ranking.txt -maxmem=1024
A directory named .\ArmA\NetLogs is required. Change the delims specified for %str% to match your regional date settings, the example above uses the "." as the date seperator.
Let's assume that ArmA is installed to "/usr/home/arma-server".
- Put your Server Basic Config file to "/usr/home/arma-server/basic.cfg"
- Put your Server Config File to "/usr/home/arma-server/server.cfg"
- Put your Server Difficulty Settings File to "/usr/home/arma-server/server/server.armaprofile"
- Command line / link target:
/usr/home/arma-server/server -cfg=basic.cfg -config=server.cfg -name=server -mod=@mod1\;@mod2\;@mod3
NOTE: this line is only for debugging. When you want to run the server permanently, edit and use the provided script "armaserver" that comes with the linux server files.
NOTE 2: the ';' denotes a line-end in Linux. So you have to put a backslash '\' in front of it to use multiple mods. Same if you use spaces in your directories: write 'my\ files'
See also: ArmA:_Version_History