A simple Arma3 Dedicated Server that can update Arma3 and workshop mods. Allows for caching steam, Arma3, and workshop mods install OR downloading any (or all) on startup.
Parameter | Required | Default | Description |
---|---|---|---|
ARMA_BINARY | N | ./arma3server | Arma 3 server binary to use, ./arma3server_x64 for x64 |
ARMA_CDLC | N | Creator DLC to load. See creator-dlc | |
ARMA_CONFIG | N | main.cfg | Config file to load from /arma3/configs |
ARMA_LIMITFPS | N | 1000 | Maximum server FPS |
ARMA_PARAMS | N | Extra parameters given to server and any headless clients | |
ARMA_PROFILE | N | main | Profile name, stored in /arma3/configs/profiles |
ARMA_WORLD | N | empty | World to load on startup |
DEBUG | N | 0 | Output debug messages including commands run |
FORCE_DOWNLOAD_WORKSHOP | N | 0 | Force re-download of all workshop mods |
HEADLESS_CLIENTS | N | 0 | Launch n number of headless clients |
PORT | N | 2302 | Port used by the server, (uses PORT to PORT+3) |
STEAM_BRANCH | N | public | Steam branch code to download. See wiki |
STEAM_BRANCH_PASSWORD | N | Password for Steam branch code | |
STEAM_PASSWORD | Y | Steam user password | |
STEAM_USERNAME | Y | Steam user used to login to steamcmd, must own Arma3. | |
STEAM_VALIDATE | N | 1 | Validates files after Steam download |
WORKSHOP_MODS | N | URL or file path to load mods |
Directory | Description |
---|---|
/steamcmd | Steam cmd executable (not steam install) |
/arma3 | Entire Steam install, Arma3 server install, and workshop mods |
/arma3/mpmissions | |
/arma3/configs | |
/arma3/mods | |
/arma3/servermods | Server only mods |
/arma3/steamapps/workshop/content/107410 | Steam workshop mods |
For quickest startup but larger storage space, recommend saving the /arma3
volume.
For a smaller storage space, add all the other volumes under /arma3/
directory.
To use a Creator DLC the STEAM_BRANCH
must be set to creatordlc
and
then set ARMA_CDLC
environment variable to the CDLC class name(s) found in wiki
separated by ;
.
Example: -e ARMA_CDLC=csla;gm;vn;ws
The script will check for any workshop mod updates on startup and only download what is out of date.
Place the mod list html exported by the launcher anywhere in the /arma3/
directory and add the path to
WORKSHOP_MODS
environment variable to load.
The script will also to lowercase the workshop mod file paths as arma3 paths need to be case sensitive.
Launch n number of headless clients when HEADLESS_CLIENTS
environment variable is set.
Profiles loaded for each headless client will be set to ${ARMA_PROFILE}-hc-${n}
.
For headless clients to connect, you must also have the following in your config cfg file:
headlessclients[] = {"127.0.0.1"};
localclient[] = {"127.0.0.1"};