- Fixes the "Invalid platform" SteamCMD installation error by forcing the use of a valid Steam account. - Updated the README to reflect this change of requirements.
		
			
				
	
	
		
			204 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			204 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|     "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
 | |
|     "meta": {
 | |
|         "version": "PTDL_v2",
 | |
|         "update_url": null
 | |
|     },
 | |
|     "exported_at": "2024-11-28T14:47:08-08:00",
 | |
|     "name": "Arma Reforger",
 | |
|     "author": "red_thirten@yahoo.com",
 | |
|     "description": "Experience authentic Cold War combat and join friends in the struggle for a sprawling, 51 km\u00b2 mid-Atlantic island \u2014 or take on the role of Game Master and create your very own scenarios for others to enjoy.",
 | |
|     "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; .\/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": "{\r\n    \"config.json\": {\r\n        \"parser\": \"json\",\r\n        \"find\": {\r\n            \"bindAddress\": \"0.0.0.0\",\r\n            \"bindPort\": \"{{server.build.default.port}}\",\r\n            \"publicAddress\": \"{{server.build.default.ip}}\",\r\n            \"publicPort\": \"{{server.build.default.port}}\",\r\n            \"game.name\": \"{{server.build.env.SERVER_NAME}}\",\r\n            \"game.password\": \"{{server.build.env.SERVER_PASS}}\",\r\n            \"game.passwordAdmin\": \"{{server.build.env.ADMIN_PASS}}\",\r\n            \"game.scenarioId\": \"{{server.build.env.SCENARIO_ID}}\",\r\n            \"game.maxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n            \"game.visible\": \"{{server.build.env.VISIBLE}}\",\r\n            \"game.gameProperties.disableThirdPerson\": \"{{server.build.env.DISABLE_THIRD}}\",\r\n            \"game.gameProperties.fastValidation\": true,\r\n            \"game.gameProperties.battlEye\": \"{{server.build.env.BATTLEYE}}\"\r\n        }\r\n    }\r\n}",
 | |
|         "startup": "{\r\n    \"done\": \"Starting RPL server\"\r\n}",
 | |
|         "logs": "{}",
 | |
|         "stop": "^C"
 | |
|     },
 | |
|     "scripts": {
 | |
|         "installation": {
 | |
|             "script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma Reforger Egg - egg-pterodactyl-arma-reforger.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2024\/11\/28\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Check for valid Steam credentials to download Arma Reforger with (requires valid Steam account)\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_USER}\" == \"anonymous\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n    echo -e \"INSTALLATION ERROR: A valid REAL Steam account is required to download the Arma Reforger Dedicated Server.\"\r\n    echo -e \"\\t(\\\"anonymous\\\" account cannot be used. Game ownership is not required.)\"\r\n    exit 1\r\nfi\r\n\r\n## Download and install SteamCMD\r\nexport HOME=\/mnt\/server\r\ncd \/tmp\r\nmkdir -p $HOME\/steamcmd $HOME\/steamapps\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C $HOME\/steamcmd\r\ncd $HOME\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\nchown -R root:root \/mnt\r\n\r\n# Install\/Verify game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir $HOME \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" $( [[ \"${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\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Arma Reforger setup\r\n# Check for successful installation\r\nif [[ ! -f $HOME\/ArmaReforgerServer ]]; then\r\n    echo -e \"\\n\\nSteamCMD failed to install the Arma Reforger Dedicated Server!\"\r\n    echo -e \"\\tTry reinstalling the server again.\\n\"\r\n    exit 1\r\nfi\r\n\r\nmkdir -p $HOME\/profile $HOME\/tmp\r\n\r\necho -e 'Creating default \"config.json\" configuration file...'\r\ncat > $HOME\/config.json << EOF\r\n{\r\n\t\"bindAddress\": \"0.0.0.0\",\r\n\t\"bindPort\": ${SERVER_PORT},\r\n\t\"publicAddress\": \"${SERVER_IP}\",\r\n\t\"publicPort\": ${SERVER_PORT},\r\n\t\"game\": {\r\n\t\t\"name\": \"${SERVER_NAME}\",\r\n\t\t\"password\": \"${SERVER_PASS}\",\r\n\t\t\"passwordAdmin\": \"${ADMIN_PASS}\",\r\n\t\t\"admins\" : [],\r\n\t\t\"scenarioId\": \"${SCENARIO_ID}\",\r\n\t\t\"maxPlayers\": ${MAX_PLAYERS},\r\n\t\t\"visible\": ${VISIBLE},\r\n\t\t\"gameProperties\": {\r\n\t\t\t\"serverMaxViewDistance\": 2500,\r\n\t\t\t\"serverMinGrassDistance\": 50,\r\n\t\t\t\"networkViewDistance\": 1000,\r\n\t\t\t\"disableThirdPerson\": ${DISABLE_THIRD},\r\n\t\t\t\"fastValidation\": true,\r\n\t\t\t\"battlEye\": ${BATTLEYE},\r\n\t\t\t\"VONDisableUI\": false,\r\n\t\t\t\"VONDisableDirectSpeechUI\": false\r\n\t\t},\r\n\t\t\"mods\": []\r\n\t}\r\n}\r\nEOF\r\n\r\necho -e \"\\nArma Reforger Dedicated Server successfully installed!\\n\"",
 | |
|             "container": "ghcr.io\/parkervcp\/installers:debian",
 | |
|             "entrypoint": "\/bin\/bash"
 | |
|         }
 | |
|     },
 | |
|     "variables": [
 | |
|         {
 | |
|             "name": "[REQUIRED] Steam Username",
 | |
|             "description": "Used for installation and updates. Account does not need to own Arma Reforger, but MUST BE a VALID Steam account (anonymous login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*",
 | |
|             "env_variable": "STEAM_USER",
 | |
|             "default_value": "",
 | |
|             "user_viewable": false,
 | |
|             "user_editable": false,
 | |
|             "rules": "required|string",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[REQUIRED] Steam Password",
 | |
|             "description": "Used for installation and updates. Steam Guard MUST be completely TURNED OFF for install to complete successfully. *This info is not visible to the server owner, BUT IS stored in PLAIN TEXT. It is NOT advised to use a personal account; best to use a dummy account.*",
 | |
|             "env_variable": "STEAM_PASS",
 | |
|             "default_value": "",
 | |
|             "user_viewable": false,
 | |
|             "user_editable": false,
 | |
|             "rules": "required|string",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Automatic Updates",
 | |
|             "description": "Quickly checks for any server or mod updates on startup, and updates if necessary.",
 | |
|             "env_variable": "AUTO_UPDATE",
 | |
|             "default_value": "1",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "boolean",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Server Region",
 | |
|             "description": "Region listed in the server browser. ISO 3166-1 alpha-2 codes can be used in this field.",
 | |
|             "env_variable": "REGION",
 | |
|             "default_value": "US",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string|in:AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER,ES,ET,EU,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SR,SS,ST,SV,SX,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Server Name",
 | |
|             "description": "Name displayed in the server browser.",
 | |
|             "env_variable": "SERVER_NAME",
 | |
|             "default_value": "Arma Reforger Server",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string|max:255",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Max Players",
 | |
|             "description": "Maximum number of players allowed to join the server.",
 | |
|             "env_variable": "MAX_PLAYERS",
 | |
|             "default_value": "32",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|integer|between:1,256",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Server Password",
 | |
|             "description": "Password required for clients to enter before they can join the server. Leave empty to have no password.",
 | |
|             "env_variable": "SERVER_PASS",
 | |
|             "default_value": "",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "nullable|string|max:32",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Admin Password",
 | |
|             "description": "",
 | |
|             "env_variable": "ADMIN_PASS",
 | |
|             "default_value": "",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "nullable|string|max:32",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Scenario ID",
 | |
|             "description": "ID of scenario to run\/play. Valid IDs can be viewed in the console upon startup of the server.",
 | |
|             "env_variable": "SCENARIO_ID",
 | |
|             "default_value": "{ECC61978EDCC2B5A}Missions\/23_Campaign.conf",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Auto Joinable",
 | |
|             "description": "Set if the session can be selected through the auto join feature.",
 | |
|             "env_variable": "AUTO_JOINABLE",
 | |
|             "default_value": "true",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string|in:true,false",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Visible in Server Browser",
 | |
|             "description": "Set the visibility of the server in the Server Browser.",
 | |
|             "env_variable": "VISIBLE",
 | |
|             "default_value": "true",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string|in:true,false",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Enable BattlEye",
 | |
|             "description": "Enables the anti-cheat engine on the server and requires all clients to be running it.",
 | |
|             "env_variable": "BATTLEYE",
 | |
|             "default_value": "true",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string|in:true,false",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Disable Third Person",
 | |
|             "description": "",
 | |
|             "env_variable": "DISABLE_THIRD",
 | |
|             "default_value": "false",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string|in:true,false",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Advanced] Max FPS",
 | |
|             "description": "Sets a maximum FPS limit for the server, saving performance in some cases. Leave empty for no limit.",
 | |
|             "env_variable": "MAX_FPS",
 | |
|             "default_value": "120",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "nullable|integer|gt:0",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Advanced] Log FPS Interval",
 | |
|             "description": "How often (in seconds) to log the FPS and other debug stats to the console. Set to 0 to disable.",
 | |
|             "env_variable": "LOG_INTERVAL",
 | |
|             "default_value": "0",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|integer|min:0",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Repair] Validate Server Files",
 | |
|             "description": "\"true\" to enable; empty to disable. Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.",
 | |
|             "env_variable": "VALIDATE",
 | |
|             "default_value": "",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "nullable|string",
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Advanced] Arma Reforger Dedicated Server App ID",
 | |
|             "description": "Used for installation and updates. Rarely needs to be changed.",
 | |
|             "env_variable": "SRCDS_APPID",
 | |
|             "default_value": "1874900",
 | |
|             "user_viewable": false,
 | |
|             "user_editable": false,
 | |
|             "rules": "required|integer",
 | |
|             "field_type": "text"
 | |
|         }
 | |
|     ]
 | |
| } |