-
Notifications
You must be signed in to change notification settings - Fork 7
Home
ArmA Server Monitor (ASM) was created by Fred41 to monitor Windows game servers running ArmA 2 or ArmA 3 made by Bohemia Interactive.
Fred41's ASM can be found on GitHub: ASM
and there's a discussion thread for ASM in the BI forums
Fred41 describes ASM as
ASM is a little program, for monitoring some interesting values from multiple
server (or HC) instances.
Performance related values like:
* simulation cycles per second average (FPS)
* simulation cycles per second minimal (FPSmin)
* condition evaluations per second (CPS)
* number of alive players (PL#)
* number of alive server local AI units (AIL)
* number of alive server remote AI units (AIR)
* number of mission objects (OC[0..2], free configurable)
* amount of allocated physical memory (MEM)
* network traffic incoming in kbytes/s (NTI)
* network traffic outgoing in kbytes/s (NTO)
* disk reading in kbytes/s (DIR)
* name of running instance
* name of running mission
are displayed, simultaneously for multiple (up to 4) server instances, in a
window.
The idea behind it, is to provide a fast and easy "state of health" overview
at one go.
ASM for Linux consists of
- A shared library, "asmdll.so", for the ArmA 3 server.
- An application, "asm" that can either be run as a service or a query client.
The ASM service will monitor up to 16 Arma servers and let clients query the server to get the performance values. Note that there is no GUI client available for Linux. Instead, one can use the Windows GUI that Fred41 has made (ArmaServerMonitor.exe)
ASM for Linux will report the same values that the Windows variant does, except the network and disk performance values (NTI, NTO and DIR).
(The setting "enableAPImonitoring
" in asm.ini is not implemented in Linux.)
ASM for Linux needs 32-bit C runtime libraries and the Gnome GLib 2 library. The former are probably already installed since you should have a working Arma 3 dedicated server up and running already. The 32-bit Gnome GLib library can be installed with yum (RHEL/CentOS/Fedora) or apt-get (Debian/Ubuntu):
sudo yum install glib2
or
sudo apt-get install libglib2.0-0
On 64-bit operating systems you have to specify the 32-bit variant of the package:
sudo yum install glib2.i686
In 64-bit Debian and Ubuntu, you'll have to enable multiarch support first:
sudo dpkg --add-architecture i386
sudo apt-get update
Then, install the 32-bit GLib 2.0 package:
sudo apt-get install libglib2.0-0:i386
Before you install ASM for Linux, you need to have a working Linux ArmA 3 dedicated server up and running. This documentation will not describe how do set that up. Once you have A3 up and running, proceed with installing ASM.
- Get the ASM.zip release archive from Fred41's github page here and unpack that into your Linux Arma 3 server directory. You can then remove the Windows shared library, "ASMdll.dll", since it will not be used by a Linux server.
- Change the name of the mod folder "@ASM" to lowercase letters:
mv \@ASM \@asm
- Change the name of the ASM.pbo addon to all-lowercase:
mv \@asm/addons/ASM.pbo \@asm/addons/asm.pbo
- Change the name of the ASM.ini file to all-lowercase:
mv ASM.ini asm.ini
- Download ASM for Linux from from here and unpack the
armaservermonitor-X.Y-bin.tgz
archive somewhere. - Copy the ASM files to your Arma 3 server directory. For example, if the Arma 3 server is installed into
/srv/arma3
, you would do something like
cp armaservermonitor-0.1/asm /srv/arma3
cp armaservermonitor-0.1/asmdll.so /srv/arma3
- Change into the Arma 3 server directory and start the ASM service:
./asm -s &>asm.txt &
The asm service will listen for TCP connections on port 24000 by default, so make sure to allow that in your firewall. - Launch the Arma 3 server with @asm as a server-side mod. For example:
./arma3server {your preferred launch parameters here} -serverMod=@asm
(Alternatively, you can put the asm.pbo addon into the Arma 3 addons folder, in which case you can start the Arma 3 server without-serverMod=@asm
.) - In Windows, run the ArmaServerMonitor.exe client application and connect to
the Linux dedi server just like you would connect to a Windows server:
X:\Path\To\ArmaServerMonitor.exe -c -h{IP address of Arma server}
- In Windows, run the ArmA 3 game and join the Linux dedicated server. Start a mission.
- Statistics for the server can now be monitored with the Windows GUI client.
ASM, when run as a service, can handle up to 16 Arma 3 servers running on the same computer. Note that you should only launch one instance of ASM for this - you do not need to run ASM for every game server.
- Install asmdll.so and the asm.pbo into all of the Arma 3 server installations as described above.
- Copy the asm application only to the first Arma 3 server's installation directory
- Start the ASM service in the first A3 server's directory. For example:
./asm -s &>asm.txt &
- Next, start all Arma 3 servers.
- As missions are loaded and started on each server, each server will allocate a "slot" on the ASM server.