fix(satisfactory): SteamCMD download link & PTDL_v2 Upgrade (#1727)
This commit is contained in:
		
							parent
							
								
									c27c6fa367
								
							
						
					
					
						commit
						d4c3296696
					
				@ -152,7 +152,7 @@ ___
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### Console Commands
 | 
					### Console Commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
As of v0.5.1.10, the console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing.
 | 
					The console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[List of known commands can be found via the Wiki.](https://satisfactory.fandom.com/wiki/Dedicated_servers#Console_commands)
 | 
					[List of known commands can be found via the Wiki.](https://satisfactory.fandom.com/wiki/Dedicated_servers#Console_commands)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2022-02-07",
 | 
					    "_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2022-06-27",
 | 
				
			||||||
    "meta": {
 | 
					    "meta": {
 | 
				
			||||||
        "version": "PTDL_v1",
 | 
					        "version": "PTDL_v2",
 | 
				
			||||||
        "update_url": null
 | 
					        "update_url": null
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "name": "Satisfactory",
 | 
					    "name": "Satisfactory",
 | 
				
			||||||
@ -10,9 +10,9 @@
 | 
				
			|||||||
    "features": [
 | 
					    "features": [
 | 
				
			||||||
        "steam_disk_space"
 | 
					        "steam_disk_space"
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "images": [
 | 
					    "docker_images": {
 | 
				
			||||||
        "ghcr.io\/parkervcp\/games:source"
 | 
					        "ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
 | 
				
			||||||
    ],
 | 
					    },
 | 
				
			||||||
    "file_denylist": [],
 | 
					    "file_denylist": [],
 | 
				
			||||||
    "startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame ?listen -Port={{SERVER_PORT}} -ServerQueryPort={{QUERY_PORT}} -BeaconPort={{BEACON_PORT}} -multihome=0.0.0.0 $(if {{DISABLE_SEASONAL}}; then echo \"-DisableSeasonalEvents\"; fi)",
 | 
					    "startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame ?listen -Port={{SERVER_PORT}} -ServerQueryPort={{QUERY_PORT}} -BeaconPort={{BEACON_PORT}} -multihome=0.0.0.0 $(if {{DISABLE_SEASONAL}}; then echo \"-DisableSeasonalEvents\"; fi)",
 | 
				
			||||||
    "config": {
 | 
					    "config": {
 | 
				
			||||||
@ -23,7 +23,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "scripts": {
 | 
					    "scripts": {
 | 
				
			||||||
        "installation": {
 | 
					        "installation": {
 | 
				
			||||||
            "script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Satisfactory Egg - egg-satisfactory.json\r\n# Authors: Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord\r\n# Date: 2021\/11\/29\r\n# License: MIT License\r\n\r\n## Download and install SteamCMD\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\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\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 anonymous +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +exit\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## Satisfactory setup\r\n# Check for successful installation and make the core binary executable.\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\nif [[ ! -f UE4Server-Linux-Shipping ]]; then\r\n    echo -e \"\\n\\nSteamCMD failed to install the Satisfactory Dedicated Server!\"\r\n    echo -e \"\\tTry reinstalling the server again.\\n\"\r\n    exit 1\r\nelse\r\n    chmod +x UE4Server-Linux-Shipping\r\nfi\r\n\r\n# Make Config directory and default .ini files (since they are not initially present before first server start)\r\nmkdir -p \/mnt\/server\/FactoryGame\/Saved\/Config\/LinuxServer\/ && cd \"$_\"\r\n# Currently, this will delete & re-create certain .ini files during a re-install if they are already present.\r\n# While undesirable, this is required due to a current Pterodactyl ini config parser limitation.\r\n# When the patch to this limitation hits the production branch, this will be updated.\r\nrm -f Engine.ini Game.ini GameUserSettings.ini\r\n\r\necho -e '\\nCreating default \"Engine.ini\" configuration file...'\r\ncat > Engine.ini << EOF\r\n[\/Script\/FactoryGame.FGSaveSession]\r\nmNumRotatingAutosaves=${NUM_AUTOSAVES}\r\n\r\n[CrashReportClient]\r\nbImplicitSend=${UPLOAD_CRASH_REPORT}\r\n\r\n[\/Script\/OnlineSubsystemUtils.IpNetDriver]\r\nInitialConnectTimeout=${INIT_CONNECT_TIMEOUT}\r\nConnectionTimeout=${CONNECT_TIMEOUT}\r\nEOF\r\n\r\necho -e 'Creating default \"Game.ini\" configuration file...'\r\ncat > Game.ini << EOF\r\n[\/Script\/Engine.GameSession]\r\nMaxPlayers=${MAX_PLAYERS}\r\nEOF\r\n\r\necho -e 'Creating default \"GameUserSettings.ini\" configuration file...'\r\ncat > GameUserSettings.ini << EOF\r\n[\/Script\/FactoryGame.FGGameUserSettings]\r\nmIntValues=((\"FG.NetworkQuality\", ${NETWORK_QUALITY}))\r\nmFloatValues=((\"FG.AutosaveInterval\", ${AUTOSAVE_INTERVAL}))\r\nEOF\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
 | 
					            "script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Satisfactory Egg - egg-satisfactory.json\r\n# Authors: Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord\r\n# Date: 2022\/06\/27\r\n# License: MIT License\r\n\r\n## Download and install SteamCMD\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\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\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 anonymous +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +exit\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## Satisfactory setup\r\n# Check for successful installation and make the core binary executable.\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\nif [[ ! -f UE4Server-Linux-Shipping ]]; then\r\n    echo -e \"\\n\\nSteamCMD failed to install the Satisfactory Dedicated Server!\"\r\n    echo -e \"\\tTry reinstalling the server again.\\n\"\r\n    exit 1\r\nelse\r\n    chmod +x UE4Server-Linux-Shipping\r\nfi\r\n\r\n# Make Config directory and default .ini files (since they are not initially present before first server start)\r\nmkdir -p \/mnt\/server\/FactoryGame\/Saved\/Config\/LinuxServer\/ && cd \"$_\"\r\n# Currently, this will delete & re-create certain .ini files during a re-install if they are already present.\r\n# While undesirable, this is required due to a current Pterodactyl ini config parser limitation.\r\n# When the patch to this limitation hits the production branch, this will be updated.\r\nrm -f Engine.ini Game.ini GameUserSettings.ini\r\n\r\necho -e '\\nCreating default \"Engine.ini\" configuration file...'\r\ncat > Engine.ini << EOF\r\n[\/Script\/FactoryGame.FGSaveSession]\r\nmNumRotatingAutosaves=${NUM_AUTOSAVES}\r\n\r\n[CrashReportClient]\r\nbImplicitSend=${UPLOAD_CRASH_REPORT}\r\n\r\n[\/Script\/OnlineSubsystemUtils.IpNetDriver]\r\nInitialConnectTimeout=${INIT_CONNECT_TIMEOUT}\r\nConnectionTimeout=${CONNECT_TIMEOUT}\r\nEOF\r\n\r\necho -e 'Creating default \"Game.ini\" configuration file...'\r\ncat > Game.ini << EOF\r\n[\/Script\/Engine.GameSession]\r\nMaxPlayers=${MAX_PLAYERS}\r\nEOF\r\n\r\necho -e 'Creating default \"GameUserSettings.ini\" configuration file...'\r\ncat > GameUserSettings.ini << EOF\r\n[\/Script\/FactoryGame.FGGameUserSettings]\r\nmIntValues=((\"FG.NetworkQuality\", ${NETWORK_QUALITY}))\r\nmFloatValues=((\"FG.AutosaveInterval\", ${AUTOSAVE_INTERVAL}))\r\nEOF\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
 | 
				
			||||||
            "container": "ghcr.io\/pterodactyl\/installers:debian",
 | 
					            "container": "ghcr.io\/pterodactyl\/installers:debian",
 | 
				
			||||||
            "entrypoint": "\/bin\/bash"
 | 
					            "entrypoint": "\/bin\/bash"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -36,7 +36,8 @@
 | 
				
			|||||||
            "default_value": "15777",
 | 
					            "default_value": "15777",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": false,
 | 
					            "user_editable": false,
 | 
				
			||||||
            "rules": "required|integer|between:1024,65536"
 | 
					            "rules": "required|integer|between:1024,65536",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[REQUIRED] Beacon Port",
 | 
					            "name": "[REQUIRED] Beacon Port",
 | 
				
			||||||
@ -45,7 +46,8 @@
 | 
				
			|||||||
            "default_value": "15000",
 | 
					            "default_value": "15000",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": false,
 | 
					            "user_editable": false,
 | 
				
			||||||
            "rules": "required|integer|between:1024,65536"
 | 
					            "rules": "required|integer|between:1024,65536",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "Automatic Updates",
 | 
					            "name": "Automatic Updates",
 | 
				
			||||||
@ -54,7 +56,8 @@
 | 
				
			|||||||
            "default_value": "1",
 | 
					            "default_value": "1",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "boolean"
 | 
					            "rules": "boolean",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[Repair] Validate Server Files",
 | 
					            "name": "[Repair] Validate Server Files",
 | 
				
			||||||
@ -63,7 +66,8 @@
 | 
				
			|||||||
            "default_value": "",
 | 
					            "default_value": "",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "string|nullable"
 | 
					            "rules": "string|nullable",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "Autosave Interval",
 | 
					            "name": "Autosave Interval",
 | 
				
			||||||
@ -72,7 +76,8 @@
 | 
				
			|||||||
            "default_value": "300",
 | 
					            "default_value": "300",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|numeric|min:1"
 | 
					            "rules": "required|numeric|min:1",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "Number of Rotating Autosaves",
 | 
					            "name": "Number of Rotating Autosaves",
 | 
				
			||||||
@ -81,7 +86,8 @@
 | 
				
			|||||||
            "default_value": "3",
 | 
					            "default_value": "3",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|integer|min:0"
 | 
					            "rules": "required|integer|min:0",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "Upload Crash Reports",
 | 
					            "name": "Upload Crash Reports",
 | 
				
			||||||
@ -90,7 +96,8 @@
 | 
				
			|||||||
            "default_value": "true",
 | 
					            "default_value": "true",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|string|in:true,false"
 | 
					            "rules": "required|string|in:true,false",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "Disable Seasonal Events",
 | 
					            "name": "Disable Seasonal Events",
 | 
				
			||||||
@ -99,7 +106,8 @@
 | 
				
			|||||||
            "default_value": "false",
 | 
					            "default_value": "false",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|string|in:true,false"
 | 
					            "rules": "required|string|in:true,false",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[Experimental] Max Players",
 | 
					            "name": "[Experimental] Max Players",
 | 
				
			||||||
@ -108,7 +116,8 @@
 | 
				
			|||||||
            "default_value": "4",
 | 
					            "default_value": "4",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|integer|min:1"
 | 
					            "rules": "required|integer|min:1",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[Advanced] Client Initial Connection Timeout",
 | 
					            "name": "[Advanced] Client Initial Connection Timeout",
 | 
				
			||||||
@ -117,7 +126,8 @@
 | 
				
			|||||||
            "default_value": "30",
 | 
					            "default_value": "30",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|numeric|min:1"
 | 
					            "rules": "required|numeric|min:1",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[Advanced] Client Established Connection Timeout",
 | 
					            "name": "[Advanced] Client Established Connection Timeout",
 | 
				
			||||||
@ -126,7 +136,8 @@
 | 
				
			|||||||
            "default_value": "20",
 | 
					            "default_value": "20",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|numeric|min:1"
 | 
					            "rules": "required|numeric|min:1",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[Advanced] Network Quality",
 | 
					            "name": "[Advanced] Network Quality",
 | 
				
			||||||
@ -135,7 +146,8 @@
 | 
				
			|||||||
            "default_value": "3",
 | 
					            "default_value": "3",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "required|integer|between:0,3"
 | 
					            "rules": "required|integer|between:0,3",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[Advanced] Branch Name",
 | 
					            "name": "[Advanced] Branch Name",
 | 
				
			||||||
@ -144,7 +156,8 @@
 | 
				
			|||||||
            "default_value": "",
 | 
					            "default_value": "",
 | 
				
			||||||
            "user_viewable": true,
 | 
					            "user_viewable": true,
 | 
				
			||||||
            "user_editable": true,
 | 
					            "user_editable": true,
 | 
				
			||||||
            "rules": "string|nullable|in:public,experimental"
 | 
					            "rules": "string|nullable|in:public,experimental",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "[Advanced] Satisfactory Dedicated Server App ID",
 | 
					            "name": "[Advanced] Satisfactory Dedicated Server App ID",
 | 
				
			||||||
@ -153,7 +166,8 @@
 | 
				
			|||||||
            "default_value": "1690800",
 | 
					            "default_value": "1690800",
 | 
				
			||||||
            "user_viewable": false,
 | 
					            "user_viewable": false,
 | 
				
			||||||
            "user_editable": false,
 | 
					            "user_editable": false,
 | 
				
			||||||
            "rules": "required|integer|min:1"
 | 
					            "rules": "required|integer|min:1",
 | 
				
			||||||
 | 
					            "field_type": "text"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user