Arma 3 Server Startup Script Builder

Configure your server parameters below and get a complete annotated Windows .bat or Linux .sh startup script — including an auto-restart loop. Covers 30+ launch parameters that admins commonly miss.

Target OS

Server Executable Path

Full path to your Arma 3 server executable. Use the 64-bit version on Windows.

Core Parameters

Main server config file path. Required.

Game port (default 2302). Open +1 (Steam query), +3 (VON), +4 (BattlEye) in your firewall too.

Directory for logs, profile saves, and RPT files. Keep it outside the game folder.

Server profile name. Selects the subfolder inside -profiles= for this instance.

Mods

ℹ️
-serverMod= vs -mod=: Server-only mods (e.g. admin tools, stat trackers) go in -serverMod= and are NOT downloaded by players. Mods in -mod= are synchronized to clients — every player needs them. Mixing these up causes client kick loops.

Semicolon-separated mod folders. Clients must have these installed. Use the mod launcher builder to generate this string.

Server-side-only mods. NOT pushed to clients. Safe to put admin tools here.

BattlEye Anti-Cheat

Enable BattlEye

Adds the -bepath= flag. Required for BattlEye to load its filters.

Path to your BattlEye folder. Must exist and contain the BE filter files.

Performance & Behaviour

50 FPS

Cap server FPS. 50 is the community standard — prevents idle CPU spinning without impacting simulation.

Use empty to skip loading the default world — significantly reduces startup time.

-nosound

Disable audio. Servers don't need sound — saves memory.

-noPause

Windows only: prevent server pausing when alt-tabbed. Essential on Windows desktops.

-loadMissionToMemory

Pre-cache mission file to RAM. Reduces lag spikes when players join. Recommended for persistent servers.

-autoInit

Automatically start the mission without waiting for an admin. Requires persistent=1 in server.cfg.

Monitoring & Logging

-pid=

Write the server PID to a file for process monitoring and watchdog scripts.

-ranking=

Enable the ranking log file. Writes player stats to a parseable log.

Auto-Restart Loop

Include auto-restart loop

Wraps the server command in a loop — automatically restarts the process if it crashes or exits.

Generated Script start-server.bat

@echo off
REM ═══════════════════════════════════════════════════════════════
REM  Arma 3 Dedicated Server — Startup Script
REM  Generated by DustBowl.Games Tools
REM  https://dustbowl.games/tools/arma3-startup-builder
REM ═══════════════════════════════════════════════════════════════

SET EXE="C:\Arma3Server\arma3server_x64.exe"

REM --- Parameter notes ---
REM -config      : Main server config (hostname, password, missions, etc.)
REM -port        : Game port. Also open +1 (Steam query), +3 (VON), +4 (BattlEye)
REM -profiles    : Log/save/RPT directory. Keep outside the game folder.
REM -name        : Profile name (selects subfolder in -profiles=)
REM -bepath      : BattlEye folder. Must exist with filter .conf files.
REM -world       : Use 'empty' to skip terrain load — faster startup.
REM -limitFPS    : Cap server tick rate. 50 is the standard for dedicated servers.
REM -nosound     : Disable audio (saves memory on headless servers).
REM -noPause     : Don't pause when the window loses focus (Windows).

:restart
echo Starting Arma 3 server...
%EXE% -config=server.cfg -port=2302 -profiles=ServerProfiles -name=server -bepath=battleye -world=empty -limitFPS=50 -nosound -noPause
echo Server exited with code %ERRORLEVEL%. Restarting in 5 seconds...
timeout /t 5 /nobreak >nul
goto restart

Parameter Reference

Parameter Notes
-config= Main server config. Required. Points to server.cfg (hostname, password, missions, etc.).
-port= Game port (default 2302). Also open +1 (Steam query), +3 (VON), +4 (BattlEye) in firewall/router.
-profiles= Directory for logs (.RPT), profile data, and server saves. Keep it outside the game folder.
-name= Profile name — selects a subfolder inside -profiles=. Useful when running multiple instances.
-bepath= BattlEye folder path. Required for BE to initialize. Must contain the filter .conf files.
-world= Use empty to skip loading the terrain on startup — noticeably faster boot times.
-mod= Semicolon-separated mod folders loaded for both server and clients. Players must have these installed.
-serverMod= Server-only mods — NOT synchronized to clients. Use for admin tools, logging, or server-side scripts.
-loadMissionToMemory Pre-loads the mission into RAM. Reduces lag on player join. Recommended for persistent missions.
-autoInit Automatically starts the mission without admin input. Requires persistent=1 in server.cfg.
-pid= Write the process ID to a file. Useful for watchdog scripts and process monitoring.
-nosound Disable server audio. Saves memory on headless servers — always use this.
-noPause Windows only: prevents the server from pausing when the window loses focus or is minimized.
-limitFPS= Cap server simulation rate. 50 is the community-standard value — prevents wasted CPU at idle.
-ranking= Enable player ranking log to a file. Output can be parsed by external stat tracking tools.
Private Arma 3 hosting

Run your own Arma 3 server.

Rent a private Arma 3 server on real hardware — full control-panel access, your mods, your configs, your rules. It's your server; run it your way.

Rent a Arma 3 server Real hardware · Full control panel · 98% SLA

Don't want to run it yourself? Our managed services & consulting team will set it up and keep it running for you — game servers, Windows, Linux, and cloud, from 10+ years of MSP work.