{ "_comment": "ArmaField MapSeeding-aware Arma Reforger egg. Based on pelican-eggs/games-steamcmd Arma Reforger egg by red_thirten. Adds: MapSeeding-driven scenarioId rotation, ArmaField mod baked into default config, BackendSettings.json stub.", "meta": { "version": "PLCN_v2", "update_url": null }, "exported_at": "2026-04-19T00:00:00+00:00", "name": "Arma Reforger - ArmaField", "author": "contact@armafield.gg", "uuid": "c6a43fc1-9763-4ec4-9338-3e3365af7cd8", "description": "Arma Reforger Dedicated Server with the ArmaField mod and automatic mission rotation via the mod's MapSeeding.json. After each mission the server exits, Wings restarts the container, and our hook reads MapSeeding.json (written by the mod) to pick the next scenarioId before launch.\n\nBackend: defaults point at the public test backend (https://test.armafield.gg). Use the Backend Token and Backend URL panel variables to point at your own self-hosted backend (https://github.com/ArmaField/ArmaField-BackEnd) for production play. URL must be https:// - Arma Reforger rejects plain http.", "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAACXBIWXMAAA9hAAAPYQGoP6dpAAALyGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgMTAuMC1jMDAwIDI1LkcuZDIwZTQ2NiwgMjAyNS8xMi8wOC0yMDo1MDoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjMgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNC0xMi0xNlQwMDowODo0MSswMzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNi0wNC0wMVQwNjo1OTo0MCswMzowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjYtMDQtMDFUMDY6NTk6NDArMDM6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmMyYmNjNGNlLTc5ZDUtZTQ0YS04ZWJmLTMzMjI5YWJiNjAzNyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjE2NjUxZWE3LWQ4YTQtMWY0OC05ZGMxLWVjZDM4ZmFjMzk3YSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJhZWIzODZiLWFlZGQtZjA0My05Y2RjLWIxNWI4ODZiOGE5MCIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgdGlmZjpPcmllbnRhdGlvbj0iMSIgdGlmZjpYUmVzb2x1dGlvbj0iMTAwMDAwMC8xMDAwMCIgdGlmZjpZUmVzb2x1dGlvbj0iMTAwMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgZXhpZjpDb2xvclNwYWNlPSI2NTUzNSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjUwMCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjUwMCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmFlYjM4NmItYWVkZC1mMDQzLTljZGMtYjE1Yjg4NmI4YTkwIiBzdEV2dDp3aGVuPSIyMDI0LTEyLTE2VDAwOjA4OjQxKzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmU2NGVkMTViLTE2ZmMtNTE0ZC1iNzE1LTBhZWQ0ZmIxZTg3NiIgc3RFdnQ6d2hlbj0iMjAyNC0xMi0xNlQwMDoxNjowMiswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjMgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozYWZjZmNhYy04ZWI1LWQ0NDktYmI1NC02NWY3YTVkY2I0ZGYiIHN0RXZ0OndoZW49IjIwMjYtMDMtMjlUMDU6Mzg6MzQrMDM6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy40IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzAxNzNmMmItNTJhNi1kNjRiLTgxMjktY2FmMzJjNDU4MmM0IiBzdEV2dDp3aGVuPSIyMDI2LTAzLTI5VDA1OjM4OjM0KzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjcuNCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmMyYmNjNGNlLTc5ZDUtZTQ0YS04ZWJmLTMzMjI5YWJiNjAzNyIgc3RFdnQ6d2hlbj0iMjAyNi0wNC0wMVQwNjo1OTo0MCswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI3LjQgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozYWZj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", "tags": [ "steamcmd", "armafield" ], "features": [ "steam_disk_space" ], "docker_images": { "ghcr.io/parkervcp/steamcmd:debian": "ghcr.io/parkervcp/steamcmd:debian" }, "file_denylist": [], "startup": "sed -i 's/\"true\"/true/g; s/\"false\"/false/g' config.json; bash apply_map_seeding.sh; ./ArmaReforgerServer -gproj ./addons/data/ArmaReforger.gproj -config ./config.json -profile ./profile -backendlog -nothrow -listScenarios -logStats $(({{LOG_INTERVAL}}*1000)) -maxFPS {{MAX_FPS}} -addonTempDir ./tmp", "config": { "files": "{\n \"config.json\": {\n \"parser\": \"json\",\n \"find\": {\n \"bindAddress\": \"0.0.0.0\",\n \"bindPort\": \"{{server.environment.OVERRIDE_SERVER_PORT}}\",\n \"publicAddress\": \"{{server.environment.OVERRIDE_SERVER_IP}}\",\n \"publicPort\": \"{{server.environment.OVERRIDE_SERVER_PORT}}\",\n \"a2s.address\": \"{{server.environment.A2S_ADDRESS}}\",\n \"a2s.port\": \"{{server.environment.A2S_PORT}}\",\n \"rcon.address\": \"{{server.environment.RCON_ADDRESS}}\",\n \"rcon.port\": \"{{server.environment.RCON_PORT}}\",\n \"rcon.password\": \"{{server.environment.RCON_PASSWORD}}\",\n \"rcon.permission\": \"{{server.environment.RCON_PERMISSION}}\",\n \"game.name\": \"{{server.environment.SERVER_NAME}}\",\n \"game.password\": \"{{server.environment.SERVER_PASS}}\",\n \"game.passwordAdmin\": \"{{server.environment.ADMIN_PASS}}\",\n \"game.scenarioId\": \"{{server.environment.SCENARIO_ID}}\",\n \"game.maxPlayers\": \"{{server.environment.MAX_PLAYERS}}\",\n \"game.visible\": \"{{server.environment.VISIBLE}}\",\n \"game.gameProperties.disableThirdPerson\": \"{{server.environment.DISABLE_THIRD}}\",\n \"game.gameProperties.fastValidation\": true,\n \"game.gameProperties.battlEye\": \"{{server.environment.BATTLEYE}}\"\n }\n }\n}", "startup": "{\n \"done\": \"Starting RPL server\"\n}", "logs": "{}", "stop": "^C" }, "scripts": { "installation": { "script": "#!/bin/bash\n\n## File: ArmaField Pelican Egg installer\n## Based on: pelican-eggs/games-steamcmd/arma/arma_reforger by red_thirten\n## License: MIT\n## Image: ghcr.io/parkervcp/installers:debian\n\nset -e\nexport HOME=/mnt/server\ncd /tmp\nmkdir -p $HOME/steamcmd $HOME/steamapps\ncurl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz\ntar -xzvf steamcmd.tar.gz -C $HOME/steamcmd\ncd $HOME/steamcmd\n\n# Workaround for experimental branch\nif [[ \"${SRCDS_APPID}\" == \"1890870\" ]]; then\n WINDOWS_INSTALL=\"1\"\nfi\n\nchown -R root:root /mnt\n\n# Install/verify game server\n./steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +quit\n\nmkdir -p /mnt/server/.steam/sdk{32,64}\ncp -v linux32/steamclient.so /mnt/server/.steam/sdk32/steamclient.so\ncp -v linux64/steamclient.so /mnt/server/.steam/sdk64/steamclient.so\n\nif [[ ! -f \"$HOME/ArmaReforgerServer\" && ! -f \"$HOME/ArmaReforgerServer.exe\" ]]; then\n echo -e \"\\n\\nSteamCMD failed to install Arma Reforger Dedicated Server!\\n\"\n exit 1\nfi\n\nmkdir -p $HOME/profile $HOME/tmp\n\n## --- ArmaField additions ---\n\n# Download static jq for the MapSeeding hook (one-shot, ~800 KB).\nif [[ ! -f \"$HOME/jq\" ]]; then\n echo \"Downloading jq for MapSeeding hook...\"\n curl -sSL -o $HOME/jq https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-amd64\n chmod +x $HOME/jq\nfi\n\n# Write the MapSeeding hook script.\ncat > $HOME/apply_map_seeding.sh << 'HOOKEOF'\n#!/usr/bin/env bash\n# Pre-launch hook:\n# 1. (Re)generate BackendSettings.json from BACKEND_TOKEN / BACKEND_URL env vars.\n# 2. Override game.scenarioId in config.json from MapSeeding.json (written by ArmaField mod).\n\npatch_config() {\n if ./jq \"$@\" config.json > config.json.tmp; then\n mv config.json.tmp config.json\n return 0\n fi\n rm -f config.json.tmp\n return 1\n}\n\n# --- 1. BackendSettings.json (always regenerated from env vars) ---\nBACKEND_DIR=\"./profile/profile/ArmaField/Systems\"\nmkdir -p \"$BACKEND_DIR\"\n./jq -n \\\n --arg token \"${BACKEND_TOKEN}\" \\\n --arg url \"${BACKEND_URL}\" \\\n '{ServerToken: $token, BackendURL: $url}' \\\n > \"$BACKEND_DIR/BackendSettings.json\"\necho \"[ArmaField] BackendSettings.json regenerated (BackendURL=${BACKEND_URL})\"\n\n# --- 1b. Coerce password fields to strings (workaround for Pelican parser auto-numbering digit-only values) ---\npatch_config '\n (.game.passwordAdmin |= (if type == \"number\" then tostring else . end))\n | (.game.password |= (if type == \"number\" then tostring else . end))\n | (if .rcon then .rcon.password |= (if type == \"number\" then tostring else . end) else . end)\n'\n\n\n# --- 2. MapSeeding ---\nSEED=\"$BACKEND_DIR/MapSeeding.json\"\nif [ -f \"$SEED\" ]; then\n MISSION=$(./jq -r '.MissionResourceName // empty' \"$SEED\" 2>/dev/null)\n MISSION=\"${MISSION#\"${MISSION%%[![:space:]]*}\"}\"\n MISSION=\"${MISSION%\"${MISSION##*[![:space:]]}\"}\"\n case \"$MISSION\" in\n \\{*\\}*.conf)\n if patch_config --arg m \"$MISSION\" '.game.scenarioId = $m'; then\n echo \"[ArmaField] Loaded next mission from MapSeeding.json: $MISSION\"\n else\n echo \"[ArmaField] Failed to patch scenarioId - keeping existing value\"\n fi\n ;;\n \"\")\n echo \"[ArmaField] MapSeeding.json: MissionResourceName missing/empty - using scenarioId from config.json\"\n ;;\n *)\n echo \"[ArmaField] MapSeeding.json: MissionResourceName=$MISSION doesn't look like a scenario resource - ignoring\"\n ;;\n esac\nelse\n echo \"[ArmaField] No MapSeeding.json yet - using scenarioId from config.json\"\nfi\n\nHOOKEOF\nchmod +x $HOME/apply_map_seeding.sh\n\n# Default config.json (with ArmaField mod baked in) - created only if missing.\nif [[ ! -f \"$HOME/config.json\" ]]; then\n echo \"Creating default config.json with ArmaField mod...\"\n cat > $HOME/config.json << EOF\n{\n \"bindAddress\": \"0.0.0.0\",\n \"bindPort\": ${SERVER_PORT},\n \"publicAddress\": \"${SERVER_IP}\",\n \"publicPort\": ${SERVER_PORT},\n \"a2s\": {\n \"address\": \"${A2S_ADDRESS}\",\n \"port\": ${A2S_PORT}\n },\n \"rcon\": {\n \"address\": \"${RCON_ADDRESS}\",\n \"port\": ${RCON_PORT},\n \"password\": \"${RCON_PASSWORD}\",\n \"permission\": \"${RCON_PERMISSION}\",\n \"blacklist\": [],\n \"whitelist\": []\n },\n \"game\": {\n \"name\": \"${SERVER_NAME}\",\n \"password\": \"${SERVER_PASS}\",\n \"passwordAdmin\": \"${ADMIN_PASS}\",\n \"admins\": [],\n \"scenarioId\": \"${SCENARIO_ID}\",\n \"maxPlayers\": ${MAX_PLAYERS},\n \"visible\": ${VISIBLE},\n \"crossPlatform\": false,\n \"supportedPlatforms\": [\"PLATFORM_PC\"],\n \"gameProperties\": {\n \"serverMaxViewDistance\": 2500,\n \"serverMinGrassDistance\": 50,\n \"networkViewDistance\": 1000,\n \"disableThirdPerson\": ${DISABLE_THIRD},\n \"fastValidation\": true,\n \"battlEye\": ${BATTLEYE},\n \"VONDisableUI\": true,\n \"VONDisableDirectSpeechUI\": true\n },\n \"mods\": [\n {\n \"modId\": \"68FA258A6C74CE73\",\n \"name\": \"ArmaField\"\n }\n ]\n },\n \"operating\": {\n \"lobbyPlayerSynchronise\": true,\n \"joinQueue\": {\n \"maxSize\": 50\n },\n \"disableNavmeshStreaming\": [\"Soldiers\"]\n }\n}\nEOF\nfi\n\n# BackendSettings.json is generated by apply_map_seeding.sh on every server\n# start (regenerated fresh from BACKEND_TOKEN / BACKEND_URL env vars), so we\n# only need to ensure the directory exists at install time.\nmkdir -p $HOME/profile/profile/ArmaField/Systems\n\necho -e \"\\n\\nArmaField Reforger server installed.\"\necho \"Backend: defaults to public test backend (https://test.armafield.gg).\"\necho \"For production, set Backend Token and Backend URL in the panel variables.\\n\"", "container": "ghcr.io/parkervcp/installers:debian", "entrypoint": "/bin/bash" } }, "variables": [ { "name": "Server Name", "description": "Name displayed in the server browser.", "env_variable": "SERVER_NAME", "default_value": "ArmaField Server", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "max:255" ], "sort": 1 }, { "name": "Server Password", "description": "Password required for clients to enter the server. Leave empty for none.", "env_variable": "SERVER_PASS", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "string", "max:32" ], "sort": 2 }, { "name": "Admin Password", "description": "Used with #login in chat for admin commands. No spaces.", "env_variable": "ADMIN_PASS", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "string", "max:32" ], "sort": 3 }, { "name": "Max Players", "description": "Maximum number of players allowed to join the server.", "env_variable": "MAX_PLAYERS", "default_value": "64", "user_viewable": true, "user_editable": true, "rules": [ "required", "integer", "between:1,256" ], "sort": 4 }, { "name": "Initial Scenario ID", "description": "Starting mission used on first launch (or whenever MapSeeding.json is missing/invalid). The ArmaField mod will overwrite MapSeeding.json with the next mission after each round; that file takes precedence over this value on subsequent restarts.", "env_variable": "SCENARIO_ID", "default_value": "{1FB87580B53C498D}Missions/AF_Arland_Airport.conf", "user_viewable": true, "user_editable": true, "rules": [ "required", "string" ], "sort": 5 }, { "name": "Visible in Server Browser", "description": "Whether the server appears in the public server browser.", "env_variable": "VISIBLE", "default_value": "true", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "in:true,false" ], "sort": 6 }, { "name": "Enable BattlEye", "description": "Enables the anti-cheat engine. All clients must run BattlEye to connect.", "env_variable": "BATTLEYE", "default_value": "true", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "in:true,false" ], "sort": 7 }, { "name": "Disable Third Person", "description": "Force first-person view for all players.", "env_variable": "DISABLE_THIRD", "default_value": "false", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "in:true,false" ], "sort": 8 }, { "name": "Automatic Updates", "description": "Quickly check for server/mod updates on startup and apply them.", "env_variable": "AUTO_UPDATE", "default_value": "1", "user_viewable": true, "user_editable": true, "rules": [ "boolean" ], "sort": 9 }, { "name": "[Advanced] Max FPS", "description": "Server FPS cap. Recommended 60-120. Leave empty for no cap.", "env_variable": "MAX_FPS", "default_value": "120", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "integer", "gt:0" ], "sort": 10 }, { "name": "[Advanced] Log FPS Interval", "description": "How often (in seconds) to log FPS/debug stats. 0 to disable.", "env_variable": "LOG_INTERVAL", "default_value": "0", "user_viewable": true, "user_editable": true, "rules": [ "required", "integer", "min:0" ], "sort": 11 }, { "name": "[Repair] Validate Server Files", "description": "Set to \"true\" to validate all files when Automatic Updates runs. Significantly slows startup; only enable when fixing a broken install.", "env_variable": "VALIDATE", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "string" ], "sort": 12 }, { "name": "Override Server IP", "description": "Public IP announced to the backend and shown to clients in the server browser (publicAddress). For anti-DDoS / reverse-proxy setups, set this to the scrubbed/external IP. For a direct hosting setup, set this to the server's public IPv4. bindAddress is always forced to 0.0.0.0.", "env_variable": "OVERRIDE_SERVER_IP", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "max:255" ], "sort": 15 }, { "name": "Override Server Port", "description": "Public UDP port used for both bindPort and publicPort. Set to the external port (anti-DDoS scrub port, forwarded port, etc). The Pelican allocation port can be used here if no override is needed.", "env_variable": "OVERRIDE_SERVER_PORT", "default_value": "2001", "user_viewable": true, "user_editable": true, "rules": [ "required", "integer", "between:1,65535" ], "sort": 16 }, { "name": "A2S Address", "description": "IP address the A2S socket binds to. Use 0.0.0.0 to listen on all interfaces (recommended for Docker / containerised setups). Set to a specific IP only if you need to restrict A2S queries to one network interface.", "env_variable": "A2S_ADDRESS", "default_value": "0.0.0.0", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "max:255" ], "sort": 17 }, { "name": "A2S Port", "description": "Steam Server Query (A2S) UDP port. Allocate this port in the panel before starting.", "env_variable": "A2S_PORT", "default_value": "17777", "user_viewable": true, "user_editable": true, "rules": [ "required", "integer", "between:1,65535" ], "sort": 18 }, { "name": "RCON Address", "description": "IP address the RCON socket binds to. Use 0.0.0.0 to listen on all interfaces (recommended for Docker / containerised setups). Set to a specific IP only if you need to restrict RCON to one network interface.", "env_variable": "RCON_ADDRESS", "default_value": "0.0.0.0", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "max:255" ], "sort": 19 }, { "name": "RCON Port", "description": "RCON UDP port. Allocate this port in the panel before starting if you use RCON.", "env_variable": "RCON_PORT", "default_value": "19999", "user_viewable": true, "user_editable": true, "rules": [ "required", "integer", "between:1,65535" ], "sort": 20 }, { "name": "RCON Password", "description": "Password for RCON access. Must be at least 3 characters and contain no spaces. Empty disables RCON.", "env_variable": "RCON_PASSWORD", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "string", "min:3", "max:128", "regex:/^\\S+$/" ], "sort": 21 }, { "name": "RCON Permission", "description": "Permission level for RCON clients. 'admin' can do anything; 'monitor' is read-only.", "env_variable": "RCON_PERMISSION", "default_value": "admin", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "in:admin,monitor" ], "sort": 22 }, { "name": "ArmaField Backend URL", "description": "HTTPS URL of the ArmaField backend the mod talks to. Default points at the public test backend (suitable for testing only). For production, point at your own self-hosted backend (https://github.com/ArmaField/ArmaField-BackEnd). Must start with https:// - Arma Reforger rejects plain http.", "env_variable": "BACKEND_URL", "default_value": "https://test.armafield.gg", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "regex:/^https:\\/\\//", "max:255" ], "sort": 23 }, { "name": "ArmaField Backend Token", "description": "Server token used to authenticate this server with the backend. Default is the public test token (paired with the test backend). For production, generate a strong random token, configure it on your self-hosted backend, and put the same value here.", "env_variable": "BACKEND_TOKEN", "default_value": "ARMAFIELD-TEST-TOKEN", "user_viewable": true, "user_editable": true, "rules": [ "required", "string", "min:3", "max:128" ], "sort": 24 }, { "name": "[Advanced] Steam App ID", "description": "1874900 = stable Arma Reforger Dedicated Server. 1890870 = experimental.", "env_variable": "SRCDS_APPID", "default_value": "1874900", "user_viewable": false, "user_editable": false, "rules": [ "required", "integer" ], "sort": 25 } ] }