Difference between revisions of "ArmA: Armed Assault: Server configuration"

From Bohemia Interactive Community
Jump to navigation Jump to search
(Windows: changed profile back to profile again as per suma, added boldness, important template)
m (Text replacement - "y[ _]*\|[ _]*(arma[0-9]+)[ _]*\|[ _]+" to "y|$1|")
 
(23 intermediate revisions by 10 users not shown)
Line 1: Line 1:
==Introduction==
 
 
Setting up a server is not easy and is not that obvious to do.
 
Setting up a server is not easy and is not that obvious to do.
  
Line 5: Line 4:
  
 
* [[ArmA: Startup Parameters]]
 
* [[ArmA: Startup Parameters]]
 +
 +
* [[Arma 2: Startup Parameters]]
  
 
* [[basic.cfg|Server Basic Config file]]
 
* [[basic.cfg|Server Basic Config file]]
Line 12: Line 13:
 
* [[server.armaprofile|Server Difficulty Settings File]]
 
* [[server.armaprofile|Server Difficulty Settings File]]
  
==Example Setups==
+
== Example Setups ==
  
===Windows===
+
=== Windows ===
 
Let's assume that ArmA is installed to "D:\Arma" and the Start in: property of the Windows shortcut is set to: "D:\Arma".
 
Let's assume that ArmA is installed to "D:\Arma" and the Start in: property of the Windows shortcut is set to: "D:\Arma".
  
Line 44: Line 45:
 
</pre>
 
</pre>
  
{{Important|Tip: If you are running a public server, it is probably a good idea to enable logging using the parameter: -netlog }}
+
If you are troubleshooting a public server or want analyze detailed network log, you may enable logging using the parameter: -netlog (due to performance hit do not use otherwise). This will record to a netlog file in %localppdata% (in Arma 3, previously in the Arma directory) with very detailed information about network traffic.
 
 
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 which is 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: <pre>@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=
 
set tme=
 
 
 
:end
 
"D:\Program Files\Bohemia Interactive\ArmA\arma_server.exe" -cfg=server_basic.cfg -config=server.cfg -mod=beta;DBE1;@mod1;@mod2 -profiles="%HomeDrive%%HomePath%\My Documents\ArmA Other Profiles\public_server" -netlog -ranking=public_ranking.txt -maxmem=1024
 
</pre>
 
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 separator.
 
  
===Linux===
+
=== Linux ===
 
Let's assume that ArmA is installed to "/usr/home/arma-server".
 
Let's assume that ArmA is installed to "/usr/home/arma-server".
  
Line 85: Line 65:
 
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'
 
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'
  
==Links==
+
NOTE 3: as alternative put the modline in quotes: "-mod=@mod1;@mod2;@mod3"
 +
 
 +
== Links ==
  
 
[http://sir-hc.gbks.net/files/index.php?dir=Armed+Assault%2FDedicatedServer%2F Example Setups at sir_hC]
 
[http://sir-hc.gbks.net/files/index.php?dir=Armed+Assault%2FDedicatedServer%2F Example Setups at sir_hC]
 +
{{ExternalLink|link= http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi?act=ST;f=73;t=63934|text= Detailed forums discussion from CodeSkyWolf}}
  
==See Also==
+
== See Also ==
 
 
[[ArmA: Startup Parameters]]
 
 
 
[[basic.cfg|Server Basic Config file]]
 
 
 
[[server.cfg|Server Config File]]
 
 
 
[[server.armaprofile|Server Difficulty Settings File]]
 
 
 
 
 
 
 
[[Multiplayer Server Commands]]
 
 
 
[[ArmA: Community_Tools#Multi Player|ArmA Community Tools]]
 
 
 
  
See also: [[ArmA: Version History]]
+
*[[ArmA: Startup Parameters]]
 +
*[[basic.cfg|Server Basic Config file]]
 +
*[[server.cfg|Server Config File]]
 +
*[[server.armaprofile|Server Difficulty Settings File]]
 +
*[[Multiplayer_Server_Commands|Multiplayer Server Commands]]
 +
*[[ArmA: Community_Tools#Multi Player|ArmA Community Tools]]
 +
*[[ArmA: Version History]]
  
[[Category:ArmA: Multiplayer|Dedicated Server]]
+
{{GameCategory|arma1|Multiplayer}}
 +
{{GameCategory|arma2|Multiplayer}}

Latest revision as of 13:10, 22 June 2021

Setting up a server is not easy and is not that obvious to do.

Basically, the server configuration consists of four elements:

Example Setups

Windows

Let's assume that ArmA is installed to "D:\Arma" and the Start in: property of the Windows shortcut is set to: "D:\Arma".

  • Command line / link target:
D:\ArmA\arma_server.exe -cfg=basic.cfg -config=server.cfg -profiles=D:\ArmA\Users\server -name=server -mod=@mod1;@mod2


The 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 that 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

Contents:

D:\ArmA\arma_server.exe -cfg=basic.cfg -config=server.cfg -profiles="D:\Documents and Settings\%UserName%\My Documents\ArmA" -mod=@mod1;@mod2

If you are troubleshooting a public server or want analyze detailed network log, you may enable logging using the parameter: -netlog (due to performance hit do not use otherwise). This will record to a netlog file in %localppdata% (in Arma 3, previously in the Arma directory) with very detailed information about network traffic.

Linux

Let's assume that ArmA is installed to "/usr/home/arma-server".

  • 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'

NOTE 3: as alternative put the modline in quotes: "-mod=@mod1;@mod2;@mod3"

Links

Example Setups at sir_hC Detailed forums discussion from CodeSkyWolf (dead link)

See Also