A simple to use web admin panel for Arma servers.
Key | Description |
---|---|
game | Which game server to launch, see above |
path | Folder path to game server |
port | Web port to use |
host | IP or Hostname to listen on |
type | Which kind of server to use, can be 'linux', 'windows' or 'wine' |
additionalConfigurationOptions | Additional configuration options appended to server.cfg file |
parameters | Extra startup parameters added to servers and headless clients |
serverMods | Mods that always and only will be used by the game servers |
auth | If both username and password is set, HTTP Basic Auth will be used |
prefix | Text prepended to all game servers name |
suffix | Text appended to all game servers name |
Copy config.js.example
to config.js
Change values in config.js
as described above or in the file
Install all dependencies with npm install
Launch the web UI with npm start
or install as a Windows Service with npm run install-windows-service
Make sure to disable Windows Error Reporting or server control will be stuck on a server crash.
Install as a Windows Service with npm run install-windows-service
.
Remove previously installed Windows Service with npm run uninstall-windows-service
.
Make sure to disable Wine GUI Crash Dialog or server control will be stuck on a server crash.
This is easiest solved using winetricks
by running winetricks nocrashdialog
.
It can also be disabled manually.
Read more at Wine FAQ.
To host an Arma 3 x64 server with an existing Arma 3 Server install in subfolder arma3
with persisted profiles in profiles
and shared network with host,
mkdir -p arma3 profiles
touch servers.json
docker run \
--network=host \
--env GAME_TYPE=arma3_x64 \
--env GAME_PATH=/arma3 \
--volume $PWD/arma3:/arma3 \
--volume $PWD/servers.json:/app/servers.json \
--volume $PWD/profiles:"/root/.local/share/Arma 3 - Other Profiles" \
dahlgren/arma-server-web-admin
Mount a preinstalled Arma server folder to the container, currently only the linux server is supported.
Set GAME_TYPE to your desired arma server, for example --env GAME_TYPE=arma3
or --env GAME_TYPE=arma3_x64
.
Set GAME_PATH to your mounted volume, for example --env GAME_PATH=/arma3
and --volume $PWD/arma3:/arma3
.
Host preferably needs to share network with the container or all game ports used will need to be forwarded to the container.
Use --network=host
to use same network as the host machine.
Web Admin UI is available at port 3000.
If you use --network=host
you can reach the web ui at http://localhost:3000
by default.
Mount a file at /app/servers.json
to persist the servers config.
For example --volume $PWD/servers.json:/app/servers.json
to use a file named servers.json
in current folder as persistent servers config file.
If you need to persist the server profiles such as vars file make sure to mount a volume.
For Arma 3 the default profiles directory will be located at /root/.local/share/Arma 3 - Other Profiles
Key | Description |
---|---|
GAME_PATH | Required. Absolute folder path to game server in docker container |
GAME_TYPE | Required. Type of game server, see above |
AUTH_USERNAME | Username used for HTTP Basic Auth |
AUTH_PASSWORD | Password used for HTTP Basic Auth |
SERVER_ADMINS | Steam IDs that should be set as admins |
SERVER_ADDITIONAL_CONFIG | Additional content to add into server.cfg |
SERVER_MODS | Mods to be loaded as server side only mods |
SERVER_PARAMETERS | Additional parameters to pass on server launch |
SERVER_PREFIX | Prefix on all server names |
SERVER_SUFFIX | Suffix on all server names |