diff --git a/README.md b/README.md index e84a1695..c99d9619 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ * [BepInEx](stationeers/stationeers_bepinex) * [Stormworks: Build and Rescue](stormworks) * [Subnautica: Nitrox Mod](subnautica_nitrox_mod) +* [Survive The Nights](survive_the_nights/) * [Sven Co-op](svencoop) * [Swords 'n Magic and Stuff](swords_'n_Magic_and_Stuff) * [Team Fortress 2 Classic](team_fortress_2_classic) diff --git a/survive_the_nights/README.md b/survive_the_nights/README.md new file mode 100644 index 00000000..bb4dc491 --- /dev/null +++ b/survive_the_nights/README.md @@ -0,0 +1,11 @@ +# Survive the Nights + +Survive the Nights is a unique FPS survival game focusing on teamwork, fortification, creativity & strategy. Secure a structure or roam free, the choice is yours Gameplay focuses on realistic survival, post zombie infestation. Prepare during the day for nightfall. How many nights will you survive? + +## Server Ports + +Ports required to run the server +| Port | default | +|---------|---------| +| Game | 8888 | +| Query (Game+1) | 8889 | diff --git a/survive_the_nights/ServerConfig.txt b/survive_the_nights/ServerConfig.txt new file mode 100644 index 00000000..5a6eb1f4 --- /dev/null +++ b/survive_the_nights/ServerConfig.txt @@ -0,0 +1,131 @@ +// _____ _ _______ _ _ _ _ _ _ +// / ____| (_) |__ __| | | \ | (_) | | | | +// | (___ _ _ _ ____ _____ _____ | | | |__ ___ | \| |_ __ _| |__ | |_ ___ +// \___ \| | | | '__\ \ / / \ \ / / _ \ | | | '_ \ / _ \ | . ` | |/ _` | '_ \| __/ __| +// ____) | |_| | | \ V /| |\ V / __/ | | | | | | __/ | |\ | | (_| | | | | |_\__ \ +// |_____/ \__,_|_| \_/ |_| \_/ \___| |_| |_| |_|\___| |_| \_|_|\__, |_| |_|\__|___/ +// / ____| / _(_) __/ | +// | (___ ___ _ ____ _____ _ __ ___ ___ _ __ | |_ _ __ _ |___/ +// \___ \ / _ \ '__\ \ / / _ \ '__| / __/ _ \| '_ \| _| |/ _` | +// ____) | __/ | \ V / __/ | | (_| (_) | | | | | | | (_| | +// |_____/ \___|_| \_/ \___|_| \___\___/|_| |_|_| |_|\__, | +// __/ | +// |___/ +// Check the wiki For options. +// +// Lines starting with double // are ignored. +// +// *** Connections *** +serverName=New Private Server +serverPassword= +useSteamRelays=True +useUpnp=True +serverIP=194.207.117.251 +serverPort=7950 +showInPublicLobby=True +queryPort=0 +worldname=EDITOR +serverOwner= +//*** Time & Weather *** +progressTime=true +dayCycleInMinutes=45 +timePersistence=True +startingHour=8 +randomWeather=True +startingWeather=0 +startingMonth=5 +moonPosition=0 +// *** Loot *** +lootSpawnRate=3 +lootRespawn=True +lootSpawnFrequency=15 +lootSpawnCondition=1 +startingComponentsAmount=0 +initialFuelAmount=1 +fuelEfficiency=1 +allowItemOwnership=True +itemDecaySystem=True +globalItemDecaySystem=True +// *** Vehicles *** +vehicleSpawnRate=2 +vehicleRespawn=True +vehicleSpawnFrequency=720 +vehicleSpawnCondition=1 +vehicleDamageRate=1 +vehicleStartingComponentsAmount=1 +vehicleStartingFuelAmount=1 +vehicleAlarms=True +// *** Zombies *** +zombieAmount=2 +zombieStructureRespawnRate=4 +zombieMinHealth=90 +zombieMaxHealth=110 +zombieStrength=1 +zombieVision=1 +zombieHearing=1 +zombiefortificationAttackDamage=2 +zombieHeadshotsOnly=False +zombieDayRunnerFrequency=2 +zombieNightRunnerFrequency=2 +zombieRunnerSpeedDay=1 +zombieRunnerSpeedNight=1 +zombieDroppedItems= +// *** Hordes *** +HordeMode=1 +hordeDifficulty=2 +hordeFrequency=1 +hordeAvoidanceAllowed=True +hordeStartSync=False +hordeNightOverride=0 +HordeRunnerFrequency=2 +HordeRunnerSpeed=1 +HordeConstantHordesMode=2 +HordeConstantStartDelay=15 +HordeConstantWaitTime=15 +// *** Animals *** +chickenAmount=2 +stagAmount=2 +foxAmount=2 +// *** Player *** +playerInitialSpawnLocation=0 +playerRespawnLocation=1 +playerSleepingBagRespawn=True +playerItemsOnDeath=1 +playerNutrition=True +playerNutritionDifficulty=1 +playerStaminaDrainRate=2 +playerStaminaRecoveryRate=1 +playerStaminaMode=0 +playerStartingOverallHealth=0 +playerStartingHealth=65 +playerStartingHydration=40 +playerStartingCals=300 +playerStartingSickness=0 +playerStartingMentalHealth=0 +playerLogOffNearZombies=False +playerStartingItems= +playerSavedLockCodes= +// *** Misc *** +tutorialBehaviour=0 +newLifeMessage= +weaponWear=2 +allowMapUsage=True +requireMapItem=False +requireCompassItem=False +useCraftLeveling=True +// *** multiplayer *** +allowMultiplayer=True +welcomeMessage=Welcome to the server. +recurringWelcomeMessage=Welcome to the server. +showLoginMessages=True +showDeathMessages=True +pvpDisabled=False +selfDefenceEnabled=True +mentalHealthPenalties=2 +pvpDamageReduction=2 +chatDistance=1 +nameTagDistance=2 +growRate=3 +workshopID= +fortificationToolEfficiency=1 +fortificationStartingStrength=2 \ No newline at end of file diff --git a/survive_the_nights/TpPresets.json b/survive_the_nights/TpPresets.json new file mode 100644 index 00000000..f1864f17 --- /dev/null +++ b/survive_the_nights/TpPresets.json @@ -0,0 +1,332 @@ +{ + "presets": [ + { + "name": "unionpoint", + "preset": { + "x": -1364.0, + "y": 54.98299789428711, + "z": 1372.0 + } + }, + { + "name": "batcave", + "preset": { + "x": 99.65880584716797, + "y": -50.2103385925293, + "z": -46.20869827270508 + } + }, + { + "name": "doortesting", + "preset": { + "x": -1482.5557861328125, + "y": 51.196815490722659, + "z": -1286.49072265625 + } + }, + { + "name": "oldtown", + "preset": { + "x": -1394.1190185546875, + "y": -31.57574462890625, + "z": -2496.749755859375 + } + }, + { + "name": "addersfield", + "preset": { + "x": 3287.663330078125, + "y": -43.600486755371097, + "z": -894.3609008789063 + } + }, + { + "name": "blackrock", + "preset": { + "x": 2680.36181640625, + "y": -56.40800476074219, + "z": -2946.27197265625 + } + }, + { + "name": "sagecreek", + "preset": { + "x": 2040.5694580078125, + "y": 51.473960876464847, + "z": 1239.3262939453125 + } + }, + { + "name": "unionpoint", + "preset": { + "x": -939.76123046875, + "y": 54.973411560058597, + "z": 813.2296142578125 + } + }, + { + "name": "mountbaron", + "preset": { + "x": -1528.0, + "y": 320.0, + "z": -752.0 + } + }, + { + "name": "powerstation", + "preset": { + "x": 769.0, + "y": 70.0, + "z": 912.0 + } + }, + { + "name": "powertest", + "preset": { + "x": -1535.8397216796875, + "y": -33.53345489501953, + "z": -2506.07958984375 + } + }, + { + "name": "farm", + "preset": { + "x": 2325.369140625, + "y": 38.63999938964844, + "z": -371.8695983886719 + } + }, + { + "name": "gas", + "preset": { + "x": 3095.465087890625, + "y": -43.3640022277832, + "z": -456.3666076660156 + } + }, + { + "name": "popov", + "preset": { + "x": -1603.4310302734375, + "y": -33.49234390258789, + "z": -2377.959228515625 + } + }, + { + "name": "forts", + "preset": { + "x": 293.8551025390625, + "y": 77.83678436279297, + "z": 95.57548522949219 + } + }, + { + "name": "rooftesting", + "preset": { + "x": 3232.000244140625, + "y": -43.560707092285159, + "z": -703.9999389648438 + } + }, + { + "name": "church", + "preset": { + "x": -1707.643310546875, + "y": -33.073272705078128, + "z": -2555.77197265625 + } + }, + { + "name": "oldtownhouse", + "preset": { + "x": -1571.4833984375, + "y": -33.51015853881836, + "z": -2494.106689453125 + } + }, + { + "name": "policestation", + "preset": { + "x": 3252.45654296875, + "y": -43.622276306152347, + "z": -612.4423217773438 + } + }, + { + "name": "wide", + "preset": { + "x": 2781.5927734375, + "y": -52.97593307495117, + "z": -3281.447509765625 + } + }, + { + "name": "slidetesting", + "preset": { + "x": -1444.4681396484375, + "y": 194.4698486328125, + "z": -779.5247192382813 + } + }, + { + "name": "campsite1", + "preset": { + "x": -1149.2333984375, + "y": 17.875829696655275, + "z": -2324.3037109375 + } + }, + { + "name": "eacampfire", + "preset": { + "x": 1369.81787109375, + "y": 90.29772186279297, + "z": 1717.1300048828125 + } + }, + { + "name": "eahunting", + "preset": { + "x": 1542.4183349609375, + "y": 96.16523742675781, + "z": 1746.9842529296875 + } + }, + { + "name": "eacinematic", + "preset": { + "x": 1226.7254638671875, + "y": -4.471528053283691, + "z": 752.1307983398438 + } + }, + { + "name": "eadriving1", + "preset": { + "x": 1398.684814453125, + "y": 99.95209503173828, + "z": 1804.3692626953125 + } + }, + { + "name": "eahouse", + "preset": { + "x": 2713.12548828125, + "y": -56.6375732421875, + "z": -3208.791748046875 + } + }, + { + "name": "eadriving2", + "preset": { + "x": 1712.077880859375, + "y": 54.267173767089847, + "z": -1489.1051025390625 + } + }, + { + "name": "eazombie", + "preset": { + "x": 2630.119873046875, + "y": -35.341949462890628, + "z": -3634.476318359375 + } + }, + { + "name": "eazombie1", + "preset": { + "x": 2567.552978515625, + "y": -54.16742706298828, + "z": -3560.06689453125 + } + }, + { + "name": "eazombie2", + "preset": { + "x": 2620.54541015625, + "y": -56.48999786376953, + "z": -3413.7392578125 + } + }, + { + "name": "eadriving3", + "preset": { + "x": 2688.896728515625, + "y": -54.82345962524414, + "z": -2742.3125 + } + }, + { + "name": "eaendcard", + "preset": { + "x": -1858.0098876953125, + "y": 2.179645538330078, + "z": -2417.590087890625 + } + }, + { + "name": "eadriving", + "preset": { + "x": -531.9205322265625, + "y": 12.057960510253907, + "z": -2687.745361328125 + } + }, + { + "name": "eadriving4", + "preset": { + "x": -532.5352172851563, + "y": 12.044183731079102, + "z": -2689.526611328125 + } + }, + { + "name": "eahunting1", + "preset": { + "x": 1622.8408203125, + "y": 91.17031860351563, + "z": 1615.5191650390625 + } + }, + { + "name": "eawalkingstart", + "preset": { + "x": 1398.9388427734375, + "y": 100.07472229003906, + "z": 1805.5322265625 + } + }, + { + "name": "warehouse", + "preset": { + "x": 3076.207763671875, + "y": -43.62000274658203, + "z": -476.9427795410156 + } + }, + { + "name": "hospital", + "preset": { + "x": -2157.992919921875, + "y": 68.54078674316406, + "z": -801.50439453125 + } + }, + { + "name": "airport", + "preset": { + "x": 1715.986572265625, + "y": 35.76252746582031, + "z": -498.918212890625 + } + }, + { + "name": "police", + "preset": { + "x": 3453.417724609375, + "y": -39.644004821777347, + "z": -737.1630249023438 + } + } + ] +} \ No newline at end of file diff --git a/survive_the_nights/UserPermissions.json b/survive_the_nights/UserPermissions.json new file mode 100644 index 00000000..f2a1473f --- /dev/null +++ b/survive_the_nights/UserPermissions.json @@ -0,0 +1,61 @@ +{ + + "SystemRanks":[ + { + "Index_DontChange":-2, + "Name_DontChange":"Console", + "ChatPrefix":"[Console]", + "PrefixColour":"white" + }, + { + "Index_DontChange":-1, + "Name_DontChange":"Whisper", + "ChatPrefix":"[Whisper]", + "PrefixColour":"darkgrey" + } + ], + "UserRanks":[ + { + "Index":0, + "Rank":"User", + "ChatPrefix":"[User]", + "PrefixColour":"white", + "Permissions":["Tell", "Reply", "ServerInfo"] + }, + { + "Index":1, + "Rank":"Mod", + "ChatPrefix":"[Mod]", + "PrefixColour":"yellow", + "Permissions":["Tell", "Reply", "Mute", "UnMute", "Kick", "GodSelf", "SuperSprint", "cmdGroup.TP", "DropAllSelf", "DropAllOthers", "Up" ,"ServerInfo"] + }, + { + "Index":2, + "Rank":"Admin", + "ChatPrefix":"[Admin]", + "PrefixColour":"darkred", + "Permissions":["*"] + }, + { + "Index":3, + "Rank":"Owner", + "ChatPrefix":"[Owner]", + "PrefixColour":"purple", + "Permissions":["Tell", "Reply", "Mute", "UnMute", "Kick", "SetRank", "Ban", "UnBan", "ServerInfo"] + } + ], + "CommandGroups":[ + { + "GroupName":"TP", + "Permissions":["TpToLocation","TpToLocation", "TpToPlayer", "TpPlayerToMe", "TpPlayerToPlayer"] + }, + { + "GroupName":"Weather", + "Permissions":["SetTime", "SetMonth", "SetWeather", "WeatherOnOff"] + }, + { + "GroupName":"ExampleGroupNinjaMod", + "Permissions":["Kick", "Mute", "GodSelf"] + } + ] +} \ No newline at end of file diff --git a/survive_the_nights/egg-pterodactyl-survive-the-nights.json b/survive_the_nights/egg-pterodactyl-survive-the-nights.json new file mode 100644 index 00000000..a4cb99f2 --- /dev/null +++ b/survive_the_nights/egg-pterodactyl-survive-the-nights.json @@ -0,0 +1,114 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-08-11T14:10:06+02:00", + "name": "Survive The Nights", + "author": "josdekurk@gmail.com", + "description": "Survive the Nights is a unique FPS survival game focusing on teamwork, fortification, creativity & strategy. Secure a structure or roam free, the choice is yours. Gameplay focuses on realistic survival, post zombie infestation. Prepare during the day for nightfall. How many nights will you survive?", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "SteamCMD_Debian": "ghcr.io\/parkervcp\/steamcmd:debian" + }, + "file_denylist": [], + "startup": ".\/Server_Linux_x64 -console -batchmode -nographics", + "config": { + "files": "{\n \".\/Config\/ServerConfig.txt\": {\n \"parser\": \"file\",\n \"find\": {\n \"serverPort=\": \"serverPort={{server.build.default.port}}\",\n \"serverIP=\": \"serverIP=0.0.0.0\",\n \"serverName=\": \"serverName={{env.SERVER_NAME}}\",\n \"serverPassword=\": \"serverPassword={{env.SERVER_PASSWORD}}\",\n \"showInPublicLobby=\": \"showInPublicLobby={{env.SERVER_PUBLIC}}\",\n \"serverOwner=\": \"serverOwner={{env.SERVER_OWNER}}\",\n \"worldname=\": \"worldname={{env.WORLDNAME}}\",\n \"queryPort=\": \"queryPort={{env.QUERY_PORT}}\"\n }\n }\n}", + "startup": "{\r\n \"done\":[\r\n \"*** Server Connected To STEAM *** \",\r\n \"to start the server ready to accept players!\"\r\n ]\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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\nmkdir -p \/mnt\/server\/Config\r\ncd \/mnt\/server\/Config\r\n## add below your custom commands if needed\r\ncurl -sSL -o ServerConfig.txt https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-steamcmd\/main\/survive_the_nights\/ServerConfig.txt\r\ncurl -sSL -o TpPresets.json https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-steamcmd\/main\/survive_the_nights\/TpPresets.json\r\ncurl -sSL -o UserPermissions.json https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-steamcmd\/main\/survive_the_nights\/UserPermissions.json\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Auto update", + "description": "Auto update the server on startup", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "App id", + "description": "SteamCMD App ID", + "env_variable": "SRCDS_APPID", + "default_value": "1502300", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:1502300", + "field_type": "text" + }, + { + "name": "Server name", + "description": "The name of the server", + "env_variable": "SERVER_NAME", + "default_value": "New Private Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:48", + "field_type": "text" + }, + { + "name": "Server password", + "description": "The server password", + "env_variable": "SERVER_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:32", + "field_type": "text" + }, + { + "name": "Public server", + "description": "Show the server in the public lobby", + "env_variable": "SERVER_PUBLIC", + "default_value": "True", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:True,false", + "field_type": "text" + }, + { + "name": "Server owner", + "description": "The owner of the server", + "env_variable": "SERVER_OWNER", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:48", + "field_type": "text" + }, + { + "name": "World name", + "description": "The name of the server world.\r\n\r\nDo not change this after the server started!", + "env_variable": "WORLDNAME", + "default_value": "DedicatedServer", + "user_viewable": true, + "user_editable": true, + "rules": "required|alpha_dash|max:32", + "field_type": "text" + }, + { + "name": "Query port", + "description": "game port +1", + "env_variable": "QUERY_PORT", + "default_value": "25566", + "user_viewable": true, + "user_editable": false, + "rules": "required|numeric", + "field_type": "text" + } + ] +} \ No newline at end of file diff --git a/survive_the_nights/egg-survive-the-nights.json b/survive_the_nights/egg-survive-the-nights.json new file mode 100644 index 00000000..27216da3 --- /dev/null +++ b/survive_the_nights/egg-survive-the-nights.json @@ -0,0 +1,123 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-08-11T14:10:06+02:00", + "name": "Survive The Nights", + "author": "josdekurk@gmail.com", + "uuid": "9964bbfd-8a96-435e-af1b-8e1b085a0de9", + "description": "Survive the Nights is a unique FPS survival game focusing on teamwork, fortification, creativity & strategy. Secure a structure or roam free, the choice is yours. Gameplay focuses on realistic survival, post zombie infestation. Prepare during the day for nightfall. How many nights will you survive?", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "SteamCMD_Debian": "ghcr.io\/parkervcp\/steamcmd:debian" + }, + "file_denylist": [], + "startup": ".\/Server_Linux_x64 -console -batchmode -nographics", + "config": { + "files": "{\n \".\/Config\/ServerConfig.txt\": {\n \"parser\": \"file\",\n \"find\": {\n \"serverPort=\": \"serverPort={{server.allocations.default.port}}\",\n \"serverIP=\": \"serverIP=0.0.0.0\",\n \"serverName=\": \"serverName={{server.environment.SERVER_NAME}}\",\n \"serverPassword=\": \"serverPassword={{server.environment.SERVER_PASSWORD}}\",\n \"showInPublicLobby=\": \"showInPublicLobby={{server.environment.SERVER_PUBLIC}}\",\n \"serverOwner=\": \"serverOwner={{server.environment.SERVER_OWNER}}\",\n \"worldname=\": \"worldname={{server.environment.WORLDNAME}}\",\n \"queryPort=\": \"queryPort={{server.environment.QUERY_PORT}}\"\n }\n }\n}", + "startup": "{\r\n \"done\":[\r\n \"*** Server Connected To STEAM *** \",\r\n \"to start the server ready to accept players!\"\r\n ]\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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\nmkdir -p \/mnt\/server\/Config\r\ncd \/mnt\/server\/Config\r\n## add below your custom commands if needed\r\ncurl -sSL -o ServerConfig.txt https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-steamcmd\/main\/survive_the_nights\/ServerConfig.txt\r\ncurl -sSL -o TpPresets.json https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-steamcmd\/main\/survive_the_nights\/TpPresets.json\r\ncurl -sSL -o UserPermissions.json https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-steamcmd\/main\/survive_the_nights\/UserPermissions.json\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "sort": 1, + "name": "Auto update", + "description": "Auto update the server on startup", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "sort": 2, + "name": "App id", + "description": "SteamCMD App ID", + "env_variable": "SRCDS_APPID", + "default_value": "1502300", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:1502300", + "field_type": "text" + }, + { + "sort": 3, + "name": "Server name", + "description": "The name of the server", + "env_variable": "SERVER_NAME", + "default_value": "New Private Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:48", + "field_type": "text" + }, + { + "sort": 4, + "name": "Server password", + "description": "The server password", + "env_variable": "SERVER_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:32", + "field_type": "text" + }, + { + "sort": 5, + "name": "Public server", + "description": "Show the server in the public lobby", + "env_variable": "SERVER_PUBLIC", + "default_value": "True", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:True,false", + "field_type": "text" + }, + { + "sort": 6, + "name": "Server owner", + "description": "The owner of the server", + "env_variable": "SERVER_OWNER", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:48", + "field_type": "text" + }, + { + "sort": 7, + "name": "World name", + "description": "The name of the server world.\r\n\r\nDo not change this after the server started!", + "env_variable": "WORLDNAME", + "default_value": "DedicatedServer", + "user_viewable": true, + "user_editable": true, + "rules": "required|alpha_dash|max:32", + "field_type": "text" + }, + { + "sort": 8, + "name": "Query port", + "description": "game port +1", + "env_variable": "QUERY_PORT", + "default_value": "25566", + "user_viewable": true, + "user_editable": false, + "rules": "required|numeric", + "field_type": "text" + } + ] +} \ No newline at end of file