Merge pull request #377 from parkervcp/update/starbound

update starbound installer
This commit is contained in:
Michael (Parker) Parker 2019-12-15 14:19:52 -05:00 committed by GitHub
commit 6b6623fdea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,31 +3,31 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-08-14T10:11:29-05:00",
"exported_at": "2019-12-15T10:05:42-05:00",
"name": "Starbound",
"author": "hostmaster@watefallnetwork.net",
"author": "parker@parkervcp.com",
"description": "Starbound takes place in a two-dimensional, procedurally generated universe which the player is able to explore in order to obtain new weapons, armor, and items, and to visit towns and villages inhabited by various intelligent lifeforms.",
"image": "quay.io\/pterodactyl\/core:source",
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
"startup": ".\/starbound_server",
"config": {
"files": "{\r\n \"storage\/starbound_server.config\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"gameServerPort\": \"{{server.build.default.port}}\",\r\n \"queryServerPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \"storage\/starbound_server.config\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"gameServerPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Starting UniverseServer\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# SRCDS Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\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\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} validate +quit\r\n\r\nmv \/mnt\/server\/linux\/* \/mnt\/server\/\r\nrm -rf \/mnt\/server\/linux\r\nsed -i -e 's\/\\.\\.\/\\.\/g' \/mnt\/server\/sbinit.config\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\nmkdir \/mnt\/server\/storage\r\n\r\ncat <<EOF >> \/mnt\/server\/storage\/starbound_server.config\r\n{\r\n \"allowAdminCommands\" : true,\r\n \"allowAdminCommandsFromAnyone\" : false,\r\n \"allowAnonymousConnections\" : true,\r\n \"allowAssetsMismatch\" : true,\r\n \"anonymousConnectionsAreAdmin\" : false,\r\n \"bannedIPs\" : [],\r\n \"bannedUuids\" : [],\r\n \"checkAssetsDigest\" : false,\r\n \"clearPlayerFiles\" : false,\r\n \"clearUniverseFiles\" : false,\r\n \"clientIPJoinable\" : false,\r\n \"clientP2PJoinable\" : true,\r\n \"configurationVersion\" : {\r\n \"basic\" : 2,\r\n \"server\" : 4\r\n },\r\n \"crafting\" : {\r\n \"filterHaveMaterials\" : false\r\n },\r\n \"gameServerBind\" : \"::\",\r\n \"gameServerPort\" : 21025,\r\n \"interactiveHighlight\" : true,\r\n \"inventory\" : {\r\n \"pickupToActionBar\" : true\r\n },\r\n \"maxPlayers\" : 8,\r\n \"maxTeamSize\" : 4,\r\n \"monochromeLighting\" : false,\r\n \"playerBackupFileCount\" : 3,\r\n \"queryServerBind\" : \"::\",\r\n \"queryServerPort\" : 21025,\r\n \"rconServerBind\" : \"::\",\r\n \"rconServerPassword\" : \"\",\r\n \"rconServerPort\" : 21026,\r\n \"rconServerTimeout\" : 1000,\r\n \"runQueryServer\" : false,\r\n \"runRconServer\" : false,\r\n \"safeScripts\" : true,\r\n \"scriptInstructionLimit\" : 10000000,\r\n \"scriptInstructionMeasureInterval\" : 10000,\r\n \"scriptProfilingEnabled\" : false,\r\n \"scriptRecursionLimit\" : 100,\r\n \"serverFidelity\" : \"automatic\",\r\n \"serverName\" : \"A Starbound Server\",\r\n \"serverOverrideAssetsDigest\" : null,\r\n \"serverUsers\" : {\r\n },\r\n \"tutorialMessages\" : true\r\n}\r\nEOF",
"container": "ubuntu:16.04",
"entrypoint": "bash"
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\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 using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\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## Starbound specific setup.\r\ncd \/mnt\/server\/\r\n\r\n## edit sbinit config\r\nmv \/mnt\/server\/linux\/* \/mnt\/server\/\r\nrm -rf \/mnt\/server\/linux\r\nsed -i -e 's\/\\.\\.\/\\.\/g' \/mnt\/server\/sbinit.config\r\n\r\n## pull starbound_server.config\r\nmkdir -p \/mnt\/server\/storage\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/starbound\/starbound_server.config > \/mnt\/server\/storage\/starbound_server.config",
"container": "ubuntu:18.04",
"entrypoint": "\/bin\/bash"
}
},
"variables": [
{
"name": "Steam User",
"description": "A Steam username with Starbound on the account.",
"description": "This is a required setting and cannot be set to anonymous.",
"env_variable": "STEAM_USER",
"default_value": "anonymous",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string"
@ -41,15 +41,6 @@
"user_editable": 0,
"rules": "nullable|string"
},
{
"name": "Steam Auth Code",
"description": "Steam Auth Code only when you're using Steam Auth",
"env_variable": "STEAM_AUTH",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
},
{
"name": "Game ID",
"description": "The ID corresponding to the game to download and run using SRCDS.",
@ -58,6 +49,24 @@
"user_viewable": 1,
"user_editable": 0,
"rules": "string"
},
{
"name": "Steam Auth",
"description": "Steam account auth code. Required if you have 2fa enabled.",
"env_variable": "STEAM_AUTH",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:5"
},
{
"name": "Auto Update Server",
"description": "This is to auto-update the game server.",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|bool"
}
]
}