* update satisfactory for 1.0 release * changed wrong images * changed -Port to -port * update email * Update README.md
		
			
				
	
	
		
			134 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|     "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
 | |
|     "meta": {
 | |
|         "version": "PTDL_v2",
 | |
|         "update_url": null
 | |
|     },
 | |
|     "exported_at": "2024-09-10T16:33:10+00:00",
 | |
|     "name": "Satisfactory",
 | |
|     "author": "red_thirten@yahoo.com",
 | |
|     "uuid": "dafdb96a-e8c1-449f-a6ae-b7ba209c05ff",
 | |
|     "description": "Satisfactory is a first-person open-world factory building game with a dash of exploration and combat. Play alone or with friends, explore an alien planet, create multi-story factories, and enter conveyor belt heaven!",
 | |
|     "features": [
 | |
|         "steam_disk_space"
 | |
|     ],
 | |
|     "docker_images": {
 | |
|         "ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
 | |
|     },
 | |
|     "file_denylist": [],
 | |
|     "startup": ".\/Engine\/Binaries\/Linux\/*-Linux-Shipping FactoryGame ?listen -port={{SERVER_PORT}}",
 | |
|     "config": {
 | |
|         "files": "{\n    \"FactoryGame\/Saved\/Config\/LinuxServer\/Game.ini\": {\n        \"parser\": \"file\",\n        \"find\": {\n            \"MaxPlayers\": \"MaxPlayers={{server.environment.MAX_PLAYERS}}\"\n        }\n    },\n    \"FactoryGame\/Saved\/Config\/LinuxServer\/Engine.ini\": {\n        \"parser\": \"file\",\n        \"find\": {\n            \"mNumRotatingAutosaves\": \"mNumRotatingAutosaves={{server.environment.NUM_AUTOSAVES}}\",\n            \"bImplicitSend\": \"bImplicitSend={{server.environment.UPLOAD_CRASH_REPORT}}\",\n            \"InitialConnectTimeout\": \"InitialConnectTimeout={{server.environment.INIT_CONNECT_TIMEOUT}}\",\n            \"ConnectionTimeout\": \"ConnectionTimeout={{server.environment.CONNECT_TIMEOUT}}\"\n        }\n    }\n}",
 | |
|         "startup": "{\r\n    \"done\": \"Engine Initialization\"\r\n}",
 | |
|         "logs": "{}",
 | |
|         "stop": "^C"
 | |
|     },
 | |
|     "scripts": {
 | |
|         "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: 2023\/06\/13\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 server binary executable.\r\n# Use `find` to see if a valid server binary exists using a wildcard, because\r\n# the binary name can differ between UE4 and UE5.\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\ncount=$(find . -maxdepth 1 -name '*-Linux-Shipping' -type f -executable | wc -l)\r\nif [[ $count -eq 0 ]]; 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 *-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\nmAutoDetectSettingsHandled=False\r\nmPrimaryLanguage=\r\nCurrentFGGameUserSettingsVersion=0\r\nbUseVSync=False\r\nbUseDynamicResolution=False\r\nResolutionSizeX=1280\r\nResolutionSizeY=720\r\nLastUserConfirmedResolutionSizeX=1280\r\nLastUserConfirmedResolutionSizeY=720\r\nWindowPosX=-1\r\nWindowPosY=-1\r\nFullscreenMode=1\r\nLastConfirmedFullscreenMode=1\r\nPreferredFullscreenMode=1\r\nVersion=5\r\nAudioQualityLevel=0\r\nLastConfirmedAudioQualityLevel=0\r\nFrameRateLimit=0.000000\r\nDesiredScreenWidth=1280\r\nDesiredScreenHeight=720\r\nLastUserConfirmedDesiredScreenWidth=1280\r\nLastUserConfirmedDesiredScreenHeight=720\r\nLastRecommendedScreenWidth=-1.000000\r\nLastRecommendedScreenHeight=-1.000000\r\nLastCPUBenchmarkResult=-1.000000\r\nLastGPUBenchmarkResult=-1.000000\r\nLastGPUBenchmarkMultiplier=1.000000\r\nbUseHDRDisplayOutput=False\r\nHDRDisplayOutputNits=1000\r\n\r\n[ScalabilityGroups]\r\nsg.ResolutionQuality=100.000000\r\nsg.ViewDistanceQuality=3\r\nsg.AntiAliasingQuality=3\r\nsg.ShadowQuality=3\r\nsg.PostProcessQuality=3\r\nsg.TextureQuality=3\r\nsg.EffectsQuality=3\r\nsg.FoliageQuality=3\r\nsg.ShadingQuality=3\r\n\r\n[\/Script\/Engine.GameUserSettings]\r\nbUseDesiredScreenHeight=False\r\n\r\n\r\nEOF\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
 | |
|             "container": "ghcr.io\/parkervcp\/installers:debian",
 | |
|             "entrypoint": "\/bin\/bash"
 | |
|         }
 | |
|     },
 | |
|     "variables": [
 | |
|         {
 | |
|             "name": "Automatic Updates",
 | |
|             "description": "Quickly checks for any server updates on startup, and updates if necessary. (1 Enable | 0 Disable)",
 | |
|             "env_variable": "AUTO_UPDATE",
 | |
|             "default_value": "1",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "boolean",
 | |
|             "sort": 1,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Repair] Validate Server Files",
 | |
|             "description": "Leave empty (no value) for OFF or type \"true\" or \"1\" for ON. 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": "string|nullable",
 | |
|             "sort": 2,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Number of Rotating Autosaves",
 | |
|             "description": "Number of session auto-saves for the server to keep before the oldest save is deleted and the others are moved down the list.",
 | |
|             "env_variable": "NUM_AUTOSAVES",
 | |
|             "default_value": "3",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|integer|min:0",
 | |
|             "sort": 3,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "Upload Crash Reports",
 | |
|             "description": "Accepted values are \"true\" or \"false\". Determines if the server should upload any crash reports to the developer to help pinpoint issues for future patches.",
 | |
|             "env_variable": "UPLOAD_CRASH_REPORT",
 | |
|             "default_value": "true",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|string|in:true,false",
 | |
|             "sort": 4,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Experimental] Max Players",
 | |
|             "description": "[Requires server re-install to change default value!] The server and client are currently not optimized to support more than 4 players. However, you can override this value here at your own risk of poor performance.",
 | |
|             "env_variable": "MAX_PLAYERS",
 | |
|             "default_value": "4",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|integer|min:1",
 | |
|             "sort": 5,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Advanced] Client Initial Connection Timeout",
 | |
|             "description": "Time in seconds to wait for a new client connection to be established before destroying the connection.",
 | |
|             "env_variable": "INIT_CONNECT_TIMEOUT",
 | |
|             "default_value": "30",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|numeric|min:1",
 | |
|             "sort": 6,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Advanced] Client Established Connection Timeout",
 | |
|             "description": "Time in seconds to wait before considering an established client connection timed out. Typically shorter than the time to wait on an initial connection because this connection should already have been setup and any interruption should be trapped quicker.",
 | |
|             "env_variable": "CONNECT_TIMEOUT",
 | |
|             "default_value": "20",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "required|numeric|min:1",
 | |
|             "sort": 7,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Advanced] Branch Name",
 | |
|             "description": "[Accepted Values: \"public\", \"experimental\", or leave empty to use the primary branch of the server] Used to download or switch to a non-primary branch of the game server. \"Automatic Updates\" and \"Validate Server Files\" must be set to \"1\" to switch branches if the server is already installed. NOTE: Any non-primary branches may not be fully compatible\/stable!",
 | |
|             "env_variable": "SRCDS_BETAID",
 | |
|             "default_value": "",
 | |
|             "user_viewable": true,
 | |
|             "user_editable": true,
 | |
|             "rules": "string|nullable|in:public,experimental",
 | |
|             "sort": 8,
 | |
|             "field_type": "text"
 | |
|         },
 | |
|         {
 | |
|             "name": "[Advanced] Satisfactory Dedicated Server App ID",
 | |
|             "description": "Steam App ID used for installation and updates. Rarely needs to be changed.",
 | |
|             "env_variable": "SRCDS_APPID",
 | |
|             "default_value": "1690800",
 | |
|             "user_viewable": false,
 | |
|             "user_editable": false,
 | |
|             "rules": "required|integer|min:1",
 | |
|             "sort": 9,
 | |
|             "field_type": "text"
 | |
|         }
 | |
|     ]
 | |
| } |