General Egg Cleanup
- Fixed typo in description - Fixed BattlEye path in startup command - Wrapped extra startup parameters in quotations to prevent a malicious client from executing arbitrary bash commands on the container via a (potentially forced) Arma server application crash. - Stop command no longer requires extra "C" and was fixed. - Updated install script to check for valid Steam credentials (required for Arma 3) and removed an un-needed directory creation. Also made the Script Entrypoint Command more specific. - Removed long gone depreciated startup variables (not even used in startup or entrypoint anymore).
This commit is contained in:
		
							parent
							
								
									ce7ed22b9f
								
							
						
					
					
						commit
						da7bfab43d
					
				@ -1,13 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
 | 
					    "_comment": "Pterodactyl Arma 3 Egg ~ David Wolfe (Red-Thirten) ~ 2022-05-22",
 | 
				
			||||||
    "meta": {
 | 
					    "meta": {
 | 
				
			||||||
        "version": "PTDL_v1",
 | 
					        "version": "PTDL_v1",
 | 
				
			||||||
        "update_url": null
 | 
					        "update_url": null
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "exported_at": "2021-11-26T13:51:11+01:00",
 | 
					 | 
				
			||||||
    "name": "Arma 3",
 | 
					    "name": "Arma 3",
 | 
				
			||||||
    "author": "rehlmgaming@gmail.com",
 | 
					    "author": "rehlmgaming@gmail.com",
 | 
				
			||||||
    "description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
 | 
					    "description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
 | 
				
			||||||
    "features": [
 | 
					    "features": [
 | 
				
			||||||
        "steam_disk_space"
 | 
					        "steam_disk_space"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
@ -15,18 +14,18 @@
 | 
				
			|||||||
        "ghcr.io\/parkervcp\/games:arma3"
 | 
					        "ghcr.io\/parkervcp\/games:arma3"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "file_denylist": [],
 | 
					    "file_denylist": [],
 | 
				
			||||||
    "startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/battleye -cfg=basic.cfg -config=server.cfg -mod=\\\"{{CLIENT_MODS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" {{STARTUP_PARAMS}}",
 | 
					    "startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/ -cfg=basic.cfg -config=server.cfg -mod=\\\"{{CLIENT_MODS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" \\\"{{STARTUP_PARAMS}}\\\"",
 | 
				
			||||||
    "config": {
 | 
					    "config": {
 | 
				
			||||||
        "files": "{\r\n    \"server.cfg\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"\/\/password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"\/\/password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"maxPlayers\": \"maxPlayers = {{env.MAX_PLAYERS}};\",\r\n            \"headlessClients\": \"headlessClients[] = { \\\"127.0.0.1\\\" };\",\r\n            \"localClient\": \"localClient[] = { \\\"127.0.0.1\\\" };\"\r\n        }\r\n    }\r\n}",
 | 
					        "files": "{\r\n    \"server.cfg\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"\/\/password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"\/\/password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n            \"maxPlayers\": \"maxPlayers = {{env.MAX_PLAYERS}};\",\r\n            \"headlessClients\": \"headlessClients[] = { \\\"127.0.0.1\\\" };\",\r\n            \"localClient\": \"localClient[] = { \\\"127.0.0.1\\\" };\"\r\n        }\r\n    }\r\n}",
 | 
				
			||||||
        "startup": "{\r\n    \"done\": \"Host identity created.\"\r\n}",
 | 
					        "startup": "{\r\n    \"done\": \"Host identity created.\"\r\n}",
 | 
				
			||||||
        "logs": "{}",
 | 
					        "logs": "{}",
 | 
				
			||||||
        "stop": "^CC"
 | 
					        "stop": "^C"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "scripts": {
 | 
					    "scripts": {
 | 
				
			||||||
        "installation": {
 | 
					        "installation": {
 | 
				
			||||||
            "script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma 3 Egg - egg-arma3.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2021\/07\/11\r\n## License: MIT License\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \"\/mnt\/server\/steamcmd\" \"\/mnt\/server\/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 \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n# Set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# Arma 3 setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO ${BASIC_URL}\r\n[[ -f server.cfg ]] || curl -sSLO ${BASIC_URL%\/*}\/server.cfg\r\nchmod 755 basic.cfg server.cfg",
 | 
					            "script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma 3 Egg - egg-arma3.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/22\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Check for valid Steam credentials to download Arma 3 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 3 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\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/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 \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} 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 3 setup\r\ncd \/mnt\/server\/\r\n[[ -f basic.cfg ]] || curl -sSLO ${BASIC_URL}\r\n[[ -f server.cfg ]] || curl -sSLO ${BASIC_URL%\/*}\/server.cfg\r\nchmod 644 basic.cfg server.cfg",
 | 
				
			||||||
            "container": "ghcr.io\/parkervcp\/installers:debian",
 | 
					            "container": "ghcr.io\/parkervcp\/installers:debian",
 | 
				
			||||||
            "entrypoint": "bash"
 | 
					            "entrypoint": "\/bin\/bash"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "variables": [
 | 
					    "variables": [
 | 
				
			||||||
@ -227,24 +226,6 @@
 | 
				
			|||||||
            "user_viewable": false,
 | 
					            "user_viewable": false,
 | 
				
			||||||
            "user_editable": false,
 | 
					            "user_editable": false,
 | 
				
			||||||
            "rules": "required|url"
 | 
					            "rules": "required|url"
 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            "name": "[Depreciated] Server Configuration File",
 | 
					 | 
				
			||||||
            "description": "This is a depreciated variable that is only included for servers running on an older Startup Command.",
 | 
					 | 
				
			||||||
            "env_variable": "CONFIG",
 | 
					 | 
				
			||||||
            "default_value": "server.cfg",
 | 
					 | 
				
			||||||
            "user_viewable": false,
 | 
					 | 
				
			||||||
            "user_editable": false,
 | 
					 | 
				
			||||||
            "rules": "string|nullable"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            "name": "[Depreciated] Basic Configuration File",
 | 
					 | 
				
			||||||
            "description": "This is a depreciated variable that is only included for servers running on an older Startup Command.",
 | 
					 | 
				
			||||||
            "env_variable": "BASIC",
 | 
					 | 
				
			||||||
            "default_value": "basic.cfg",
 | 
					 | 
				
			||||||
            "user_viewable": false,
 | 
					 | 
				
			||||||
            "user_editable": false,
 | 
					 | 
				
			||||||
            "rules": "required|string"
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user