2 Commits

70 changed files with 640 additions and 2270 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
MIT
Copyright (c) 2018 Michael Parker <parker@parkervcp.com> and Contributors
Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+4 -18
View File
@@ -190,7 +190,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Modrinth](game_eggs/minecraft/java/modrinth)
* [Mohist](game_eggs/minecraft/java/mohist)
* [NanoLimbo](game_eggs/minecraft/java/nanolimbo)
* [NeoForge](game_eggs/minecraft/java/neoforge)
* [Paper](game_eggs/minecraft/java/paper)
* [Folia](game_eggs/minecraft/java/folia)
* [Purpur](game_eggs/minecraft/java/purpur)
@@ -233,7 +232,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Rimworld](game_eggs/rimworld)
* [Open World](game_eggs/rimworld/open_world)
* [Rimworld Together](game_eggs/rimworld/together)
[SteamCMD Servers](game_eggs/steamcmd_servers) These eggs use SteamCMD to install
@@ -256,12 +254,9 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Core Keeper](game_eggs/steamcmd_servers/core_keeper)
* [Counter-Strike](game_eggs/steamcmd_servers/counter_strike/)
* [Counter-Strike: Source](game_eggs/steamcmd_servers/counter_strike/counter_strike_source/)
* [Counter-Strike 2](game_eggs/steamcmd_servers/counter_strike/counter_strike_2/)
* [Craftopia](game_eggs/steamcmd_servers/craftopia)
* [Cryofall](game_eggs/steamcmd_servers/cryofall)
* [DayZ (Experimental)](game_eggs/steamcmd_servers/dayz-experimental)
* [DDNet](game_eggs/steamcmd_servers/ddnet)
* [Dead Matter](game_eggs/steamcmd_servers/dead_matter)
* [Don't Starve Together](game_eggs/steamcmd_servers/dont_starve)
* [ECO](game_eggs/steamcmd_servers/eco)
* [Empyrion - Galactic Survival](game_eggs/steamcmd_servers/empyrion)
@@ -285,13 +280,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Modiverse](game_eggs/steamcmd_servers/modiverse)
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](game_eggs/steamcmd_servers/mount_blade_II_bannerlord)
* [Myth of Empires](game_eggs/steamcmd_servers/myth_of_empires)
* [Necesse](game_eggs/steamcmd_servers/necesse)
* [Neos VR](game_eggs/steamcmd_servers/neosvr)
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
* [No Love Lost](game_eggs/steamcmd_servers/no_love_lost)
* [No One Survived](game_eggs/steamcmd_servers/no_one_survived)
* [Nova-Life: Amboise](game_eggs/steamcmd_servers/novalife_amboise)
* [Onset](game_eggs/steamcmd_servers/onset)
* [Open Fortress](game_eggs/steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](game_eggs/steamcmd_servers/operation_harsh_doorstop)
@@ -309,6 +301,8 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Autowipe](game_eggs/steamcmd_servers/rust/rust_autowipe)
* [Staging](game_eggs/steamcmd_servers/rust/rust_staging)
* [Satisfactory](game_eggs/steamcmd_servers/satisfactory)
* [SCP: Escape Together](game_eggs/steamcmd_servers/scp_escape_together)
* [Solace Crafting](game_eggs/steamcmd_servers/solace_crafting)
* [SCP: Secret Laboratory](game_eggs/steamcmd_servers/scpsl)
* [dedicated](game_eggs/steamcmd_servers/scpsl/dedicated)
* [exiled](game_eggs/steamcmd_servers/scpsl/exiled)
@@ -333,7 +327,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [The Isle](game_eggs/steamcmd_servers/the_isle)
* [Evrima](game_eggs/steamcmd_servers/the_isle/evrima)
* [Team Fortress 2 Classic](game_eggs/steamcmd_servers/team_fortress_2_classic)
* [TerraTech Worlds](game_eggs/steamcmd_servers/terratech_worlds)
* [Tower Unite](game_eggs/steamcmd_servers/tower_unite)
* [Truck Sim](game_eggs/steamcmd_servers/truck-simulator/)
* [American Truck Simulator](game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/)
@@ -346,11 +339,8 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](game_eggs/steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus)
* [VEIN](game_eggs/steamcmd_servers/vein)
* [Wurm Unlimited](game_eggs/steamcmd_servers/wurm_unlimited/)
[SuperTuxKart](game_eggs/SuperTuxKart)
[Teeworlds](game_eggs/teeworlds)
* [Teeworlds](game_eggs/teeworlds/teeworlds)
@@ -366,8 +356,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [OpenRCT2](game_eggs/tycoon_games/openrct2)
* [OpenTTD](game_eggs/tycoon_games/openttd)
[UrbanTerror](game_eggs/urbanterror)
[Veloren](game_eggs/veloren)
[Vintage Story](game_eggs/vintage_story)
@@ -376,6 +364,8 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Xonotic](game_eggs/xonotic/xonotic)
[YuzuEmu](game_eggs/yuzu-emu)
[FoundryVTT](game_eggs/FoundryVTT)
## [Monitoring](/monitoring/)
@@ -412,10 +402,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Folding@Home](/software/foldingathome)
### Forgejo
* [Forgejo](/software/forgejo)
### Gitea
* [Gitea](/software/gitea)
+4 -12
View File
@@ -84,7 +84,6 @@
* [Magma](minecraft/java/magma)
* [Mohist](minecraft/java/mohist)
* [NanoLimbo](minecraft/java/nanolimbo)
* [NeoForge](minecraft/java/neoforge)
* [Paper](minecraft/java/paper)
* [Folia](minecraft/java/folia)
* [Purpur](minecraft/java/purpur)
@@ -127,7 +126,6 @@
[Rimworld](rimworld)
* [Open World](rimworld/open_world)
* [Rimworld Together](rimworld/together)
[Starmade](starmade)
@@ -152,12 +150,9 @@
* [Core Keeper](steamcmd_servers/core_keeper)
* [Counter-Strike](steamcmd_servers/counter_strike/)
* [Counter-Strike: Source](steamcmd_servers/counter_strike/counter_strike_source/)
* [Counter-Strike 2](steamcmd_servers/counter_strike/counter_strike_2/)
* [Craftopia](game_eggs/steamcmd_servers/craftopia)
* [CryoFall](steamcmd_servers/cryofall)
* [DayZ (Experimental)](steamcmd_servers/dayz-experimental)
* [Dead Matter](steamcmd_servers/dead_matter)
* [DDNet](steamcmd_servers/ddnet)
* [Don't Starve Together](steamcmd_servers/dont_starve)
* [ECO](steamcmd_servers/eco)
* [Empyrion - Galactic Survival](steamcmd_servers/empyrion)
@@ -181,13 +176,10 @@
* [Modiverse](steamcmd_servers/modiverse)
* [Mordhau](steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](steamcmd_servers/mount_blade_II_bannerlord)
* [Myth of Empires](steamcmd_servers/myth_of_empires)
* [Necesse](steamcmd_servers/necesse)
* [Neos VR](steamcmd_servers/neosvr)
* [No More Room in Hell](steamcmd_servers/nmrih)
* [No Love Lost](steamcmd_servers/no_love_lost)
* [No One Survived](steamcmd_servers/no_one_survived)
* [Nova-Life: Amboise](steamcmd_servers/novalife_amboise)
* [Onset](steamcmd_servers/onset)
* [Open Fortress](steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](steamcmd_servers/operation_harsh_doorstop)
@@ -207,6 +199,8 @@
* [Autowipe](steamcmd_servers/rust/rust_autowipe)
* [Staging](steamcmd_servers/rust/rust_staging)
* [Satisfactory](steamcmd_servers/satisfactory)
* [SCP: Escape Together](steamcmd_servers/scp_escape_together)
* [Solace Crafting](steamcmd_servers/solace_crafting)
* [SCP: Secret Laboratory](steamcmd_servers/scpsl)
* [Dedicated](steamcmd_servers/scpsl/dedicated)
* [Exiled](steamcmd_servers/scpsl/exiled)
@@ -227,7 +221,6 @@
* [Sven Co-op](steamcmd_servers/svencoop)
* [Swords 'n Magic and Stuff](steamcmd_servers/swords_'n_Magic_and_Stuff)
* [Team Fortress 2 Classic](steamcmd_servers/team_fortress_2_classic)
* [TerraTech Worlds](steamcmd_servers/terratech_worlds)
* [The Forest](steamcmd_servers/the_forest)
* [The Front](steamcmd_servers/thefront)
* [The Isle](steamcmd_servers/the_isle)
@@ -244,11 +237,8 @@
* [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus)
* [VEIN](steamcmd_servers/vein)
* [Wurm Unlimited](steamcmd_servers/wurm_unlimited/)
[SuperTuxKart](SuperTuxKart)
[Teeworlds](teeworlds)
[Terraria](terraria)
@@ -268,4 +258,6 @@
[Xonotic](xonotic/xonotic)
[YuzuEmu](yuzu-emu)
[FoundryVTT](FoundryVTT)
-33
View File
@@ -1,33 +0,0 @@
# SuperTuxKart
SuperTuxKart is a 3D open-source arcade racer with a variety characters, tracks, and modes to play.
## [Documentation](https://github.com/supertuxkart/stk-code/blob/master/NETWORKING.md)
Essentially this is a standard build of the regular SuperTuxKart client but with a special flag when being compiled that produces a GUI-less binary optimized for size and memory usage.
## Install notes
First install will take a while because the games source code and assets will be downloaded and the games executable will have to be compiled.
## Installation/System Requirements
| | Bare Minimum | Recommended |
|---------|---------|---------|
| RAM | 1GiB | 1GiB |
| Storage | 3GiB | 5GiB |
## Server Ports
| Port | default |
|---------|---------|
| Game | 2759 |
### Notes
To change server settings, stop the server then edit the 'config.xml' file in the root of the container. When done save the file and start the server.
2759 is the default port, but any port can be used. You will have to manually change it in the config.xml file.
To update the server (only should have to be done when the games code or assets are updated) in panel as an admin go to Servers > SuperTuxKart Server > Manage > Reinstall. If you are a standard user go to SuperTuxKart Server > Settings > Reinstall Server. This will download the updated code/assets (should exclude anything that didn't change) and recompile the executable.
Currently this is setup to run a local lan server. To make this a wan server (available in the SuperTuxKart online lobby list) read the document at this link and make the necessary changes to the [startup command](https://github.com/supertuxkart/stk-code/blob/master/NETWORKING.md).
@@ -1,92 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-24T19:19:23+01:00",
"name": "SuperTuxKart",
"author": "mattamn107@github.com",
"description": "Egg for hosting a SuperTuxKart Server.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/bin\/supertuxkart --server-config={{CONFIG_NAME}} --lan-server={{SERVER_NAME}} --network-console --port=\"{{SERVER_PORT}}\" --difficulty={{DIFFICULTY}} --mode={{MODE}} --max-players={{MAX_PLAYERS}} --motd=\"{{MOTD}}\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Available command:\"\r\n}",
"logs": "{}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\napt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential cmake libbluetooth-dev libsdl2-dev \\\r\n libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev \\\r\n libjpeg-dev libogg-dev libopenal-dev libpng-dev \\\r\n libssl-dev libvorbis-dev libmbedtls-dev pkg-config zlib1g-dev subversion\r\n\r\nif [ ! -d \"\/mnt\/server\/stk-code\" ] && [ ! -d \"\/mnt\/server\/stk-assets\" ]; then\r\n \r\n #clone code repo\r\n git clone https:\/\/github.com\/supertuxkart\/stk-code \/mnt\/server\/stk-code\r\n \r\n #get assets\r\n svn co https:\/\/svn.code.sf.net\/p\/supertuxkart\/code\/stk-assets \/mnt\/server\/stk-assets\r\n \r\n # go into the stk-code directory\r\n cd \/mnt\/server\/stk-code\r\n \r\n # create and enter the cmake_build directory\r\n mkdir cmake_build\r\n \r\nelse\r\n\r\n #update existing stuff\r\n cd \/mnt\/server\/stk-assets\r\n svn up\r\n \r\n cd \/mnt\/server\/stk-code\r\n git pull\r\n\r\n\r\nfi\r\n\r\n#build the server\r\ncd cmake_build\r\ncmake .. -DSERVER_ONLY=ON\r\nmake\r\n\r\n#copy binary to root\/bin and make it executable\r\nmkdir \/mnt\/server\/bin\r\ncp \/mnt\/server\/stk-code\/cmake_build\/bin\/supertuxkart \/mnt\/server\/bin\/supertuxkart\r\nchmod +x \/mnt\/server\/bin\/supertuxkart\r\n\r\n#copy data folder\r\ncp -r \/mnt\/server\/stk-code\/data \/mnt\/server\/data\r\n\r\n#copy extra assets to data folder\r\ncd \/mnt\/server\/stk-assets\r\ncp -r library models music sfx textures tracks karts \/mnt\/server\/data\/\r\n\r\n# Delete repo's to save disk space.\r\n#rm -rf \/mnt\/server\/stk-code && rm -rf \/mnt\/server\/stk-assets",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "The Name of the Server",
"env_variable": "SERVER_NAME",
"default_value": "Pterodactyl_Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:50",
"field_type": "text"
},
{
"name": "Config File Name",
"description": "Name of the Config File.",
"env_variable": "CONFIG_NAME",
"default_value": "config.xml",
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.xml)$\/",
"field_type": "text"
},
{
"name": "Mode",
"description": "0 = Normal Race\r\n1 = Time Trial\r\n2 = Battle\r\n3 = Soccer\r\n4 = Follow The Leader\r\n5 = Capture the Flag",
"env_variable": "MODE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:0,1,2,3,4,5",
"field_type": "text"
},
{
"name": "Difficulty",
"description": "Speed of the carts and AI difficulty\r\n0 = Beginner\r\n1 = Intermediate\r\n2 = Expert\r\n3 = SuperTux",
"env_variable": "DIFFICULTY",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:0,1,2,3",
"field_type": "text"
},
{
"name": "Max Players",
"description": "How many players can there be in the server.",
"env_variable": "MAX_PLAYERS",
"default_value": "8",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,24",
"field_type": "text"
},
{
"name": "Message of the Day",
"description": "Message of the Day displayed in the server.",
"env_variable": "MOTD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:100",
"field_type": "text"
}
]
}
-1
View File
@@ -28,7 +28,6 @@ Its set in infinitely-generated worlds of wide open terrain - icy mountains,
* [Modrinth](java/modrinth)
* [Mohist](java/mohist)
* [NanoLimbo](java/nanolimbo)
* [NeoForge](java/neoforge)
* [Paper](java/paper)
* [Folia](java/folia)
* [Purpur](java/purpur)
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-23T20:45:16+01:00",
"exported_at": "2022-12-04T10:01:51-06:00",
"name": "Purpur-Geyser-Floodgate",
"author": "purpur@birdflop.com",
"description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features, with the addition of GeyserMC and Floodgate",
@@ -29,7 +29,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\n# Download paths for Geyser and Floodgate. Do not change!!\r\nGEYSER_DOWNLOAD_URL=\"https:\/\/download.geysermc.org\/v2\/projects\/geyser\/versions\/latest\/builds\/latest\/downloads\/spigot\"\r\nFLOODGATE_DOWNLOAD_URL=\"https:\/\/download.geysermc.org\/v2\/projects\/floodgate\/versions\/latest\/builds\/latest\/downloads\/spigot\"\r\n\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\nmkdir -p \/mnt\/server\/plugins\r\ncurl -sSL-o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\"\r\ncurl -sSL -L plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}\"\r\ncurl -sSL -L plugins\/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi\r\necho -e \"Installation Finished\"",
"script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=purpur\r\n\r\n# Download paths for Geyser and Floodgate. Do not change!!\r\nGEYSER_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Geyser\/job\/master\/lastSuccessfulBuild\/artifact\/bootstrap\/spigot\/build\/libs\/Geyser-Spigot.jar\r\nFLOODGATE_DOWNLOAD_URL=https:\/\/ci.opencollab.dev\/job\/GeyserMC\/job\/Floodgate\/job\/master\/lastSuccessfulBuild\/artifact\/spigot\/build\/libs\/floodgate-spigot.jar\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\t\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all | tostring | contains($BUILD)' | grep true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n\t\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\t\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\t\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.purpurmc.org\/v2\/${PROJECT}\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Downloading the requested purpur buid with curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\nmkdir -p \/mnt\/server\/plugins\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/geyser-spigot ${GEYSER_DOWNLOAD_URL}\"\r\ncurl -o plugins\/geyser-spigot.jar ${GEYSER_DOWNLOAD_URL}\r\n\r\necho -e \"Downloading last successful build with curl -o plugins\/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}\"\r\ncurl -o plugins\/floodgate-spigot.jar ${FLOODGATE_DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n\techo -e \"Downloading MC server.properties\"\r\n\tcurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi\r\necho -e \"Installation Finished\"",
"container": "ghcr.io\/pterodactyl\/installers:alpine",
"entrypoint": "ash"
}
@@ -66,4 +66,4 @@
"field_type": "text"
}
]
}
}
-5
View File
@@ -37,11 +37,6 @@ This is a direct fork of the default forge service
[CurseForge Generic Website](https://www.curseforge.com)
A generic service to pull forge mod packs from the curseforge site.
### [NeoForge](neoforge)
[NeoForge Website](https://neoforged.net)
A fork of Minecraft Forge that supports Minecraft versions 1.20.1 and newer.
## Glowstone
[Glowstone](https://glowstone.net/)
Glowstone is an open-source replacement for CraftBukkit, Spigot, and Paper.
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-13T17:26:13+0000",
"exported_at": "2023-07-24T16:49:48+02:00",
"name": "Folia",
"author": "Hosting@NeverStopGaming.net",
"description": "Fork of Paper which adds regionised multithreading to the dedicated server.",
@@ -14,7 +14,6 @@
"pid_limit"
],
"docker_images": {
"Java 21": "ghcr.io\/pterodactyl\/yolks:java_21",
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
+10 -10
View File
@@ -4,10 +4,10 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-23T20:05:07+01:00",
"exported_at": "2023-07-29T17:46:23+02:00",
"name": "Magma",
"author": "support@pterodactyl.io",
"description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability. Using: https:\/\/github.com\/magmamaintained",
"description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.",
"features": [
"eula",
"java_version",
@@ -21,7 +21,7 @@
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [],
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}}",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
@@ -30,8 +30,8 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/magmamaintained\/Magma-${MC_VERSION}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/magmamaintained\/Magma-${MC_VERSION}\/releases\")\r\n\r\nif [ -z \"${TAG_VERSION}\" ] || [ \"${TAG_VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url )\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${TAG_VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${TAG_VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${TAG_VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url')\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_LINK}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_LINK}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n\r\necho \"Download Link: '${DOWNLOAD_LINK}'\"\r\n\r\n# Check we found a download link\r\n\r\n# Download server.jar\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} -sSL ${DOWNLOAD_LINK}\r\necho -e \"Install Complete\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl git jq\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n# Hard coded latest version as the magma API doesn't have an endpoint to query for it\r\nLATEST_VERSION=\"1.18.2\"\r\n\r\n# Default TAG_VERSION if empty\r\nif [[ -z \"${TAG_VERSION}\" ]]; then\r\n TAG_VERSION=\"latest\"\r\nfi\r\n\r\n\r\nif [[ -z \"${MC_VERSION}\" ]] || [[ \"${MC_VERSION}\" == \"latest\" ]]; then\r\n echo -e \"Version not set. Defaulting to latest\"\r\n MC_VERSION=${LATEST_VERSION}\r\nfi\r\n\r\necho \"Attempting to install Magma - Version ${MC_VERSION} - Tag ${TAG_VERSION}\"\r\n\r\nif [[ \"${TAG_VERSION}\" == \"latest\" ]]; then\r\n # Didn't ask for a specific tag\r\n VERSION_JSON=$(curl --silent \"https:\/\/api.magmafoundation.org\/api\/v2\/${MC_VERSION}\/latest\")\r\nelse\r\n # Asked for a specific tag\r\n VERSION_JSON=$(curl --silent \"https:\/\/api.magmafoundation.org\/api\/v2\/${MC_VERSION}\/latest\/${TAG_VERSION}\")\r\nfi\r\n\r\nDOWNLOAD_LINK=$(echo ${VERSION_JSON} | jq -r .link)\r\necho \"Download Link: '${DOWNLOAD_LINK}'\"\r\n\r\n# Check we found a download link\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then\r\n \r\n # Validate that link works\r\n echo -e \"Validating download link\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_LINK}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_LINK}\r\n else\r\n echo -e \"Download URL ${DOWNLOAD_LINK} is invalid. Terminating install.\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"No download URL found. Terminating install.\"\r\n exit 2\r\nfi\r\n\r\n\r\n# Download server.jar\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} -sSL ${DOWNLOAD_LINK}\r\necho -e \"Install Complete\"",
"container": "debian:bullseye-slim",
"entrypoint": "bash"
}
},
@@ -48,22 +48,22 @@
},
{
"name": "Minecraft Version",
"description": "",
"description": "Optional.\r\n\r\nSpecify the version to install, such as 1.16 or 1.12. Leave empty or set latest to install latest",
"env_variable": "MC_VERSION",
"default_value": "1.20.1",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|in:1.20.1,1.19.3,1.18.2,1.12.2",
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Tag Version",
"description": "Optional.\r\n\r\nSpecify the tag version to install. Set latest to install latest",
"description": "Optional.\r\n\r\nSpecify the tag version to install. Leave empty or set latest to install latest",
"env_variable": "TAG_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"rules": "nullable|string|max:20",
"field_type": "text"
}
]
@@ -1,18 +0,0 @@
# NeoForge 🦊
## This is a generic egg for the NeoForge standalone server.
NeoForge is a fork of Minecraft Forge for versions 1.20.1 or newer. The install
script is based on the official Forge install script.
The egg supports downloading NeoForge for the latest or a specified Minecraft version,
as well as downloading a specific NeoForge version.
## Server Ports
The Minecraft server requires a single port for access (default 25565),
but plugins may require extra ports to enabled for the server.
| Port | Default |
|------------|---------|
| Minecraft | 25565 |
@@ -1,59 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-06T21:55:56+01:00",
"name": "NeoForge",
"author": "glorantv@icloud.com",
"description": "NeoForge Server. NeoForge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other. NeoForge is a fork of Minecraft Forge.",
"features": [
"eula",
"java_version",
"pid_limit"
],
"docker_images": {
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8"
},
"file_denylist": [],
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true @unix_args.txt",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\n# NeoForge Installation Script\n#\n# Server Files: \/mnt\/server\n\napt-get update\napt-get install -y curl xq openjdk-17-jdk\n\nif [[ ! -d \/mnt\/server ]]; then\n mkdir \/mnt\/server\nfi\n\ncd \/mnt\/server\n\n# Remove spaces from the version number to avoid issues with curl\nNEOFORGE_VERSION=\"$(echo \"$NEOFORGE_VERSION\" | tr -d ' ')\"\nMC_VERSION=\"$(echo \"$MC_VERSION\" | tr -d ' ')\"\n\n# If we have a specific NeoForge version set, use that\nif [[ ! -z ${NEOFORGE_VERSION} ]]; then\n # The 1.20.1 release lives in a different repository and is called \"forge\" instead of \"neoforge\"\n if [[ \"${NEOFORGE_VERSION}\" =~ \"1.20.1-\" ]]; then\n DOWNLOAD_LINK=https:\/\/maven.neoforged.net\/releases\/net\/neoforged\/forge\/${NEOFORGE_VERSION}\/forge-${NEOFORGE_VERSION}\n ARTIFACT_NAME=\"forge\"\n else\n DOWNLOAD_LINK=https:\/\/maven.neoforged.net\/releases\/net\/neoforged\/neoforge\/${NEOFORGE_VERSION}\/neoforge-${NEOFORGE_VERSION}\n ARTIFACT_NAME=\"neoforge\"\n fi\nelse\n # For NeoForge, downloading based on a Minecraft version is done by using the Maven metadata.\n # 1.20.1 is also handled differently here, because it's in a different repository and is called\n # \"forge\" instead of \"neoforge\".\n if [[ \"${MC_VERSION}\" == \"1.20.1\" ]]; then\n XML_DATA=$(curl -sSL https:\/\/maven.neoforged.net\/releases\/net\/neoforged\/forge\/maven-metadata.xml)\n ARTIFACT_NAME=\"forge\"\n NEOFORGE_OLD=1\n else\n XML_DATA=$(curl -sSL https:\/\/maven.neoforged.net\/releases\/net\/neoforged\/neoforge\/maven-metadata.xml)\n ARTIFACT_NAME=\"neoforge\"\n fi\n\n REPO_URL=\"https:\/\/maven.neoforged.net\/releases\/net\/neoforged\/${ARTIFACT_NAME}\/\"\n\n # Get the latest version of Minecraft NeoForge supports. Here XML_DATA contains the metadata for\n # the new, \"neoforge\" repository, which is good since 1.20.1 will never be the latest anymore.\n if [[ \"${MC_VERSION}\" == \"latest\" ]] || [[ \"${MC_VERSION}\" == \"\" ]]; then\n echo \"Getting latest version of NeoForge.\"\n MC_VERSION=\"1.$(echo -e ${XML_DATA} | xq -x '\/metadata\/versioning\/release' | cut -d'.' -f1-2)\"\n fi\n\n echo \"Minecraft version: ${MC_VERSION}\"\n\n if [[ -z \"${NEOFORGE_OLD}\" ]]; then\n # For modern artifacts we cut the \"1.\" from the Minecraft version, and search for that\n VERSION_KEY=$(echo -n ${MC_VERSION} | cut -d'.' -f2-)\n else\n # For 1.20.1, it uses the same naming scheme as Forge, so we just append a dash\n VERSION_KEY=\"${MC_VERSION}-\"\n fi\n\n # Then we extract the latest the latest NeoForge version available based on the Maven metadata\n NEOFORGE_VERSION=$(echo -e ${XML_DATA} | xq -x \"(\/metadata\/versioning\/versions\/*[starts-with(text(), '${VERSION_KEY}')])\" | tail -n1)\n if [[ -z \"${NEOFORGE_VERSION}\" ]]; then\n echo \"The install failed, because there is no valid version of NeoForge for the version of Minecraft selected.\"\n exit 1\n fi\n\n echo \"NeoForge version: ${NEOFORGE_VERSION}\"\n\n DOWNLOAD_LINK=\"${REPO_URL}${NEOFORGE_VERSION}\/${ARTIFACT_NAME}-${NEOFORGE_VERSION}\"\nfi\n\necho \"Downloading NeoForge version ${NEOFORGE_VERSION}\"\necho \"Download link is ${DOWNLOAD_LINK}\"\n\n# Check if the download link we generated is valid\nif [[ ! -z \"${DOWNLOAD_LINK}\" ]]; then\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\n echo -e \"Installer jar download link is valid.\"\n else\n echo -e \"Link is invalid. Exiting now\"\n exit 2\n fi\nelse\n echo -e \"No download link provided. Exiting now\"\n exit 3\nfi\n\n# If so, go ahead and download the installer\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\n\nif [[ ! -f .\/installer.jar ]]; then\n echo \"!!! Error downloading NeoForge version ${NEOFORGE_VERSION} !!!\"\n exit 4\nfi\n\n# Delete args to support downgrading\/upgrading\nrm -rf libraries\/net\/neoforged\/${ARTIFACT_NAME}\nrm unix_args.txt\n\n# Installing server\necho -e \"Installing NeoForge server.\\n\"\njava -jar installer.jar --installServer || {\n echo -e \"\\nInstall failed using NeoForge version ${NEOFORGE_VERSION} and Minecraft version ${MINECRAFT_VERSION}.\"\n echo -n \"Should you be using unlimited memory value of 0, make sure to increase the default install resource limits in the Wings\"\n echo \"config or specify exact allocated memory in the server Build Configuration instead of 0!\"\n echo \"Otherwise, the NeoForge installer will not have enough memory.\";\n exit 5;\n}\n\n# Symlink the startup arguments to the server directory\nln -sf libraries\/net\/neoforged\/${ARTIFACT_NAME}\/*\/unix_args.txt unix_args.txt\n\n# And finally clean up\necho -e \"Deleting installer.jar file.\\n\"\nrm -rf installer.jar\n\necho \"Installation process is completed!\"",
"container": "debian:12-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Minecraft Version",
"description": "The version of Minecraft you want to install for.\r\n\r\nLeaving latest will install the latest version.",
"env_variable": "MC_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:9",
"field_type": "text"
},
{
"name": "NeoForge Version",
"description": "The full exact version.\r\n\r\nEx. 20.4.194 or 1.20.1-47.1.95\r\n\r\nOverrides MC_VERSION. If it fails to download the server files it will fail to install.",
"env_variable": "NEOFORGE_VERSION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|regex:\/^[0-9\\.\\-]+$\/",
"field_type": "text"
}
]
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-13T17:26:13+0000",
"exported_at": "2023-05-17T23:20:29+01:00",
"name": "Paper",
"author": "parker@pterodactyl.io",
"description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.",
@@ -18,8 +18,7 @@
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18",
"Java 21": "ghcr.io\/pterodactyl\/yolks:java_21"
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-13T17:26:13+0000",
"exported_at": "2023-05-17T23:20:29+01:00",
"name": "Purpur",
"author": "purpur@birdflop.com",
"description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features.",
@@ -18,8 +18,7 @@
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18",
"Java 21": "ghcr.io\/pterodactyl\/yolks:java_21"
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [],
"startup": "java --add-modules=jdk.incubator.vector -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-31T14:10:53+02:00",
"exported_at": "2023-05-17T23:20:29+01:00",
"name": "Spigot",
"author": "support@pterodactyl.io",
"description": "Spigot is the most widely-used modded Minecraft server software in the world. It powers many of the top Minecraft server networks around to ensure they can cope with their huge player base and ensure the satisfaction of their players. Spigot works by reducing and eliminating many causes of lag, as well as adding in handy features and settings that help make your job of server administration easier.",
@@ -30,7 +30,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Spigot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nmkdir -p \/usr\/share\/man\/man1\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"x64\" || echo \"aarch64\")\r\n \r\nfunction install_java() {\r\n echo \"ARCH: ${ARCH}\\nDownload URl: $1\"\r\n curl -L $1 -o java.tar.gz\r\n tar xzf java.tar.gz\r\n export PATH=$PWD\/$2\/bin:$PATH\r\n java -version\r\n}\r\n\r\nfunction build_spigot()\r\n{\r\n java -Xms$1M -jar BuildTools.jar --rev ${DL_VERSION} || { echo -e \"\\n install failed! Attempted to install ${DL_VERSION} with memory of ${SERVER_MEMORY} and Java version of:\"; java -version; exit 1; }\r\n}\r\n\r\n# Detect the required Java version for building Spigot. Currently temurin only provides archives of their releases, and adoptopenjdk is deprecated. Update this when packages are released.\r\nif [[ $DL_VERSION =~ ^1\\.(18|19|20|21|22|23) || $DL_VERSION == \"latest\" ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin17-binaries\/releases\/download\/jdk-17.0.10%2B7\/OpenJDK17U-jdk_${ARCH}_linux_hotspot_17.0.10_7.tar.gz\" jdk-17.0.10+7\r\nelif [[ $DL_VERSION =~ ^1\\.(17) ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin16-binaries\/releases\/download\/jdk-16.0.2%2B7\/OpenJDK16U-jdk_${ARCH}_linux_hotspot_16.0.2_7.tar.gz\" jdk-16.0.2+7\r\nelse\r\n install_java \"https:\/\/github.com\/adoptium\/temurin8-binaries\/releases\/download\/jdk8u312-b07\/OpenJDK8U-jdk_${ARCH}_linux_hotspot_8u312b07.tar.gz\" jdk8u312-b07\r\nfi\r\n\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n cd \/mnt\/server\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n echo -e \"Using custom provided download link ${MODIFIED_DOWNLOAD}\"\r\n curl -L ${MODIFIED_DOWNLOAD} -o ${SERVER_JARFILE}\r\nelse\r\n mkdir -p \/srv\/\r\n cd \/srv\/\r\n curl -L https:\/\/hub.spigotmc.org\/jenkins\/job\/BuildTools\/lastSuccessfulBuild\/artifact\/target\/BuildTools.jar -o BuildTools.jar\r\n\r\n # Force the minimum Wings install container memory should someone provide less or 0 as it will break the Java build process\r\n if [ $SERVER_MEMORY -lt 1024 ]; then\r\n echo -e \"Do not use 0 for memory with Java applications. Defaulting to 1024MB.\\n WARNING! 1024MB might not be enough to build 1.17+ releases.\"\r\n SERVER_MEMORY=1024\r\n build_spigot ${SERVER_MEMORY}\r\n else\r\n build_spigot ${SERVER_MEMORY}\r\n fi\r\n mv spigot-*.jar \/mnt\/server\/${SERVER_JARFILE}\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"script": "#!\/bin\/bash\r\n# Spigot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nmkdir -p \/usr\/share\/man\/man1\r\n\r\nfunction install_java() {\r\n curl -L $1 -o java.tar.gz\r\n tar xzf java.tar.gz\r\n export PATH=$PWD\/$2\/bin:$PATH\r\n java -version\r\n}\r\n\r\nfunction build_spigot()\r\n{\r\n java -Xms$1M -jar BuildTools.jar --rev ${DL_VERSION} || { echo -e \"\\n install failed! Attempted to install ${DL_VERSION} with memory of ${SERVER_MEMORY} and Java version of:\"; java -version; exit 1; }\r\n}\r\n\r\n# Detect the required Java version for building Spigot. Currently temurin only provides archives of their releases, and adoptopenjdk is deprecated. Update this when packages are released.\r\nif [[ $DL_VERSION =~ ^1\\.(18|19|20|21|22|23) || $DL_VERSION == \"latest\" ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin17-binaries\/releases\/download\/jdk-17.0.1%2B12\/OpenJDK17U-jdk_x64_linux_hotspot_17.0.1_12.tar.gz\" jdk-17.0.1+12\r\nelif [[ $DL_VERSION =~ ^1\\.(17) ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin16-binaries\/releases\/download\/jdk-16.0.2%2B7\/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz\" jdk-16.0.2+7\r\nelse\r\n install_java \"https:\/\/github.com\/adoptium\/temurin8-binaries\/releases\/download\/jdk8u312-b07\/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz\" jdk8u312-b07\r\nfi\r\n\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n cd \/mnt\/server\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n echo -e \"Using custom provided download link ${MODIFIED_DOWNLOAD}\"\r\n curl -L ${MODIFIED_DOWNLOAD} -o ${SERVER_JARFILE}\r\nelse\r\n mkdir -p \/srv\/\r\n cd \/srv\/\r\n curl -L https:\/\/hub.spigotmc.org\/jenkins\/job\/BuildTools\/lastSuccessfulBuild\/artifact\/target\/BuildTools.jar -o BuildTools.jar\r\n\r\n # Force the minimum Wings install container memory should someone provide less or 0 as it will break the Java build process\r\n if [ $SERVER_MEMORY -lt 1024 ]; then\r\n echo -e \"Do not use 0 for memory with Java applications. Defaulting to 1024MB.\\n WARNING! 1024MB might not be enough to build 1.17+ releases.\"\r\n SERVER_MEMORY=1024\r\n build_spigot ${SERVER_MEMORY}\r\n else\r\n build_spigot ${SERVER_MEMORY}\r\n fi\r\n mv spigot-*.jar \/mnt\/server\/${SERVER_JARFILE}\r\nfi",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
@@ -43,8 +43,7 @@
"default_value": "server.jar",
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
"field_type": "text"
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
},
{
"name": "Download Path",
@@ -53,8 +52,7 @@
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
"rules": "nullable|string"
},
{
"name": "Spigot Version",
@@ -63,8 +61,7 @@
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,10",
"field_type": "text"
"rules": "required|string|between:3,10"
}
]
}
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-13T17:26:13+0000",
"exported_at": "2023-08-05T03:24:56+01:00",
"name": "Velocity",
"author": "parker@parkervcp.com",
"description": "Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.",
@@ -14,7 +14,6 @@
"pid_limit"
],
"docker_images": {
"Java 21": "ghcr.io\/pterodactyl\/yolks:java_21",
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
-16
View File
@@ -1,16 +0,0 @@
# Rimworld Together
## From their [site](https://rimworld-together.fandom.com/wiki/Rimworld_Together_Wiki)
## From their [Github](https://github.com/Byte-Nova/Rimworld-Together)
A community driven multiplayer mod, for Rimworld.
[Rimworld Together](https://steamcommunity.com/sharedfiles/filedetails/?id=3005289691)
## Server Ports
| Port | default |
|---------|---------|
| Game | 25555 |
@@ -1,62 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T10:31:49+02:00",
"name": "Rimworld Together",
"author": "josdekurk@gmail.com",
"description": "A community driven multiplayer mod, for Rimworld.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:dotnet_7": "ghcr.io\/parkervcp\/yolks:dotnet_7"
},
"file_denylist": [],
"startup": ".\/GameServer",
"config": {
"files": "{\r\n \"Core\/ServerConfig.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"IP\": \"0.0.0.0\",\r\n \"Port\": \"{{server.build.default.port}}\",\r\n \"MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"verboseLogs\": \"{{server.build.env.VERBOSE}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server launched\"\r\n}",
"logs": "{}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl -L --silent \"https:\/\/api.github.com\/repos\/RimworldTogether\/Rimworld-Together\/releases\/latest\")\r\nRELEASES=$(curl -L --silent \"https:\/\/api.github.com\/repos\/RimworldTogether\/Rimworld-Together\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"Linux-x64 \" || echo \"Linux-ARM-x64\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\ncurl -sSL -o server.zip ${DOWNLOAD_URL}\r\nunzip -o server.zip\r\nrm server.zip\r\nchmod +x GameServer\r\n\r\n\r\nif [ -f \"\/mnt\/server\/Core\/ServerConfig.json\" ]; then\r\n echo \"Config file exits\"\r\nelse \r\n mkdir -p \/mnt\/server\/Core\r\n echo \"{\\\"IP\\\":\\\"0.0.0.0\\\",\\\"Port\\\":$SERVER_PORT,\\\"MaxPlayers\\\":$MAX_PLAYERS,\\\"verboseLogs\\\":$VERBOSE}\" | jq . > \/mnt\/server\/Core\/ServerConfig.json\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Version",
"description": "",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Max Players",
"description": "The maximum amount of players that can join. Default: 100",
"env_variable": "MAX_PLAYERS",
"default_value": "100",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,150",
"field_type": "text"
},
{
"name": "Verbose",
"description": "If the console output should be verbose or not.",
"env_variable": "VERBOSE",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:false,true",
"field_type": "text"
}
]
}
+6 -32
View File
@@ -60,10 +60,6 @@ This is a collection of servers that use SteamCMD to install.
[Core Keeper](core_keeper)
## Counter-Strike
[Counter-Strike](counter_strike)
## Craftopia
[Craftopia](craftopia)
@@ -76,13 +72,6 @@ This is a collection of servers that use SteamCMD to install.
[DayZ (Experimental)](dayz-experimental)
## DDNet
[DDNet](ddnet)
## Dead Matter
[Dead Matter](dead_matter)
## Don't Starve Together
[Don't Starve Together](dont_starve)
@@ -168,10 +157,6 @@ This is a collection of servers that use SteamCMD to install.
[Mount & Blade II: Bannerlord](mount_blade_II_bannerlord)
## Myth of Empires
[Myth of Empires](myth_of_empires)
## Necesse
[Necesse](necesse)
@@ -183,18 +168,10 @@ This is a collection of servers that use SteamCMD to install.
[No More Room in Hell](nmrih)
## No Love Lost
[No Love Lost](no_love_lost)
## No One Survived
[No One Survived](no_one_survived)
## Nova-Life: Amboise
[Nova-Life: Amboise](novalife_amboise)
## Onset
[Onset](onset)
@@ -264,10 +241,15 @@ This is a collection of servers that use SteamCMD to install.
* [dedicated](scpsl/dedicated)
* [exiled](scpsl/exiled)
## SCP: Escape Together
[SCP: Escape Together](scp_escape_together)
## Smalland: Survive the Wilds
[Smalland: Survive the Wilds](smalland_survive_the_wilds)
## Solace Crafting
[Solace Crafting](solace_crafting)
@@ -320,10 +302,6 @@ This is a collection of servers that use SteamCMD to install.
[Team Fortress 2 Classic](team_fortress_2_classic)
## TerraTech Worlds
[TerraTech Worlds](terratech_worlds)
## The Forest
[The Forest](the_forest)
@@ -364,9 +342,5 @@ This is a collection of servers that use SteamCMD to install.
* [Valheim BepInEx](valheim/valheim_bepinex)
* [Valheim Plus Mod](valheim/valheim_plus)
## VEIN
[VEIN](vein)
## Wurm Unlimited
[Wurm Unlimited](wurm_unlimited/)
* [Wurm Unlimited](wurm_unlimited/)
@@ -5,5 +5,4 @@ Counter-Strike is a series of multiplayer tactical first-person shooter video ga
## Counter-Strike Titles
- [Counter-Strike: Source](counter_strike_source)
- [Counter-Strike: Global-Offensive](https://github.com/pterodactyl/panel/blob/develop/database/Seeders/eggs/source-engine/egg-counter--strike--global-offensive.json)
- [Counter-Strike 2](counter_strike_2)
- [Counter-Strike: Global-Offensive](https://github.com/pterodactyl/panel/blob/develop/database/Seeders/eggs/source-engine/egg-counter--strike--global-offensive.json)
@@ -1,34 +0,0 @@
# Counter-Strike 2
Steam Description :
For over two decades, Counter-Strike has offered an elite competitive experience, one shaped by millions of players from across the globe. And now the next chapter in the CS story is about to begin. This is Counter-Strike 2.
## Install notes
For CS2 Valve has decided to merge the game and server files. There will not be standalone dedicated server files.<br>
## Installation/System Requirements
| | Minimum | Recommended |
|---------|---------|---------|
| Processor | minim x86-64-v2 (with popcnt) | --- |
| RAM | 2 GB | --- |
| Storage | 33 GB | --- |
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 27015 |
| Source TV (Optional) | 27020 |
## RCON
RCON is only accessible from external apps, NOT from the game client itself. It's broken in CS2.<br>
If possible always use the Pterodactyl console to use your commands like ``map de_nuke`` or ``mp_restartgame 3``.<br>
## Notes
Further install instructions can be found at the official [Documentation](https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers).
@@ -1,164 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-23T20:42:08+01:00",
"name": "Counter-Strike 2",
"author": "admin@ballaual.de",
"description": "For over two decades, Counter-Strike has offered an elite competitive experience, one shaped by millions of players from across the globe. And now the next chapter in the CS story is about to begin. This is Counter-Strike 2.",
"features": [
"steam_disk_space"
],
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:sniper": "ghcr.io\/parkervcp\/steamcmd:sniper"
},
"file_denylist": [],
"startup": ".\/game\/bin\/linuxsteamrt64\/cs2 -dedicated $( [ \"$VAC_ENABLED\" == \"1\" ] || printf %s ' -insecure' ) -ip 0.0.0.0 -port {{SERVER_PORT}} -tv_port {{TV_PORT}} -maxplayers {{MAX_PLAYERS}} $( [ \"$RCON_ENABLED\" == \"0\" ] || printf %s ' -usercon' ) +game_mode {{GAME_MODE}} +game_type {{GAME_TYPE}} +map {{SRCDS_MAP}} +hostname \"{{SERVER_NAME}}\" +sv_password \"{{SERVER_PASSWORD}}\" +rcon_password \"{{RCON_PASSWORD}}\" +sv_setsteamaccount {{STEAM_GSLT}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Connection to Steam servers successful\"\r\n}",
"logs": "{}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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} +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## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Map",
"description": "The default map for the server.\r\nExamples:\r\n\r\nBomb:\r\nde_dust2, de_mirage, de_nuke, de_overpass, de_inferno, de_ancient, de_vertigo, de_anubis\r\n\r\nHostage:\r\ncs_italy, cs_office\r\n\r\nArms Race:\r\nar_baggage, ar_shoots",
"env_variable": "SRCDS_MAP",
"default_value": "de_dust2",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Source AppID",
"description": "Required for game to update on server restart. Do not modify this.",
"env_variable": "SRCDS_APPID",
"default_value": "730",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:730",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Specifies the maximum amount of players that are able to join the server.",
"env_variable": "MAX_PLAYERS",
"default_value": "12",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,64",
"field_type": "text"
},
{
"name": "Auto-update server",
"description": "This is to enable \/ disable auto-updating your server on restart.\r\n\r\nBy default this is set to enabled.",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "SourceTV Port",
"description": "SourceTV port used for connections to spectates games on your server.",
"env_variable": "TV_PORT",
"default_value": "27020",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1025,65535",
"field_type": "text"
},
{
"name": "Steam Gameserver Login Token",
"description": "The Steam Account Token required for the server to be displayed public. The token can be acquired here: https:\/\/steamcommunity.com\/dev\/managegameservers",
"env_variable": "STEAM_GSLT",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|alpha_num|size:32",
"field_type": "text"
},
{
"name": "Enable VAC",
"description": "Enable \/ Disable VAC (Valve Anti Cheat) on your server. By default this will be enabled.",
"env_variable": "VAC_ENABLED",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Enable RCON",
"description": "Enable \/ Disable RCON for using RCON commands with external tools. By default this will be disabled.",
"env_variable": "RCON_ENABLED",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Server Name",
"description": "Sets the server name listed in the steam server browser.",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl hosted CS2 Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Server Password",
"description": "If specified, players must provide this password to join the server.",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_dash|between:1,30",
"field_type": "text"
},
{
"name": "RCON Password",
"description": "To gain access to administrator commands on the server.",
"env_variable": "RCON_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|alpha_dash|between:1,30",
"field_type": "text"
},
{
"name": "Gamemode",
"description": "Defines the Gamemode and Gametype to be set at the start of the next round.\r\nExamples:\r\n\r\nCompetitive:\r\ngame_mode 1\r\ngame_type 0\r\n\r\nWingman:\r\ngame_mode 2\r\ngame_type 0\r\n\r\nCasual:\r\ngame_mode 0\r\ngame_type 0\r\n\r\nDeathmatch:\r\ngame_mode 2\r\ngame_type 1\r\n\r\nArms Race:\r\ngame_mode 0\r\ngame_type 1\r\n\r\nCustom:\r\ngame_mode 0\r\ngame_type 3",
"env_variable": "GAME_MODE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Gametype",
"description": "Defines the Gamemode and Gametype to be set at the start of the next round.\r\nExamples:\r\n\r\nCompetitive:\r\ngame_mode 1\r\ngame_type 0\r\n\r\nWingman:\r\ngame_mode 2\r\ngame_type 0\r\n\r\nCasual:\r\ngame_mode 0\r\ngame_type 0\r\n\r\nDeathmatch:\r\ngame_mode 2\r\ngame_type 1\r\n\r\nArms Race:\r\ngame_mode 0\r\ngame_type 1\r\n\r\nCustom:\r\ngame_mode 0\r\ngame_type 3",
"env_variable": "GAME_TYPE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
@@ -1,17 +0,0 @@
# DDNet
Want to play the hardest cooperative 2D platformer ever? Want to finish no map ever? Want to be in pain for hours and cry, getting nothing in return? Come play DDNet with a large community of other sufferers!
This game does not have a Anonymous Server Comp for the Server Files. To pull this you need to own the game on Steam and fill both the STEAM_USER and STEAM_PASS variables prior to installation as it packages the Server Executable into the base games files
For all added edits, these are found under **ddnet/data/autoexec_server.cfg**
## Server Port
| Port | default |
|---------|---------|
| Game | 8303 |
## Hardware Requirements
| Storage | RAM | CPU |
|---------|---------|-----|
| 2.0GiB | 250MiB | 🥔 |
@@ -1,124 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-31T18:27:28-04:00",
"name": "DDNet",
"author": "imkringle@proton.me",
"description": "Want to play the hardest cooperative 2D platformer ever? Want to finish no map ever? Want to be in pain for hours and cry, getting nothing in return? Come play DDNet with a large community of other sufferers!",
"features": [
"steam_disk_space"
],
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/steamcmd:debian"
},
"file_denylist": [],
"startup": ".\/ddnet\/DDNet-Server",
"config": {
"files": "{\r\n \"\/ddnet\/data\/autoexec_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#sv_port\": \"sv_port {{server.build.default.port}}\",\r\n \"sv_name\": \"sv_name \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"sv_map\": \"sv_map \\\"{{server.build.env.SERVER_MAP}}\\\"\",\r\n \"sv_register\": \"sv_register {{server.build.env.PUBLIC_SERVER}}\",\r\n \"sv_max_clients\": \"sv_max_clients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"server: version \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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# 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 ## 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## 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## End\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Auto Update",
"description": "Updates server on startup",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Steam AppID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "412220",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:412220",
"field_type": "text"
},
{
"name": "Steam User",
"description": "Required for File Installation",
"env_variable": "STEAM_USER",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Steam Password",
"description": "Required for File Installation",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl DDNet Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Server Password",
"description": "",
"env_variable": "SERVER_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Server Map",
"description": "Map used on Startup - https:\/\/ddnet.org\/settingscommands\/#server-settings",
"env_variable": "SERVER_MAP",
"default_value": "Sunny Side Up",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Public Server",
"description": "1 for Public \/\/ 0 for Private",
"env_variable": "PUBLIC_SERVER",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Max Players",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "64",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:1,64",
"field_type": "text"
}
]
}
@@ -1,32 +0,0 @@
# Dead
<!--Please remove these comments and irelevent parts for the server egg your adding before summiting a PR request-->
## From their [Github](https://github.com/QI-Software/deadmatterpublic)
## [Documentation]https://www.notion.so/qisoftware/Server-Setup-Guide-d17e5a3f73e34164b6a4d2b37e54da78)
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | *AMD64 Only 300%* | *-* |
| RAM | 18GiB* | *22GiB* |
| Storage | *8GiB* | 10GiB* |
| Network | *any* | *-* |
| Game Ownership | *Not needed* | *-* |
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 7001 |
| Query | 7002 |
### Notes
<!--Notes about the server ports.-->
7001 is the default port, but any port can be used.
@@ -1,82 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-13T10:06:00+01:00",
"name": "Dead Matter",
"author": "josdekurk@gmail.com",
"description": "After a rampant viral outbreak causes global society to collapse, you must survive the harsh wilderness of the Canadian Rockies amidst vast hordes of Infected and rival survivors.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
},
"file_denylist": [],
"startup": "rm \/home\/container\/DeadMatter\/Saved\/Logs\/DeadMatter.log; proton run DeadMatter\/Binaries\/Win64\/DeadMatterServer-Win64-Test.exe -SteamServerName=\"{{SERVER_NAME}}\" -port={{SERVER_PORT}} -queryport={{QUERY_PORT}} & DM_PID=$!; tail -c0 -F \/home\/container\/DeadMatter\/Saved\/Logs\/DeadMatter.log --pid=$DM_PID",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"LogInit: Display: Starting Game\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## install the steam sdk using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server\/DeadMatter\/Binaries\/Win64\/ +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 ${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\n## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/DeadMatter\/Saved\/Config\/WindowsServer\r\n\r\ncd \/mnt\/server\r\necho \"2184150\" > steam_appid.txt\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "App ID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "2584780",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:2584780",
"field_type": "text"
},
{
"name": "Windows Install",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|boolean|in:1",
"field_type": "text"
},
{
"name": "Query Port",
"description": "",
"env_variable": "QUERY_PORT",
"default_value": "7002",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Server Name",
"description": "The name of the server",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl hosted server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "Auto Update the server on start",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
}
]
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-25T17:55:50+01:00",
"exported_at": "2024-01-26T17:20:16+01:00",
"name": "Enshrouded",
"author": "vapokrocks@gmail.com",
"description": "Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny. Credit to gOOvER for the help with the proton image which seems to be performing better over the wine egg.",
@@ -15,7 +15,7 @@
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
},
"file_denylist": [],
"startup": "rm .\/logs\/enshrouded_server.log; proton run .\/enshrouded_server.exe & ENS_PID=$! ; tail -c0 -F .\/logs\/enshrouded_server.log --pid=$ENS_PID",
"startup": "proton run .\/enshrouded_server.exe",
"config": {
"files": "{\r\n \"enshrouded_server.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SRV_NAME}}\",\r\n \"password\": \"{{server.build.env.SRV_PW}}\",\r\n \"slotCount\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"gamePort\": \"{{server.build.default.port}}\",\r\n \"queryPort\": \"{{server.build.env.QUERY_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"[Session] 'HostOnline' (up)!\"\r\n}",
@@ -111,4 +111,4 @@
"field_type": "text"
}
]
}
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-26T18:43:46+01:00",
"exported_at": "2024-02-09T20:19:30+01:00",
"name": "HumanitZ",
"author": "engels74@marx.ps",
"description": "HumanitZ is a co-op, isometric, open world survival game in a world ended by the zombie outbreak. As one of the few human survivors, try to last as long as \u201chumanly\u201d possible. The past can\u2019t be changed, but you can make a difference today for the future of humanity.",
@@ -15,7 +15,7 @@
"file_denylist": [],
"startup": ".\/TSSGame\/Binaries\/Linux\/TSSGameServer-Linux-Shipping TSSGame -log -port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -steamservername=\"{{SERVER_NAME}}\"",
"config": {
"files": "{\r\n \"TSSGame\/GameServerSettings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[Host Settings].ServerName\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"[Host Settings].Password\": \"{{server.build.env.PASSWORD}}\",\r\n \"[Host Settings].SaveName\": \"{{server.build.env.SAVE_NAME}}\",\r\n \"[Host Settings].AdminPass\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"[Host Settings].MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"[Host Settings].OnlyAllowedPlayers\": \"{{server.build.env.ONLY_ALLOWED_PLAYERS}}\",\r\n \"[World Settings].SaveIntervalSec\": \"{{server.build.env.SAVE_INTERVAL_SEC}}\",\r\n \"[World Settings].NoDeathFeedback\": \"{{server.build.env.NO_DEATH_FEEDBACK}}\",\r\n \"[World Settings].PermaDeath\": \"{{server.build.env.PERMA_DEATH}}\",\r\n \"[World Settings].OnDeath\": \"{{server.build.env.ON_DEATH}}\",\r\n \"[World Settings].PVP\": \"{{server.build.env.PVP}}\",\r\n \"[World Settings].ClearInfection\": \"{{server.build.env.CLEAR_INFECTION}}\",\r\n \"[World Settings].EagleEye\": \"{{server.build.env.EAGLE_EYE}}\",\r\n \"[World Settings].AirDrop\": \"{{server.build.env.AIR_DROP}}\",\r\n \"[World Settings].WeaponBreak\": \"{{server.build.env.WEAPON_BREAK}}\",\r\n \"[World Settings].MultiplayerSleep\": \"{{server.build.env.MULTIPLAYER_SLEEP}}\",\r\n \"[World Settings].LootRespawn\": \"{{server.build.env.LOOT_RESPAWN}}\",\r\n \"[World Settings].LootRespawnTimer\": \"{{server.build.env.LOOT_RESPAWN_TIMER}}\",\r\n \"[World Settings].PickupRespawnTimer\": \"{{server.build.env.PICKUP_RESPAWN_TIMER}}\",\r\n \"[World Settings].LootRarity\": \"{{server.build.env.LOOT_RARITY}}\",\r\n \"[World Settings].AirDropInterval\": \"{{server.build.env.AIR_DROP_INTERVAL}}\",\r\n \"[World Settings].ZombieDiffHealth\": \"{{server.build.env.ZOMBIE_DIFF_HEALTH}}\",\r\n \"[World Settings].ZombieDiffSpeed\": \"{{server.build.env.ZOMBIE_DIFF_SPEED}}\",\r\n \"[World Settings].ZombieDiffDamage\": \"{{server.build.env.ZOMBIE_DIFF_DAMAGE}}\",\r\n \"[World Settings].HumanDifficulty\": \"{{server.build.env.HUMAN_DIFFICULTY}}\",\r\n \"[World Settings].ZombieAmountMulti\": \"{{server.build.env.ZOMBIE_AMOUNT_MULTI}}\",\r\n \"[World Settings].HumanAmountMulti\": \"{{server.build.env.HUMAN_AMOUNT_MULTI}}\",\r\n \"[World Settings].ZombieDogMulti\": \"{{server.build.env.ZOMBIE_DOG_MULTI}}\",\r\n \"[World Settings].ZombieRespawnTimer\": \"{{server.build.env.ZOMBIE_RESPAWN_TIMER}}\",\r\n \"[World Settings].HumanRespawnTimer\": \"{{server.build.env.HUMAN_RESPAWN_TIMER}}\",\r\n \"[World Settings].AnimalRespawnTimer\": \"{{server.build.env.ANIMAL_RESPAWN_TIMER}}\",\r\n \"[World Settings].StartingSeason\": \"{{server.build.env.STARTING_SEASON}}\",\r\n \"[World Settings].DaysPerSeason\": \"{{server.build.env.DAYS_PER_SEASON}}\",\r\n \"[World Settings].DayDur\": \"{{server.build.env.DAY_DUR}}\",\r\n \"[World Settings].NightDur\": \"{{server.build.env.NIGHT_DUR}}\",\r\n \"[World Settings].VitalDrain\": \"{{server.build.env.VITAL_DRAIN}}\",\r\n \"[World Settings].DogEnabled\": \"{{server.build.env.DOG_ENABLED}}\",\r\n \"[World Settings].DogNum\": \"{{server.build.env.DOG_NUM}}\",\r\n \"[World Settings].RecruitDog\": \"{{server.build.env.RECRUIT_DOG}}\",\r\n \"[World Settings].BuildingHealth\": \"{{server.build.env.BUILDING_HEALTH}}\",\r\n \"[World Settings].CompanionHealth\": \"{{server.build.env.COMPANION_HEALTH}}\",\r\n \"[World Settings].CompanionDmg\": \"{{server.build.env.COMPANION_DMG}}\",\r\n \"[World Settings].AllowDismantle\": \"{{server.build.env.ALLOW_DISMANTLE}}\",\r\n \"[World Settings].AllowHouseDismantle\": \"{{server.build.env.ALLOW_HOUSE_DISMANTLE}}\",\r\n \"[World Settings].Territory\": \"{{server.build.env.TERRITORY}}\",\r\n \"[World Settings].Decay\": \"{{server.build.env.DECAY}}\",\r\n \"[World Settings].PickupCleanup\": \"{{server.build.env.PICKUP_CLEANUP}}\",\r\n \"[World Settings].FakeBuildingCleanup\": \"{{server.build.env.FAKE_BUILDING_CLEANUP}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \"TSSGame\/GameServerSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"Password=\\\"\\\"\": \"Password=\\\"{{server.build.env.PASSWORD}}\\\"\",\r\n \"SaveName=\\\"\\\"\": \"SaveName=\\\"{{server.build.env.SAVE_NAME}}\\\"\",\r\n \"AdminPass=\\\"\\\"\": \"AdminPass=\\\"{{server.build.env.ADMIN_PASS}}\\\"\",\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"OnlyAllowedPlayers=\": \"OnlyAllowedPlayers={{server.build.env.ONLY_ALLOWED_PLAYERS}}\",\r\n \"SaveIntervalSec=\": \"SaveIntervalSec={{server.build.env.SAVE_INTERVAL_SEC}}\",\r\n \"NoDeathFeedback=\": \"NoDeathFeedback={{server.build.env.NO_DEATH_FEEDBACK}}\",\r\n \"PermaDeath=\": \"PermaDeath={{server.build.env.PERMA_DEATH}}\",\r\n \"OnDeath=\": \"OnDeath={{server.build.env.ON_DEATH}}\",\r\n \"PVP=\": \"PVP={{server.build.env.PVP}}\",\r\n \"ClearInfection=\": \"ClearInfection={{server.build.env.CLEAR_INFECTION}}\",\r\n \"EagleEye=\": \"EagleEye={{server.build.env.EAGLE_EYE}}\",\r\n \"AirDrop=\": \"AirDrop={{server.build.env.AIR_DROP}}\",\r\n \"WeaponBreak=\": \"WeaponBreak={{server.build.env.WEAPON_BREAK}}\",\r\n \"MultiplayerSleep=\": \"MultiplayerSleep={{server.build.env.MULTIPLAYER_SLEEP}}\",\r\n \"LootRespawn=\": \"LootRespawn={{server.build.env.LOOT_RESPAWN}}\",\r\n \"LootRespawnTimer=\": \"LootRespawnTimer={{server.build.env.LOOT_RESPAWN_TIMER}}\",\r\n \"LootRarity=\": \"LootRarity={{server.build.env.LOOT_RARITY}}\",\r\n \"AirDropInterval=\": \"AirDropInterval={{server.build.env.AIR_DROP_INTERVAL}}\",\r\n \"ZombieDiffHealth=\": \"ZombieDiffHealth={{server.build.env.ZOMBIE_DIFF_HEALTH}}\",\r\n \"ZombieDiffSpeed=\": \"ZombieDiffSpeed={{server.build.env.ZOMBIE_DIFF_SPEED}}\",\r\n \"ZombieDiffDamage=\": \"ZombieDiffDamage={{server.build.env.ZOMBIE_DIFF_DAMAGE}}\",\r\n \"HumanDifficulty=\": \"HumanDifficulty={{server.build.env.HUMAN_DIFFICULTY}}\",\r\n \"ZombieAmountMulti=\": \"ZombieAmountMulti={{server.build.env.ZOMBIE_AMOUNT_MULTI}}\",\r\n \"HumanAmountMulti=\": \"HumanAmountMulti={{server.build.env.HUMAN_AMOUNT_MULTI}}\",\r\n \"ZombieDogMulti=\": \"ZombieDogMulti={{server.build.env.ZOMBIE_DOG_MULTI}}\",\r\n \"ZombieRespawnTimer=\": \"ZombieRespawnTimer={{server.build.env.ZOMBIE_RESPAWN_TIMER}}\",\r\n \"HumanRespawnTimer=\": \"HumanRespawnTimer={{server.build.env.HUMAN_RESPAWN_TIMER}}\",\r\n \"AnimalRespawnTimer=\": \"AnimalRespawnTimer={{server.build.env.ANIMAL_RESPAWN_TIMER}}\",\r\n \"StartingSeason=\": \"StartingSeason={{server.build.env.STARTING_SEASON}}\",\r\n \"DaysPerSeason=\": \"DaysPerSeason={{server.build.env.DAYS_PER_SEASON}}\",\r\n \"DayDur=\": \"DayDur={{server.build.env.DAY_DUR}}\",\r\n \"NightDur=\": \"NightDur={{server.build.env.NIGHT_DUR}}\",\r\n \"VitalDrain=\": \"VitalDrain={{server.build.env.VITAL_DRAIN}}\",\r\n \"DogEnabled=\": \"DogEnabled={{server.build.env.DOG_ENABLED}}\",\r\n \"DogNum=\": \"DogNum={{server.build.env.DOG_NUM}}\",\r\n \"RecruitDog=\": \"RecruitDog={{server.build.env.RECRUIT_DOG}}\",\r\n \"BuildingHealth=\": \"BuildingHealth={{server.build.env.BUILDING_HEALTH}}\",\r\n \"CompanionHealth=\": \"CompanionHealth={{server.build.env.COMPANION_HEALTH}}\",\r\n \"CompanionDmg=\": \"CompanionDmg={{server.build.env.COMPANION_DMG}}\",\r\n \"AllowDismantle=\": \"AllowDismantle={{server.build.env.ALLOW_DISMANTLE}}\",\r\n \"AllowHouseDismantle=\": \"AllowHouseDismantle={{server.build.env.ALLOW_HOUSE_DISMANTLE}}\",\r\n \"Territory=\": \"Territory={{server.build.env.TERRITORY}}\",\r\n \"Decay=\": \"Decay={{server.build.env.DECAY}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"LogKaiHelper: Session created!\"\r\n}",
"logs": "{}",
"stop": "^C"
@@ -72,7 +72,7 @@
"name": "Server Name",
"description": "Name of the server",
"env_variable": "SERVER_NAME",
"default_value": "HumanitZ [Dedicated]",
"default_value": "My HumanitZ Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
@@ -112,7 +112,7 @@
"name": "Max Players",
"description": "Maximum number of players allowed",
"env_variable": "MAX_PLAYERS",
"default_value": "16",
"default_value": "32",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
@@ -130,7 +130,7 @@
},
{
"name": "Saving World Interval",
"description": "Save game every x seconds.",
"description": "Save game every X seconds",
"env_variable": "SAVE_INTERVAL_SEC",
"default_value": "300",
"user_viewable": true,
@@ -140,7 +140,7 @@
},
{
"name": "Permanent Death",
"description": "0=Off, 1=Individual perma-death, 2=All players experience perma-death",
"description": "0=Off, 1=Individual, 2=All",
"env_variable": "PERMA_DEATH",
"default_value": "0",
"user_viewable": true,
@@ -150,7 +150,7 @@
},
{
"name": "On Death",
"description": "0=Only lose backpack, and weapon in hand, 1=Previous + pockets, and backpack, 2=All previous + Equipment",
"description": "0=Only lose backpack and weapon in hand, 1=Previous + pockets and backpack, 2=All previous + Equipment",
"env_variable": "ON_DEATH",
"default_value": "2",
"user_viewable": true,
@@ -160,7 +160,7 @@
},
{
"name": "PvP",
"description": "0\/1 Off\/On. Enable or disable Player vs Player.",
"description": "Enable or Disable PvP\r\n0= Off, 1= On",
"env_variable": "PVP",
"default_value": "1",
"user_viewable": true,
@@ -190,7 +190,7 @@
},
{
"name": "Air Drop",
"description": "1=Enabled, 0=Disabled. Controls whether air drops are enabled.",
"description": "1=Enabled, 0=Disabled",
"env_variable": "AIR_DROP",
"default_value": "1",
"user_viewable": true,
@@ -200,7 +200,7 @@
},
{
"name": "Weapon Durability",
"description": "1=Weapons break when reaching 0% durability except crowbar, 0=Only improvised weapons break at 0% durability",
"description": "1=Weapons break when reaching 0% durability except crow bar, 0=Only improvised break at 0% durability",
"env_variable": "WEAPON_BREAK",
"default_value": "1",
"user_viewable": true,
@@ -240,18 +240,8 @@
},
{
"name": "Loot Respawn Timer",
"description": "If loot respawns how long does it take in minutes",
"description": "If loot respawns, how long does it take in seconds",
"env_variable": "LOOT_RESPAWN_TIMER",
"default_value": "60",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Pickup Respawn Timer",
"description": "Time in minutes it takes to respawn pickups, 0 to disable.",
"env_variable": "PICKUP_RESPAWN_TIMER",
"default_value": "90",
"user_viewable": true,
"user_editable": true,
@@ -282,7 +272,7 @@
"name": "Zombie Difficulty (Health)",
"description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare",
"env_variable": "ZOMBIE_DIFF_HEALTH",
"default_value": "1",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
@@ -292,7 +282,7 @@
"name": "Zombie Difficulty (Speed)",
"description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare",
"env_variable": "ZOMBIE_DIFF_SPEED",
"default_value": "2",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
@@ -442,7 +432,7 @@
"name": "Dog Companion Amount",
"description": "Number of companion dogs that could spawn randomly",
"env_variable": "DOG_NUM",
"default_value": "8",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
@@ -520,33 +510,13 @@
},
{
"name": "Decay",
"description": "By default 3600, the crafted \"Spawn Point\" loses 1 durability every 1 hour. This is used to deal with territory build restrictions, so players have to repair their spawn point.",
"description": "By default 3600, the spawn point loses 1 durability every 1 hour. Used to deal with territory build restrictions, so you have to repair your spawn point.",
"env_variable": "DECAY",
"default_value": "3600",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Pickup Cleanup",
"description": "How long in minutes it takes for dropped pickups to be destroyed (Pickups part of the world will not be considered), a value of 0 means no cleanup is done.",
"env_variable": "PICKUP_CLEANUP",
"default_value": "3000",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Fake Building Cleanup",
"description": "How long in minutes it takes for the white blueprint building to be destroyed, a value of 0 means no cleanup is done.",
"env_variable": "FAKE_BUILDING_CLEANUP",
"default_value": "3000",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
}
]
}
@@ -21,37 +21,9 @@ Ports required to run the server
|---------|---------|
| Game | 7210 (UDP) |
## Notes
### Notes
You need to get your own AUTH token to run this server generated by an offical client
[YT](https://www.youtube.com/watch?v=9Hvuz12Bfzg)
[Docs](https://moddocs.bannerlord.com/multiplayer/hosting_server/#generating-a-token)
## IPv6
Because something is wrong with their server, you will be unable to join as their IPV6 logic is broken (even if you don't have IPV6).
To fix this, go to `bin/Linux64_Shipping_Server`, open the `TaleWorlds.Starter.DotNetCore.Linux.runtimeconfig.json` file and add:
```json
"System.Net.DisableIPv6": true
```
To the `configProperties` object.
Your file should then look something like this:
```json
{
"runtimeOptions": {
"tfm": "net6.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
"System.Net.DisableIPv6": true
}
}
}
```
@@ -4,32 +4,42 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-01-15T15:51:23+01:00",
"exported_at": "2023-10-21T17:16:27+02:00",
"name": "Mount & Blade II: Bannerlord",
"author": "josdekurk@gmail.com",
"description": "A strategy\/action RPG. Create a character, engage in diplomacy, craft, trade and conquer new lands in a vast medieval sandbox. Raise armies to lead into battle and command and fight alongside your troops in massive real-time battles using a deep but intuitive skill-based combat system.",
"features": null,
"docker_images": {
"Dotnet_6": "ghcr.io\/parkervcp\/yolks:dotnet_6"
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
},
"file_denylist": [],
"startup": "cd \/home\/container\/bin\/Linux64_Shipping_Server\/ && dotnet TaleWorlds.Starter.DotNetCore.Linux.dll \/port {{SERVER_PORT}} \/dedicatedcustomserverauthtoken \"{{AUTH_TOKEN}}\" \/dedicatedcustomserverconfigfile tdm_config.txt _MODULES_{{MODULES}}_MODULES_",
"startup": "cd \/home\/container\/bin\/Win64_Shipping_Server\/ && wine DedicatedCustomServer.Starter.exe \/port {{SERVER_PORT}} \/dedicatedcustomserverauthtoken \"{{AUTH_TOKEN}}\" \/dedicatedcustomserverconfigfile tdm_config.txt _MODULES_*Native*Multiplayer*DedicatedCustomServerHelper*_MODULES_",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Custom Game server is ready! You can now enter console commands\"\r\n}",
"logs": "{}",
"stop": "^C"
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image 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## 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 ## 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## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/Modules\/Native\/\r\ncd \/mnt\/server\/Modules\/Native\/\r\n[ -f \"tdm_config.txt\" ] || curl -sSL -o \"tdm_config.txt\" \"https:\/\/pteropaste.com\/z67k16z608ty\"\r\n\r\ncd \/opt\/bitnami\/dotnet-sdk\/bin\/shared\/Microsoft.AspNetCore.App\/6.0.*\/\r\ncp *.dll \/mnt\/server\/bin\/Linux64_Shipping_Server\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "bitnami\/dotnet-sdk:6-debian-11",
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## 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## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/Modules\/Native\/\r\ncd \/mnt\/server\/Modules\/Native\/\r\n[ -f \"tdm_config.txt\" ] || curl -sSL -o \"tdm_config.txt\" \"https:\/\/pteropaste.com\/z67k16z608ty\"\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "App ID",
"name": "Windows",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "App id",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "1863440",
@@ -48,6 +58,46 @@
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "[SYSTEM] WINEDEBUG",
"description": "don't change this !!!",
"env_variable": "WINEDEBUG",
"default_value": "-all",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "[SYSTEM] WINEARCH",
"description": "",
"env_variable": "WINEARCH",
"default_value": "win64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "WINEPATH",
"description": "",
"env_variable": "WINEPATH",
"default_value": "\/home\/container",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "WINETRICKS_RUN",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "vcrun2019 dotnet472",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|",
"field_type": "text"
},
{
"name": "Auth token",
"description": "See: https:\/\/www.youtube.com\/watch?v=9Hvuz12Bfzg",
@@ -57,16 +107,6 @@
"user_editable": true,
"rules": "required|string|",
"field_type": "text"
},
{
"name": "Modules",
"description": "The modules that the server will be running. Ensure that it's in the format of *module1*module2*module3* etc.",
"env_variable": "MODULES",
"default_value": "*Native*Multiplayer*DedicatedCustomServerHelper*",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
}
]
}
@@ -1,25 +0,0 @@
# Myth of Empires
## [Steam](https://store.steampowered.com/app/1371580/Myth_of_Empires/)
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | *AMD64 only* | *-* |
| RAM | *9 GiB* | *12 GiB* |
| Storage | *10 GiB* | *15 GiB* |
| Network | *-* | *-* |
| Game Ownership | *Not needed* | *-* |
## Server Ports
Ports required to run the server
| Port | default |
|---------|---------|
| Game | 11888 |
| Query | 12888 |
| RCON | 13888 |
@@ -1,182 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-27T16:19:43+01:00",
"name": "Myth of Empires",
"author": "josdekurk@gmail.com",
"description": "Myth of Empires is a multiplayer war sandbox game featuring a high degree of freedom. Players must survive, craft, create, and lead troops in their quest to conquer territory and build their own empire.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
},
"file_denylist": [],
"startup": "export PROTON_USE_WINED3D=1; export PROTON_NO_ESYNC=1; proton run MOE\/Binaries\/Win64\/MOEServer.exe {{MAP_NAME}} -game -server -DataLocalFile -NotCheckServerSteamAuth -LOCALLOGTIMES -PrivateServer -MultiHome=0.0.0.0 -OutAddress={{SERVER_IP}} -SessionName=\"{{SERVER_NAME}}\" -GameServerPVPType={{PVP}} -MaxPlayers={{MAX_PLAYERS}} -MapDifficultyRate=1 -UseACE -EnableVACBan=1 -ServerId={{SERVER_ID}} -ClusterId={{CLUSTER_ID}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -bStartShutDownServiceInPrivateServer={{SHUTDOWN_SERVICE}} -ShutDownServiceIP=127.0.0.1 -ShutDownServicePort={{RCON_PORT}} -ShutDownServiceKey=\"{{RCON_PASSWORD}}\" -ServerAdminAccounts=\"{{ADMIN_IDS}}\" {{EXTRA_FLAGS}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"LogInit: Display: Starting Game.\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "App ID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "1794810",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1794810",
"field_type": "text"
},
{
"name": "Install Windows version",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|in:1",
"field_type": "text"
},
{
"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": "Map Name",
"description": "",
"env_variable": "MAP_NAME",
"default_value": "LargeTerrain_Central_Main",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:LargeTerrain_Central_Main,LargeTerrain_Central2_Main",
"field_type": "text"
},
{
"name": "Server Name",
"description": "The name of the server",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl hosted server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:80",
"field_type": "text"
},
{
"name": "Enable PVP",
"description": "Enable or disable PVP",
"env_variable": "PVP",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Max Players",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "25",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,150",
"field_type": "text"
},
{
"name": "Query Port",
"description": "",
"env_variable": "QUERY_PORT",
"default_value": "12888",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Shutdown Service",
"description": "",
"env_variable": "SHUTDOWN_SERVICE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "RCON Port",
"description": "",
"env_variable": "RCON_PORT",
"default_value": "13888",
"user_viewable": true,
"user_editable": false,
"rules": "required|int",
"field_type": "text"
},
{
"name": "RCON Password",
"description": "",
"env_variable": "RCON_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|alpha_dash|min:5|max:32",
"field_type": "text"
},
{
"name": "Admin ID's",
"description": "Steam admin ID list",
"env_variable": "ADMIN_IDS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Extra Flags",
"description": "Extra flags.All starting with a -\r\nexample: -ServerLevelAddMul=1.01",
"env_variable": "EXTRA_FLAGS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|",
"field_type": "text"
},
{
"name": "Cluster ID",
"description": "",
"env_variable": "CLUSTER_ID",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Server ID",
"description": "",
"env_variable": "SERVER_ID",
"default_value": "100",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
}
]
}
@@ -1,16 +0,0 @@
# No Love Lost
Grab your ragtag crew & take up the Nectar Raiding trade on a dangerous planet thats become all the rage!
In this PvPvE extraction game for 1-10 players, compete against enemy crews to harvest as much Nectar as possible before night falls.
But watch out, you're not the only one roaming this planet!
## Server Port
| Port | default |
|---------|---------|
| Game | 7777 |
| Query | 27015 |
## Hardware Requirements
| Storage | RAM |
|---------|---------|
| 6.0GB | 6.0GB |
@@ -1,84 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-15T11:03:18+01:00",
"name": "No Love Lost",
"author": "imkringle@proton.me",
"description": "Grab your ragtag crew & take up the Nectar Raiding trade on a dangerous planet that\u2019s become all the rage! In this PvPvE extraction game for 1-10 players, compete against enemy crews to harvest as much Nectar as possible before night falls. But watch out, you're not the only one roaming this planet!",
"features": [
"steam_disk_space"
],
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
},
"file_denylist": [],
"startup": "rm \/home\/container\/NoLoveLost\/Saved\/Logs\/NoLoveLost.log; proton run .\/NoLoveLost\/Binaries\/Win64\/NoLoveLostServer-Win64-Shipping.exe -port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -servername=\"{{SERVER_NAME}}\" -log & NLL_PID=$!; tail -c0 -F \/home\/container\/NoLoveLost\/Saved\/Logs\/NoLoveLost.log --pid=$NLL_PID",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"seconds to LoadMap\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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# 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 ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## install the steam sdk using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server\/NoLoveLost\/Binaries\/Win64\/ +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 ${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## 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#Setup AppID TXT\r\ncd \/mnt\/server\r\necho \"1873120\" > steam_appid.txt\r\n\r\n## End\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Auto Update",
"description": "Updates server on startup",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "[Advanced] Windows Install",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string|in:1",
"field_type": "text"
},
{
"name": "Steam AppID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "2833050",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Query Port",
"description": "",
"env_variable": "QUERY_PORT",
"default_value": "27016",
"user_viewable": true,
"user_editable": true,
"rules": "required",
"field_type": "text"
},
{
"name": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
}
]
}
@@ -1,40 +0,0 @@
# Nova-Life: Amboise
<!--Please remove these comments and irelevent parts for the server egg your adding before summiting a PR request-->
Nova-Life: Amboise is a multiplayer role-play simulation video game. Create your character and start your second life!
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | *AMD64 only and 250% cpu* | *350% cpu* |
| RAM | *8GiB* | *9GiB* |
| Storage | *6GiB* | *8GiB* |
| Network | *Any* | */* |
| Game Ownership | *Not needed* | *Needed if you want to upload your own savegame* |
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 7777 |
### Notes
<!--Notes about the server ports.-->
7777 is the default port, but any port can be used.
The egg created a default server on install based on the `Server Name` variable at `/home/container/Servers/<server_name>` and sets the port and max players in the config file.
Because the directory can change their is no way if you upload your own `life.db` and `/home/container/Servers/<server_name>/Config/server.json` that we can parse the port so then you will have to manualy set the game port to the allocated port or you change the server name, hit reinstall and then replace the `life.db` file from the one the client generated.
### Variable parsing
As mentioned above all variable the client can see and change will only apply on reinstall.
### Errors
Because this game and server are still in development many errors will show in the console, those can safely be ignored.
@@ -1,84 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-09T10:08:19+01:00",
"name": "Nova-Life: Amboise",
"author": "josdekurk@gmail.com",
"description": "Nova-Life: Amboise is a multiplayer role-play simulation video game. Create your character and start your second life!",
"features": [
"steam_disk_space"
],
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
},
"file_denylist": [],
"startup": ".\/nova-life.x86_64 -batchmode -nographics -startServer \"{{SERVER_NAME}}\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Server launched in \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## 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\nmkdir -p \/mnt\/server\/Servers\/${SERVER_NAME}\/Config\r\n\r\ncd \/mnt\/server\/Servers\/${SERVER_NAME}\/Config\r\n\r\necho -n \"{\\\"serverName\\\":\\\"${SERVER_NAME}\\\",\\\"serverListName\\\":\\\"${SERVER_LIST_NAME}\\\",\\\"serverSlot\\\":${SERVER_SLOTS},\\\"serverPort\\\":${SERVER_PORT},\\\"isPublicServer\\\":false,\\\"useAdminPinAuth\\\":false,\\\"tabletUrl\\\":\\\"\\\",\\\"isWhitelisted\\\":false,\\\"useWhitelistProtection\\\":false,\\\"whitelist\\\":{\\\"intro\\\":\\\"\\\",\\\"questions\\\":[],\\\"date\\\":\\\"\\\"},\\\"autoSaveIntervalSeconds\\\":1800,\\\"disconnectClientsBeforeStop\\\":true,\\\"mapId\\\":0,\\\"serverFramerate\\\":60,\\\"hasShop\\\":false}\" | jq . > server.json\r\n\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "App ID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "1665030",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1665030",
"field_type": "text"
},
{
"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": "Server Name",
"description": "The name of the server.\r\nMust match the one made in game and uploaded or a reinstallation is needed to auto make a new one.",
"env_variable": "SERVER_NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|alpha_dash|max:64",
"field_type": "text"
},
{
"name": "Max Players",
"description": "The maximum amount of players that can join",
"env_variable": "SERVER_SLOTS",
"default_value": "25",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,50",
"field_type": "text"
},
{
"name": "Server List Name",
"description": "The name of the server in the Server List",
"env_variable": "SERVER_LIST_NAME",
"default_value": "A Pterodactyl server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
}
]
}
@@ -12,7 +12,3 @@ Open Fortress servers require 1 port to be open, the SourceTV port can also be o
|-----------|---------|
| Game/rcon | 27015 |
| SourceTV | 27020 |
## Beans
Because they now use Beans to download the needed files you need increase the tempfs_size in the wings config.yml to at least a value above 6000 else the install will fail.
File diff suppressed because one or more lines are too long
+1 -16
View File
@@ -105,9 +105,6 @@ The RCON port does not need to be allocated.
1. Update your egg
2. Update the startup of all already made servers to the one that now comes with the egg
3. Then hit reinstall because the parser application has to be downloaded
4. Because the Palworld devs forgot with the v0.1.5.0 to add the new `bShowPlayerList` key to the config you will need to add it yourself. This maybe fixt in the future. Its default value is False
Example of the end of the config: `bUseAuth=True,bShowPlayerList=False,BanListURL="https://api.palworldgame.com/api/banlist.txt")`
### Variable Parsing
@@ -118,16 +115,4 @@ Those who need more variables will have to add them themselves.
See a list of what key matches with what variable [Here](https://github.com/QuintenQVD0/Palword-server-config-parser?tab=readme-ov-file#key-with-variables)
**Variables that do not exist will automatically be skipped parsing so you do not have to worry about it emptying your config file**
### Proton
There is a special egg that uses proton instad of the native linux version what shipes with `winmm.dll` and `RE-UE4SS` so for they who want to run mods then that is possible.
Keep in mind this eggs console output is broken (thanks proton / wine) so you will only see the parser output. The RCON console does still work.
### Config
The config is found at the following path: `Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` or if you are running the proton egg `Pal/Saved/Config/WindowsServer/PalWorldSettings.ini`
**Variables that do not exist will automatically be skipped parsing so you do not have to worry about it emptying your config file**
@@ -1,154 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-04T09:33:27+02:00",
"name": "Palworld Proton",
"author": "josdekurk@gmail.com",
"description": "Fight, farm, build and work alongside mysterious creatures called \"Pals\" in this completely new multiplayer, open world survival and crafting game!",
"features": [
"steam_disk_space"
],
"docker_images": {
"Proton": "ghcr.io\/parkervcp\/steamcmd:proton"
},
"file_denylist": [],
"startup": ".\/PalworldServerConfigParser; (while read cmd; do rcon -s -a \"localhost:$RCON_PORT\" -p \"$ADMIN_PASSWORD\" \"$cmd\";done) < \/dev\/stdin & proton run \/home\/container\/Pal\/Binaries\/Win64\/PalServer-Win64-Shipping.exe -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -port={{SERVER_PORT}} -publicport={{SERVER_PORT}} -servername=\"{{SERVER_NAME}}\" -players={{MAX_PLAYERS}} $(if [ -n \"$SERVER_PASSWORD\" ]; then echo \"-serverpassword=\\\"${SERVER_PASSWORD}\\\"\"; fi) -adminpassword=\"{{ADMIN_PASSWORD}}\" -rcon",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"up and running.\"\r\n}",
"logs": "{}",
"stop": "shutdown 5"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## 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## add below your custom commands if needed\r\n## copy template config file\r\necho \"Copy template config file into config folder!\"\r\n\r\nif [ -f \"\/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini\" ]; then\r\n echo \"Config file already exitis, backing up and overwriting with a new one\"\r\n mv \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings_$(date +\"%Y%m%d%H%M%S\").ini\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini\r\nelse \r\n echo \"Creating new config file\"\r\n mkdir -p \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini\r\nfi\r\n\r\ncd \/mnt\/server\r\n# Download self made replace tool\r\necho \"Downloading config parser aplication\"\r\ncurl -sSL -o PalworldServerConfigParser https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/palworld\/PalworldServerConfigParser-linux-amd64\r\nchmod +x PalworldServerConfigParser\r\n\r\ncd \/tmp\r\ncurl -sSL -o \/mnt\/server\/Pal\/Binaries\/Win64\/winmm.dll https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/palworld\/winmm.dll\r\n\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/UE4SS-RE\/RE-UE4SS\/releases\/latest\")\r\nMATCH=\"UE4SS_\"\r\nDOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\necho ${DOWNLOAD_URL}\r\ncurl -sSL -o ue4ss.zip ${DOWNLOAD_URL}\r\nunzip -o ue4ss.zip -d \/mnt\/server\/Pal\/Binaries\/Win64\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "App ID",
"description": "Do not edit!",
"env_variable": "SRCDS_APPID",
"default_value": "2394010",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:2394010",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "Auto update the server on start.",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Max Players",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "32",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,32",
"field_type": "text"
},
{
"name": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl hosted Palworld Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Server Password",
"description": "If specified, players must provide this password to join the server.",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_dash|between:1,30",
"field_type": "text"
},
{
"name": "Admin Password",
"description": "If specified, players must provide this password (via the in-game chat or RCON) to gain access to administrator commands on the server.",
"env_variable": "ADMIN_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|alpha_dash|between:1,30",
"field_type": "text"
},
{
"name": "Public IP",
"description": "Set this to the server public ip address.\r\nOnly needed if the allocation is a local ip, else the allocate ip will be used automatically",
"env_variable": "PUBLIC_IP",
"default_value": "",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "RCON Port",
"description": "Does not need to be allocated!",
"env_variable": "RCON_PORT",
"default_value": "25575",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Enable RCON",
"description": "Must Be ON",
"env_variable": "RCON_ENABLE",
"default_value": "True",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:True",
"field_type": "text"
},
{
"name": "bEnableInvaderEnemy",
"description": "Turns off or on bEnableInvaderEnemy,\r\nCan be used to slow download memory leaks.\r\nOff should slow down the memory leaks.",
"env_variable": "ENABLE_ENEMY",
"default_value": "True",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:True,False",
"field_type": "text"
},
{
"name": "Server Description",
"description": "The description of the server.",
"env_variable": "SERVER_DESCRIPTION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "WINDOWS_INSTALL",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|in:1",
"field_type": "text"
}
]
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-04T09:32:39+02:00",
"exported_at": "2024-01-30T17:49:20+01:00",
"name": "Palworld",
"author": "admin@ballaual.de",
"description": "Fight, farm, build and work alongside mysterious creatures called \"Pals\" in this completely new multiplayer, open world survival and crafting game!",
@@ -17,7 +17,7 @@
"file_denylist": [
"PalServer.sh"
],
"startup": ".\/PalworldServerConfigParser; (while read cmd; do rcon -s -a \"localhost:$RCON_PORT\" -p \"$ADMIN_PASSWORD\" \"$cmd\";done) < \/dev\/stdin & \/home\/container\/Pal\/Binaries\/Linux\/PalServer-Linux-Shipping Pal -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -port={{SERVER_PORT}} -publicport={{SERVER_PORT}} -servername=\"{{SERVER_NAME}}\" -players={{MAX_PLAYERS}} $(if [ -n \"$SERVER_PASSWORD\" ]; then echo \"-serverpassword=\\\"${SERVER_PASSWORD}\\\"\"; fi) -adminpassword=\"{{ADMIN_PASSWORD}}\" -rcon",
"startup": ".\/PalworldServerConfigParser; (while read cmd; do rcon -s -a \"localhost:$RCON_PORT\" -p \"$ADMIN_PASSWORD\" \"$cmd\";done) < \/dev\/stdin & \/home\/container\/Pal\/Binaries\/Linux\/PalServer-Linux-Test Pal EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip={{PUBLIC_IP}} -port={{SERVER_PORT}} -publicport={{SERVER_PORT}} -servername=\"{{SERVER_NAME}}\" -players={{MAX_PLAYERS}} $(if [ -n \"$SERVER_PASSWORD\" ]; then echo \"-serverpassword=\\\"${SERVER_PASSWORD}\\\"\"; fi) -adminpassword=\"{{ADMIN_PASSWORD}}\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 2394010\"\r\n}",
@@ -26,7 +26,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## 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## add below your custom commands if needed\r\n\r\n## copy template config file\r\necho \"Copy template config file into config folder!\"\r\nif [ -f \"\/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\" ]; then\r\n echo \"Config file already exitis, backing up and overwriting with a new one\"\r\n mv \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings_$(date +\"%Y%m%d%H%M%S\").ini\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nelse\r\n echo \"Creating new config file\"\r\n mkdir -p \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nfi\r\n\r\ncd \/mnt\/server\r\n# Download self made replace tool\r\necho \"Downloading config parser application\"\r\ncurl -sSL -o PalworldServerConfigParser https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/palworld\/PalworldServerConfigParser-linux-amd64\r\nchmod +x PalworldServerConfigParser\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## 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## add below your custom commands if needed\r\n## copy template config file\r\necho \"Copy template config file into config folder!\"\r\n\r\nif [ -f \"\/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\" ]; then\r\n echo \"Config file already exitis, backing up and overwriting with a new one\"\r\n mv \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings_$(date +\"%Y%m%d%H%M%S\").ini\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nelse \r\n echo \"Creating new config file\"\r\n mkdir -p \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nfi\r\n\r\ncd \/mnt\/server\r\n# Download self made replace tool\r\necho \"Downloading config parser aplication\"\r\ncurl -sSL -o PalworldServerConfigParser https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/palworld\/PalworldServerConfigParser-linux-amd64\r\nchmod +x PalworldServerConfigParser\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
@@ -62,26 +62,6 @@
"rules": "required|numeric|between:1,32",
"field_type": "text"
},
{
"name": "Admin Password",
"description": "If specified, players must provide this password (via the in-game chat or RCON) to gain access to administrator commands on the server.",
"env_variable": "ADMIN_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|alpha_dash|between:1,30",
"field_type": "text"
},
{
"name": "Public IP",
"description": "Set this to the server public ip address.\r\nOnly needed if the allocation is a local ip, else the allocate ip will be used automatically",
"env_variable": "PUBLIC_IP",
"default_value": "",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Server Name",
"description": "",
@@ -102,6 +82,26 @@
"rules": "nullable|alpha_dash|between:1,30",
"field_type": "text"
},
{
"name": "Admin Password",
"description": "If specified, players must provide this password (via the in-game chat or RCON) to gain access to administrator commands on the server.",
"env_variable": "ADMIN_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|alpha_dash|between:1,30",
"field_type": "text"
},
{
"name": "Public IP",
"description": "Set this to the servers public ip address.",
"env_variable": "PUBLIC_IP",
"default_value": "",
"user_viewable": true,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "RCON Port",
"description": "Does not need to be allocated!",
Binary file not shown.
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-01T09:52:45+00:00",
"exported_at": "2023-11-11T08:33:24-05:00",
"name": "Resonite",
"author": "espeon@espeon.dev",
"description": "Enter a novel digital universe with infinite possibilities. Whether you resonate with people around the world in a casual conversation, playing games and socializing or you riff off each other when creating anything from art to programming complex games, you'll find your place here.",
@@ -13,7 +13,7 @@
"Mono": "ghcr.io\/parkervcp\/yolks:mono_latest"
},
"file_denylist": [],
"startup": "mono Headless\/Resonite.exe -HeadlessConfig Headless\/Config\/Config.json -Logs Headless\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly \"Libraries\/ResoniteModLoader.dll\"\"; fi)",
"startup": "mono Headless\/Resonite.exe -c .\/Config\/Config.json -l .\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly \".\/Libraries\/ResoniteModLoader.dll\"\"; fi)",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"World running...\"\r\n}",
@@ -109,4 +109,4 @@
"field_type": "text"
}
]
}
}
@@ -0,0 +1,38 @@
# SCP: Escape Together
In the midst of a site-wide containment breach, you must team up with other Class-D personnel to escape the underground, isolated facility while evading the dangerous anomalies that have breached containment.
## [Documentation](https://hosting.scpetgame.com/GettingStarted)
## Install notes
<!--Make a note if the user needs to get any keys or other items to run/use the server-->
The Configuration parser sometimes randomly fails, so then you will manually have to set the port, IP and all other variables in the serverconfig.json file.
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | *Any recent processor will work* | */* |
| RAM | *4 GiB* | *6 GiB* |
| Storage | *2 GiB* | *4 GiB* |
| Network | *Any reasonable speed* | */* |
| Game Ownership | *Not required* | */* |
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 27015 |
### Notes
<!--Notes about the server ports.-->
27015 is the default port, but any port can be used.
## Console wrapper
This server use a C# console wrapper. Their official build uses dotnet 5 what is EOL, so I rebuild it with dotnet 7 (literally ran the workflow with dotnet 7 instead of 5).
The build is external so that is wy I have put it here as it now is "Unchangeable without a PR".
Without this, the console and config do not properly work.
@@ -0,0 +1,122 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-01-06T10:20:22+01:00",
"name": "SCP: Escape Together",
"author": "ced777ric@scpetgame.com",
"description": "SCP: Escape Together Steam Server",
"features": null,
"docker_images": {
"Steam_Dotnet": "ghcr.io\/parkervcp\/steamcmd:dotnet"
},
"file_denylist": [],
"startup": ".\/SCPET-Server",
"config": {
"files": "{\r\n \"settings\/serverconfig.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"serverName\": \"{{env.SERVER_NAME}}\",\r\n \"mapPath\": \"{{env.MAP_PATH}}\",\r\n \"randomMap\": \"{{env.RNG_MAP}}\",\r\n \"publicServer\": \"{{env.PUBLIC_SERVER}}\",\r\n \"ServerInfoPastebinId\": \"{{env.SRVLIST_INFO}}\",\r\n \"ServerListAuthenticationKey\": \"{{env.SRVLIST_KEY}}\",\r\n \"maxPlayers\": \"{{env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server is ready and waiting for players!\"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\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} +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) 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\r\n## Download and unpack the console\r\ncd \/mnt\/server\r\ncurl -sSL -o console.zip \"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/scp_escape_together\/SCP-ET-Server-linux-x64-7.0.zip\"\r\nunzip console.zip\r\nrm console.zip\r\nchmod +x SCPET-Server\r\n\r\n## Generate config ele the file parsel will fail\r\nmkdir -p \/mnt\/server\/settings\r\ncurl -sSL -o \/mnt\/server\/settings\/serverconfig.json \"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/scp_escape_together\/serverconfig.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": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "Unknown Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:255",
"field_type": "text"
},
{
"name": "Map Path",
"description": "",
"env_variable": "MAP_PATH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "Random Map",
"description": "",
"env_variable": "RNG_MAP",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Public Server",
"description": "",
"env_variable": "PUBLIC_SERVER",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Pastebin Info",
"description": "Server List Pastebin info code",
"env_variable": "SRVLIST_INFO",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:255",
"field_type": "text"
},
{
"name": "Max Players",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "16",
"user_viewable": true,
"user_editable": true,
"rules": "required|int",
"field_type": "text"
},
{
"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": "",
"env_variable": "SRCDS_APPID",
"default_value": "1433270",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1433270",
"field_type": "text"
},
{
"name": "Server List Key",
"description": "Key from https:\/\/hosting.scpetgame.com\/Dashboard\/View",
"env_variable": "SRVLIST_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:256",
"field_type": "text"
}
]
}
@@ -0,0 +1,66 @@
{
"ConfigVersion": 28,
"ServerName": "Unknown server",
"ServerIp": "auto",
"Port": 27015,
"ServerInfoPastebinId": "",
"MaxPlayers": 16,
"RandomMap": true,
"MapPath": "",
"RespectGameBans": true,
"PublicServer": false,
"LobbyStartType": 0,
"MinPlayers": 2,
"RoundStartTimerTime": 60,
"RoundEndTime": 10,
"StartVotingPercentage": 75,
"DoorsOpenChance": 10,
"DeathChatMessage": true,
"DeathSoundEffect": true,
"OfflineMode": false,
"RespawnItems": false,
"Scp008Settings": {
"MinDamage": 7,
"MaxDamage": 20
},
"Scp106Settings": {
"MinSpawnTimer": 240,
"MaxSpawnTimer": 480,
"FollowTimer": 60,
"PocketDimension": {
"DamageInterval": 1.0,
"DamagePerInterval": 0.1
}
},
"Scp294Settings": {
"DisabledDrinkFlags": [],
"DisabledDrinks": []
},
"Scp939Settings": {
"BaseDamagePerBite": 20.0,
"RandomDamage": 20.0
},
"BodyInfoSettings": {
"Enabled": true,
"DisplayName": true,
"DisplayCauseOfDeath": true
},
"AutoRestartSettings": {
"Enabled": false,
"RestartTime": 1800,
"RestartAnnounceInterval": 200,
"RestartAnnounceFormat": "The round will restart in %SECONDS% seconds."
},
"NoHolidays": false,
"ReportingEnabled": false,
"ReportWebhookUrl": "",
"ReportWebhookAvatarUrl": "https://scpetgame.com/files/scpetlogo.jpg",
"ReportWebhookNickname": "Server report",
"ReportWebhookMessageContent": "",
"ReportWebhookEmbedDescription": "Player has been reported",
"EnableIdleMode": false,
"IdleTickrate": 1,
"Tickrate": 60,
"ServerTags": [],
"EnableDebugLogs": false
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-24T15:18:00+01:00",
"exported_at": "2023-10-18T18:00:26+02:00",
"name": "Sons Of The Forest",
"author": "eggs@goover.dev",
"description": "Sons of the Forest is a horror survival game and sequel to The Forest by Endnight Games, Ltd.. Sent to find a missing billionaire on a remote island, you find yourself in a cannibal-infested hellscape. Craft, build, and struggle to survive, alone or with friends.",
@@ -15,9 +15,9 @@
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
},
"file_denylist": [],
"startup": "wine .\/SonsOfTheForestDS.exe -userdatapath \"\/home\/container\/serverconfig\" -dedicatedserver.IpAddress \"0.0.0.0\" -dedicatedserver.GamePort \"{{SERVER_PORT}}\" -dedicatedserver.QueryPort \"{{QUERY_PORT}}\" -dedicatedserver.BlobSyncPort \"{{BLOBSYNC_PORT}}\" -dedicatedserver.MaxPlayers \"{{MAX_PLAYERS}}\" -dedicatedserver.Password \"{{SRV_PW}}\" -dedicatedserver.GameMode \"{{GAME_MODE}}\" -dedicatedserver.SkipNetworkAccessibilityTest \"{{SKIP_TESTS}}\" -dedicatedserver.SaveSlot \"{{SAVE_SLOT}}\" -dedicatedserver.LogFilesEnabled \"true\" -dedicatedserver.TimestampLogFilenames \"true\"",
"startup": "wine .\/SonsOfTheForestDS.exe -userdatapath \"\/home\/container\/serverconfig\" -dedicatedserver.IpAddress \"0.0.0.0\" -dedicatedserver.GamePort \"{{SERVER_PORT}}\" -dedicatedserver.QueryPort \"{{QUERY_PORT}}\" -dedicatedserver.BlobSyncPort \"{{BLOBSYNC_PORT}}\" -dedicatedserver.MaxPlayers \"{{MAX_PLAYERS}}\" -dedicatedserver.Password \"{{SRV_PW}}\" -dedicatedserver.GameMode \"{{GAME_MODE}}\" -dedicatedserver.SkipNetworkAccessibilityTest \"{{SKIP_TESTS}}\" -dedicatedserver.LogFilesEnabled \"true\" -dedicatedserver.TimestampLogFilenames \"true\"",
"config": {
"files": "{\r\n \"serverconfig\/dedicatedserver.cfg\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"ServerName\": \"{{server.build.env.SRV_NAME}}\",\r\n \"SaveSlot\": \"{{server.build.env.SAVE_SLOT}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \"serverconfig\/dedicatedserver.cfg\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"ServerName\": \"{{server.build.env.SRV_NAME}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"#DSL Dedicated server loaded.\"\r\n}",
"logs": "{}",
"stop": "^^C"
@@ -157,7 +157,7 @@
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1",
"rules": "required|string|max:20",
"field_type": "text"
},
{
@@ -169,16 +169,6 @@
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Save Slot",
"description": "If you uploaded an existing save from your PC you can enter the save slot number here.",
"env_variable": "SAVE_SLOT",
"default_value": "0000000001",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:30",
"field_type": "text"
}
]
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-03T18:32:09+02:00",
"exported_at": "2023-07-22T12:57:51+02:00",
"name": "Space Engineers",
"author": "eggs@goover.dev",
"description": "Space Engineers is a voxel-based sandbox game set in space and on planets.",
@@ -15,7 +15,7 @@
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
},
"file_denylist": [],
"startup": "export WINEDLLOVERRIDES=\"mscoree=n,b;mshtml=n,b\"; wine \/home\/container\/DedicatedServer64\/SpaceEngineersDedicated.exe -path Z:\\\\home\\\\container\\\\config -console -ignorelastsession",
"startup": "export WINEDLLOVERRIDES=\"mscoree=n,b;mshtml=n,b\"; wine \/home\/container\/DedicatedServer64\/SpaceEngineersDedicated.exe -path Z:\\\\home\\\\container\\\\config -noconsole -ignorelastsession",
"config": {
"files": "{\r\n \"config\/SpaceEngineers-Dedicated.cfg\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"MyConfigDedicated.SessionSettings.GameMode\": \"{{server.build.env.SERVER_MODE}}\",\r\n \"MyConfigDedicated.SessionSettings.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"MyConfigDedicated.SessionSettings.AutoSaveInMinutes\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"MyConfigDedicated.SessionSettings.EnableSaving\": \"{{server.build.env.SAVE_ENABLED}}\",\r\n \"MyConfigDedicated.SessionSettings.ExperimentalMode\": \"{{server.build.env.EXPERIMENTAL_ENABLED}}\",\r\n \"MyConfigDedicated.SessionSettings.EnableIngameScripts\": \"{{server.build.env.INGAMESCRIPTS_ENABLED}}\",\r\n \"MyConfigDedicated.LoadWorld\": \"Z:\\\\home\\\\container\\\\config\\\\Saves\\\\{{server.build.env.WORLD_NAME}}\\\\Sandbox.sbc\",\r\n \"MyConfigDedicated.ServerPort\": \"{{server.build.default.port}}\",\r\n \"MyConfigDedicated.SteamPort\": \"{{server.build.env.STEAM_PORT}}\",\r\n \"MyConfigDedicated.ServerName\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"MyConfigDedicated.WorldName\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"MyConfigDedicated.ServerDescription\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"MyConfigDedicated.RemoteApiEnabled\": \"{{server.build.env.REMOTEAPI_ENABLE}}\",\r\n \"MyConfigDedicated.RemoteApiPort\": \"{{server.build.env.REMOTEAPI_PORT}}\"\r\n }\r\n },\r\n \"config\/Saves\/World\/Sandbox.sbc\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"MyObjectBuilder_Checkpoint.Settings.GameMode\": \"{{server.build.env.SERVER_MODE}}\",\r\n \"MyObjectBuilder_Checkpoint.Settings.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"MyObjectBuilder_Checkpoint.Settings.AutoSaveInMinutes\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"MyObjectBuilder_Checkpoint.Settings.EnableSaving\": \"{{server.build.env.SAVE_ENABLED}}\",\r\n \"MyObjectBuilder_Checkpoint.Settings.ExperimentalMode\": \"{{server.build.env.EXPERIMENTAL_ENABLED}}\",\r\n \"MyObjectBuilder_Checkpoint.Settings.EnableIngameScripts\": \"{{server.build.env.INGAMESCRIPTS_ENABLED}}\"\r\n }\r\n },\r\n \"config\/Saves\/World\/Sandbox_config.sbc\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"MyObjectBuilder_WorldConfiguration.Settings.GameMode\": \"{{server.build.env.SERVER_MODE}}\",\r\n \"MyObjectBuilder_WorldConfiguration.Settings.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"MyObjectBuilder_WorldConfiguration.Settings.AutoSaveInMinutes\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"MyObjectBuilder_WorldConfiguration.Settings.EnableSaving\": \"{{server.build.env.SAVE_ENABLED}}\",\r\n \"MyObjectBuilder_WorldConfiguration.Settings.ExperimentalMode\": \"{{server.build.env.EXPERIMENTAL_ENABLED}}\",\r\n \"MyObjectBuilder_WorldConfiguration.Settings.EnableIngameScripts\": \"{{server.build.env.INGAMESCRIPTS_ENABLED}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Game ready...\"\r\n}",
@@ -37,7 +37,7 @@
"default_value": "298740",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:298740",
"rules": "required|numeric|digits_between:1,6",
"field_type": "text"
},
{
@@ -116,7 +116,7 @@
"env_variable": "STEAM_PORT",
"default_value": "8766",
"user_viewable": true,
"user_editable": false,
"user_editable": true,
"rules": "required|numeric|max:65535",
"field_type": "text"
},
@@ -136,7 +136,7 @@
"env_variable": "REMOTEAPI_PORT",
"default_value": "8081",
"user_viewable": true,
"user_editable": false,
"user_editable": true,
"rules": "required|numeric|max:65535",
"field_type": "text"
},
@@ -194,7 +194,7 @@
"name": "WINETRICKS_RUN",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "win11 vcrun2022 mono corefonts",
"default_value": "vcrun2019 dotnet48 corefonts",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
@@ -37,17 +37,3 @@ Based on the information provided by the developer: [See here](https://www.space
### Disk
This server uses about 7GB of diskspace.
### Updating
Because some logic in this egg changed. Already made servers will manualy have to be updated.
**This has to be done manual for every server!!**
1. Stop the server.
2. Update the already impored egg to the newer version.
3. Change the startup (on the startup tab on the admin side) of the already made server's to: `export WINEDLLOVERRIDES="mscoree=n,b;mshtml=n,b"; wine /home/container/Torch.Server.exe -noupdate -nogui -console`
4. Change on the same tab (bottom left) the docker image to: `ghcr.io/parkervcp/yolks:wine_latest`
5. Change the contence of the variable `WINETRICKS_RUN` to: `vcrun2022 corefonts dotnet48`
6. Remove the `.wine` and `.cache` folder.
7. Start the server again.
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-09T10:48:45+01:00",
"exported_at": "2022-11-26T17:31:15+01:00",
"name": "Space Engineers - Torch Server",
"author": "eggs@goover.dev",
"description": "Torch is the successor to SE Server Extender and gives server admins the tools they need to keep their Space Engineers servers running smoothly. It features a user interface with live management tools and a plugin system so you can run your server exactly how you'd like. Torch is still in early development so there may be bugs and incomplete features.\r\n\r\n!!!!! DO NOT CANCEL THE FIRST START, OR YOU NEED TO DELETE THE SERVER AND CREATE FROM SCRATCH !!!!",
@@ -12,10 +12,10 @@
"steam_disk_space"
],
"docker_images": {
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
"ghcr.io\/parkervcp\/yolks:wine_staging": "ghcr.io\/parkervcp\/yolks:wine_staging"
},
"file_denylist": [],
"startup": "export WINEDLLOVERRIDES=\"mscoree=n,b;mshtml=n,b\"; wine \/home\/container\/Torch.Server.exe -noupdate -nogui -console",
"startup": "winetricks sound=disabled; export WINEARCH=\"win64\"; export WINEDLLOVERRIDES=\"mscoree=n,b;mshtml=n,b\"; wine \/home\/container\/Torch.Server.exe -noupdate -nogui -console",
"config": {
"files": "{\r\n \"Instance\/SpaceEngineers-Dedicated.cfg\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"MyConfigDedicated.SessionSettings.GameMode\": \"{{server.build.env.SERVER_MODE}}\",\r\n \"MyConfigDedicated.SessionSettings.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"MyConfigDedicated.SessionSettings.AutoSaveInMinutes\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"MyConfigDedicated.SessionSettings.EnableSaving\": \"{{server.build.env.SAVE_ENABLED}}\",\r\n \"MyConfigDedicated.LoadWorld\": \"Z:\\\\home\\\\container\\\\Instance\\\\Saves\\\\{{server.build.env.WORLD_NAME}}\",\r\n \"MyConfigDedicated.ServerPort\": \"{{server.build.default.port}}\",\r\n \"MyConfigDedicated.SteamPort\": \"{{server.build.env.STEAM_PORT}}\",\r\n \"MyConfigDedicated.ServerName\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"MyConfigDedicated.WorldName\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"MyConfigDedicated.ServerDescription\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"MyConfigDedicated.RemoteApiEnabled\": \"{{server.build.env.REMOTEAPI_ENABLE}}\",\r\n \"MyConfigDedicated.RemoteApiPort\": \"{{server.build.env.REMOTEAPI_PORT}}\"\r\n }\r\n },\r\n \"config\/Saves\/World\/Sandbox.sbc\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"MyConfigDedicated.SessionSettings.GameMode\": \"{{server.build.env.SERVER_MODE}}\",\r\n \"MyConfigDedicated.SessionSettings.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"MyConfigDedicated.SessionSettings.AutoSaveInMinutes\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"MyConfigDedicated.SessionSettings.EnableSaving\": \"{{server.build.env.SAVE_ENABLED}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Game ready...\"\r\n}",
@@ -37,7 +37,7 @@
"default_value": "298740",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:298740",
"rules": "required|numeric|digits_between:1,6",
"field_type": "text"
},
{
@@ -116,7 +116,7 @@
"env_variable": "STEAM_PORT",
"default_value": "8766",
"user_viewable": true,
"user_editable": false,
"user_editable": true,
"rules": "required|numeric|max:65535",
"field_type": "text"
},
@@ -154,7 +154,7 @@
"name": "WINETRICKS_RUN",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "vcrun2022 corefonts dotnet48",
"default_value": "vcrun2013 vcrun2017 corefonts dotnet48",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
@@ -181,4 +181,4 @@
"field_type": "text"
}
]
}
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-06T13:01:46+02:00",
"exported_at": "2024-01-24T17:14:26+01:00",
"name": "Squad",
"author": "brycea@terrahost.cloud",
"description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base building, and integrated positional VoIP for proximity talking & radio.",
@@ -24,7 +24,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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## Deleted app workshop file if available to not save mods ID`s for the future as that will interviene with the mods specified in the variables tab\r\nrm \/mnt\/server\/container\/steamapps\/workshop\/appworkshop_393380.acf\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 the game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} \\\r\n$( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) \\\r\n+app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) \\\r\n$( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate \\\r\n$(IFS=','; for item in $WORKSHOP_ITEMS; do echo \"+workshop_download_item 393380 ${item}\"; done) \\\r\n+quit\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## Moves downloaded mods to the necesary folder\r\nmv -rf \/mnt\/server\/container\/steamapps\/workshop\/content\/393380 \/mnt\/server\/SquadGame\/Plugins\/Mods\r\necho -e \"Moving downloaded mods if avabile\\n\"\r\n\r\n## add below your custom commands if needed\r\nchmod +x \/mnt\/server\/SquadGame\/Binaries\/Linux\/SquadGameServer\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## 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## add below your custom commands if needed\r\n\r\nchmod +x \/mnt\/server\/SquadGame\/Binaries\/Linux\/SquadGameServer\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
@@ -149,16 +149,6 @@
"user_editable": false,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Download Workshops Items",
"description": "Workshop file ids separated by a comma \",\" (1111111,222222) \r\nReinstall Required to install mods",
"env_variable": "WORKSHOP_ITEMS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
}
@@ -1,17 +0,0 @@
# TerraTech Worlds
Steam Description :
TerraTech Worlds is an open-world, PvE survival game set on an uncharted alien planet. Explore, mine, build, craft and battle your way through natural hazards and dangerous enemies, to harness the power of your environment. Play solo or up to 6 friends via online co-op, and get ready for adventure!
---
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 7777 |
## Known Issues
1) Proxmox VM(s): You'll need to change your Processor Type to `Host` (Default: kvm64)
@@ -1,84 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-23T13:50:53+01:00",
"name": "TerraTech Worlds",
"author": "durzo@durzo.io",
"description": "TerraTech Worlds",
"features": [
"steam_disk_space"
],
"docker_images": {
"Proton": "ghcr.io\/parkervcp\/steamcmd:proton"
},
"file_denylist": [],
"startup": "rm \/home\/container\/TT2\/Saved\/Logs\/TT2.log; proton run .\/TT2\/Binaries\/Win64\/TT2Server-Win64-Shipping.exe -log & TTW_PID=$!; tail -c0 -F \/home\/container\/TT2\/Saved\/Logs\/TT2.log --pid=$TTW_PID",
"config": {
"files": "{\r\n \"dedicated_server_config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Port\": \"{{server.build.default.port}}\",\r\n \"Password\": \"{{server.build.env.SERVER_PASSWORD}}\",\r\n \"SlotCount\": \"{{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Waiting Players...\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## install the steam sdk using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server\/TT2\/Binaries\/Win64\/ +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 ${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\n#Setup AppID TXT\r\ncd \/mnt\/server\r\necho \"2313330\" > steam_appid.txt\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "App ID",
"description": "app id required for server download\/updates. end users should not see this.",
"env_variable": "SRCDS_APPID",
"default_value": "2533070",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer|in:2533070",
"field_type": "text"
},
{
"name": "Server Password",
"description": "required password to enter the server, leave blank for public server",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_dash|max:128",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Specifies the maximum amount of players able to join the server.",
"env_variable": "MAX_PLAYERS",
"default_value": "6",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:1|max:6",
"field_type": "text"
},
{
"name": "[Advanced] Use Windows Branch",
"description": "Tells the installer\/updater to only download the Windows branch of the server (the only branch currently available) so that it can run on Wine. Cannot be changed.",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1",
"field_type": "text"
},
{
"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"
}
]
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-20T08:55:56+01:00",
"exported_at": "2023-01-28T11:38:05+01:00",
"name": "The Forest",
"author": "admin@softwarenoob.com",
"description": "As the lone survivor of a passenger jet crash, you find yourself in a mysterious forest battling to stay alive against a society of cannibalistic mutants. Build, explore, survive in this terrifying first-person survival horror simulator.",
@@ -15,9 +15,9 @@
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
},
"file_denylist": [],
"startup": "winetricks sound=disabled; xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine .\/TheForestDedicatedServer.exe -batchmode -nographics -inittype {{INIT_TYPE}} -nosteamclient -savefolderpath \/home\/container\/TheForestDedicatedServer_Data -configfilepath \/home\/container\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg |grep -v 'RenderTexture.Create failed: format unsupported - 2.'",
"startup": "winetricks sound=disabled; xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine .\/TheForestDedicatedServer.exe -batchmode -nographics -nosteamclient -savefolderpath \/home\/container\/TheForestDedicatedServer_Data -configfilepath \/home\/container\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg |grep -v 'RenderTexture.Create failed: format unsupported - 2.'",
"config": {
"files": "{\r\n \"\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"serverIP\": \"serverIP 0.0.0.0\",\r\n \"serverSteamPort\": \"serverSteamPort {{server.build.env.STEAM_PORT}}\",\r\n \"serverGamePort\": \"serverGamePort {{server.build.default.port}}\",\r\n \"serverQueryPort\": \"serverQueryPort {{server.build.env.QUERY_PORT}}\",\r\n \"serverName\": \"serverName {{server.build.env.SERVER_NAME}}\",\r\n \"serverPlayers\": \"serverPlayers {{server.build.env.MAX_PLAYERS}}\",\r\n \"serverPassword\": \"serverPassword {{server.build.env.SERVER_PASS}}\",\r\n \"serverPasswordAdmin\": \"serverPasswordAdmin {{server.build.env.ADMIN_PASS}}\",\r\n \"serverSteamAccount\": \"serverSteamAccount {{server.build.env.STEAM_ACC}}\",\r\n \"enableVAC\": \"enableVAC {{server.build.env.VAC}}\",\r\n \"initType\": \"initType {{server.build.env.INIT_TYPE}}\",\r\n \"difficulty\": \"difficulty {{server.build.env.SERVER_DIFFICULTY}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \"\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"serverIP\": \"serverIP 0.0.0.0\",\r\n \"serverSteamPort\": \"serverSteamPort {{server.build.env.STEAM_PORT}}\",\r\n \"serverGamePort\": \"serverGamePort {{server.build.default.port}}\",\r\n \"serverQueryPort\": \"serverQueryPort {{server.build.env.QUERY_PORT}}\",\r\n \"serverName\": \"serverName {{server.build.env.SERVER_NAME}}\",\r\n \"serverPlayers\": \"serverPlayers {{server.build.env.MAX_PLAYERS}}\",\r\n \"serverPassword\": \"serverPassword {{server.build.env.SERVER_PASS}}\",\r\n \"serverPasswordAdmin\": \"serverPasswordAdmin {{server.build.env.ADMIN_PASS}}\",\r\n \"serverSteamAccount\": \"serverSteamAccount {{server.build.env.STEAM_ACC}}\",\r\n \"enableVAC\": \"enableVAC {{server.build.env.VAC}}\",\r\n \"difficulty\": \"difficulty {{server.build.env.SERVER_DIFFICULTY}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Game autosave started\"\r\n}",
"logs": "{}",
"stop": "^^C"
@@ -169,16 +169,6 @@
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Init Type",
"description": "Init Type when starting server. \r\nNew to start fresh or Continue to preload the saved game",
"env_variable": "INIT_TYPE",
"default_value": "New",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:New,Continue",
"field_type": "text"
}
]
}
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-20T08:48:44+01:00",
"exported_at": "2023-11-08T07:57:54-06:00",
"name": "Valheim BepINex",
"author": "eggs@goover.dev",
"description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture incl the Plugin Framework BepInEx",
@@ -24,7 +24,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install wget\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +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\necho \"-------------------------------------------------------\"\r\necho \"installing BepInEx and Selected ModPacks...\"\r\necho \"-------------------------------------------------------\"\r\nif ! api_response=$(curl -sfSL -H \"accept: application\/json\" \"https:\/\/thunderstore.io\/api\/experimental\/package\/denikson\/BepInExPack_Valheim\/\"); then\r\n fatal \"Error: could not retrieve BepInEx release info from Thunderstore.io API\"\r\nfi\r\n\r\ndownload_url=$(jq -r \".latest.download_url\" <<< \"$api_response\" )\r\nversion_number=$(jq -r \".latest.version_number\" <<< \"$api_response\" )\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Modpack Name dashes to slashes for URL\r\nV_MODPACK=$(echo \"$V_MODPACK\" | sed 's\/-\/\\\/\/g')\r\n\r\n#Extract dependencies from ModPack JSON data\r\nV_MODPACK_DEPENDENCIES=$(curl -sfSL -H \"accept: application\/json\" \"https:\/\/thunderstore.io\/api\/experimental\/package\/${V_MODPACK}\" | jq -r '.dependencies[]')\r\nfi\r\n\r\ncd \/mnt\/server\r\n#echo $download_url\r\nwget --content-disposition $download_url\r\nunzip -o denikson-BepInExPack_Valheim-${version_number}.zip\r\ncp -r \/mnt\/server\/BepInExPack_Valheim\/* \/mnt\/server\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Delete Old Mods\r\nrm -rf \/mnt\/server\/BepInEx\/plugins\/*\r\n\r\n#Download and extract the modpack dlls files\r\nfor V_MODPACK_DEPENDENCY in $V_MODPACK_DEPENDENCIES; do\r\n #ignore bepinex\r\n if [[ \"$V_MODPACK_DEPENDENCY\" == *\"denikson-BepInExPack_Valheim\"* ]]; then\r\n continue # Skip this dependency\r\n fi\r\n \r\n #replace dashes with slashes for url\r\n V_MODPACK_DEPENDENCY_WITH_SLASH=$(echo \"$V_MODPACK_DEPENDENCY\" | sed 's\/-\/\\\/\/g')\r\n \r\n #download dependencies\r\n wget -O \"$V_MODPACK_DEPENDENCY.zip\" \"https:\/\/thunderstore.io\/package\/download\/$V_MODPACK_DEPENDENCY_WITH_SLASH\"\r\n\r\n #Set the destination directory and ensure it exists\r\n destination_directory=\"\/mnt\/server\/BepInEx\/plugins\"\r\n if [ ! -d \"$destination_directory\" ]; then\r\n mkdir -p \"$destination_directory\"\r\n fi\r\n\r\n #Extract DLL files from the ZIP and delete the zip file\r\n unzip -j \"$V_MODPACK_DEPENDENCY.zip\" \"*.dll\" -d \"$destination_directory\"\r\n \r\n #Cleanup\r\n rm $V_MODPACK_DEPENDENCY.zip\r\ndone\r\nfi\r\n\r\n##cleanup\r\necho \"-------------------------------------------------------\"\r\necho \"cleanup files...\"\r\necho \"-------------------------------------------------------\"\r\nrm -fR BepInExPack_Valheim\r\nrm -fR icon.png\r\nrm -fR denikson-BepInExPack_Valheim-*\r\nrm -fR manifest.json\r\nrm -fR README.m\r\n\r\n#rm -fR start_*\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installation completed\"\r\necho \"-------------------------------------------------------\"",
"script": "#!\/bin\/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install wget\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +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\necho \"-------------------------------------------------------\"\r\necho \"installing BepInEx and Selected ModPacks...\"\r\necho \"-------------------------------------------------------\"\r\nif ! api_response=$(curl -sfSL -H \"accept: application\/json\" \"https:\/\/valheim.thunderstore.io\/api\/experimental\/package\/denikson\/BepInExPack_Valheim\/\"); then\r\n fatal \"Error: could not retrieve BepInEx release info from Thunderstore.io API\"\r\nfi\r\n\r\ndownload_url=$(jq -r \".latest.download_url\" <<< \"$api_response\" )\r\nversion_number=$(jq -r \".latest.version_number\" <<< \"$api_response\" )\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Modpack Name dashes to slashes for URL\r\nV_MODPACK=$(echo \"$V_MODPACK\" | sed 's\/-\/\\\/\/g')\r\n\r\n#Extract dependencies from ModPack JSON data\r\nV_MODPACK_DEPENDENCIES=$(curl -sfSL -H \"accept: application\/json\" \"https:\/\/valheim.thunderstore.io\/api\/experimental\/package\/${V_MODPACK}\" | jq -r '.dependencies[]')\r\nfi\r\n\r\ncd \/mnt\/server\r\n#echo $download_url\r\nwget --content-disposition $download_url\r\nunzip -o denikson-BepInExPack_Valheim-${version_number}.zip\r\ncp -r \/mnt\/server\/BepInExPack_Valheim\/* \/mnt\/server\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Delete Old Mods\r\nrm -rf \/mnt\/server\/BepInEx\/plugins\/*\r\n\r\n#Download and extract the modpack dlls files\r\nfor V_MODPACK_DEPENDENCY in $V_MODPACK_DEPENDENCIES; do\r\n #ignore bepinex\r\n if [[ \"$V_MODPACK_DEPENDENCY\" == *\"denikson-BepInExPack_Valheim\"* ]]; then\r\n continue # Skip this dependency\r\n fi\r\n \r\n #replace dashes with slashes for url\r\n V_MODPACK_DEPENDENCY_WITH_SLASH=$(echo \"$V_MODPACK_DEPENDENCY\" | sed 's\/-\/\\\/\/g')\r\n \r\n #download dependencies\r\n wget -O \"$V_MODPACK_DEPENDENCY.zip\" \"https:\/\/thunderstore.io\/package\/download\/$V_MODPACK_DEPENDENCY_WITH_SLASH\"\r\n\r\n #Set the destination directory and ensure it exists\r\n destination_directory=\"\/mnt\/server\/BepInEx\/plugins\"\r\n if [ ! -d \"$destination_directory\" ]; then\r\n mkdir -p \"$destination_directory\"\r\n fi\r\n\r\n #Extract DLL files from the ZIP and delete the zip file\r\n unzip -j \"$V_MODPACK_DEPENDENCY.zip\" \"*.dll\" -d \"$destination_directory\"\r\n \r\n #Cleanup\r\n rm $V_MODPACK_DEPENDENCY.zip\r\ndone\r\nfi\r\n\r\n##cleanup\r\necho \"-------------------------------------------------------\"\r\necho \"cleanup files...\"\r\necho \"-------------------------------------------------------\"\r\nrm -fR BepInExPack_Valheim\r\nrm -fR icon.png\r\nrm -fR denikson-BepInExPack_Valheim-*\r\nrm -fR manifest.json\r\nrm -fR README.m\r\n\r\n#rm -fR start_*\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installation completed\"\r\necho \"-------------------------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
-15
View File
@@ -1,15 +0,0 @@
[/Script/Engine.GameSession]
MaxPlayers=16
[/Script/Vein.VeinGameSession]
bPublic=True
bAntiCheatProtected=False
ServerName=Vein Server
BindAddr=0.0.0.0
HeartbeatInterval=30.0
AdminSteamIDs=1234
Password=secret
[OnlineSubsystemSteam]
GameServerQueryPort=27015
bVACEnabled=0
-39
View File
@@ -1,39 +0,0 @@
# VEIN
<!--Please remove these comments and irelevent parts for the server egg your adding before summiting a PR request-->
## From their [Steam](https://store.steampowered.com/app/1857950/VEIN/)
## [Documentation](https://ramjet.notion.site/Server-Hosting-85f92f43f32548c1b5b33797ddf456ad)
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
## Installation/System Requirements
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | Almost any proccessor will work (AMD64 only) | -|
| RAM | 3 GiB | 4 GiB |
| Storage | 6 GiB | 8 GiB |
| Network | Any reasonable speed |- |
| Game Ownership | Not needed | * |
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 7777 |
| Query | 27015 |
## Config
Some config values can be changed under the startup tab.
Everything else must manual be changed in `Vein/Saved/Config/LinuxServer/Game.ini`
See [here](https://ramjet.notion.site/Server-Hosting-85f92f43f32548c1b5b33797ddf456ad) what every option means.
## Warning
Do not touch the `Vein/Saved/Config/LinuxServer/Engine.ini` file, it will brake the console!
@@ -1,102 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-03T13:47:56+01:00",
"name": "VEIN",
"author": "josdekurk@gmail.com",
"description": "VEIN is a post-apocalyptic survival multiplayer sandbox game. Gather supplies to survive, explore abandoned buildings, combat bandits, defend your home, assist friendly NPCs, and rebuild society with friends.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
},
"file_denylist": [],
"startup": ".\/Vein\/Binaries\/Linux\/VeinServer-Linux-Test -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -log",
"config": {
"files": "{\r\n \"Vein\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"bShouldAdvertise=\": \"bShouldAdvertise={{server.build.env.PUBLIC_SERVER}}\",\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"BindAddr=\": \"BindAddr=0.0.0.0\",\r\n \"Password=\": \"Password={{server.build.env.SERVER_PASSWORD}}\",\r\n \"GameServerQueryPort=\": \"GameServerQueryPort={{server.build.env.QUERY_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Created session GameSession.\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\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 ## 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## add below your custom commands if needed\r\nFILE=\/mnt\/server\/Vein\/Saved\/Config\/LinuxServer\/Game.ini\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config file exitis, skipping\"\r\nelse \r\n echo \"Config file does not exits, making one\"\r\n mkdir -p \/mnt\/server\/Vein\/Saved\/Config\/LinuxServer\/\r\n ## Will only work if the egg is merged\r\n curl -sSL -o \/mnt\/server\/Vein\/Saved\/Config\/LinuxServer\/Game.ini https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/vein\/Game.ini\r\n curl -sSL -o \/mnt\/server\/Vein\/Saved\/Config\/LinuxServer\/Engine.ini https:\/\/pteropaste.com\/lt75qughcmfj\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "App ID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "2131400",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:2131400",
"field_type": "text"
},
{
"name": "Auto update",
"description": "Auto update the server on start",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Query Port",
"description": "",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Max players",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "16",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Public Server",
"description": "Change this to false if you don\u2019t want your game to be listed in the server browser",
"env_variable": "PUBLIC_SERVER",
"default_value": "True",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:True,False",
"field_type": "text"
},
{
"name": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "Vein Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Server Password",
"description": "",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|alpha_dash|max:32|min:4",
"field_type": "text"
}
]
}
-28
View File
@@ -1,28 +0,0 @@
# Urban Terror
## From their [Website](https://www.urbanterror.info/downloads/)
Urban Terror™ is a free multiplayer first person shooter developed by FrozenSand, that will run on any Quake III Arena compatible engine. It is available for Windows, Linux and Macintosh.
Urban Terror can be described as a Hollywood tactical shooter; somewhat realism based, but the motto is "fun over realism". This results in a very unique, enjoyable and addictive game.
## Installation/System Requirements
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | Almost any proccessor will work | - |
| RAM | 256 MiB | 512 MiB |
| SWAP| 512 MiB | 512 MiB (Swap not needed if RAM is 1024MiB)|
| Storage | 1500 MiB | 2000 MiB |
| Network | Any reasonable speed |- |
| Game Ownership | Not needed | The game is free, and server doesn't need the game to work. |
## Server Ports
| Port | default |
|---------|---------|
| Game | 27960 |
## Game Infos
Gamemodes: 0 = Free For All, 1 = Last Man Standing, 3 = Team DeathMatch, 4 = Team Survivor, 5 = Follow The Leader, 6 = Capture And Hold, 7 = Capture The Flag, 8 = Bomb Mode, 9 = Jump, 10 = Freeze Tag, 11 = Gun Game
You can edit the Server.cfg in /home/container/q3ut4/server.cfg as you wish after creating the server.
-152
View File
@@ -1,152 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-16T13:34:36+01:00",
"name": "Urban Terror",
"author": "Juli199696@web.de",
"description": "Urban Terror started as a realism based \"total conversion\" mod for Quake III Arena. Nowadays, Urban Terror is played using the free, stand-alone, ioquake3 engine modified, which doesn't require Quake III Arena, in addition to being an add-on to id Software's Quake III Arena.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/Quake3-UrT-Ded.{{EXE}} +exec \"server.cfg\" +set fs_game \"q3ut4\" +set fs_basepath \"\/home\/container\" +set fs_homepath \"\/home\/container\" +set dedicated \"2\" +set com_hunkmegs \"{{HUNKMEGS}}\" +set net_port \"{{SERVER_PORT}}\"",
"config": {
"files": "{\r\n \"q3ut4\/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"set sv_hostname\": \"set sv_hostname \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"set sv_joinmessage\": \"set sv_joinmessage \\\"{{server.build.env.JOIN_MESSAGE}}\\\"\",\r\n \"set sv_maxclients\": \"set sv_maxclients \\\"{{server.build.env.SERVER_MAXCLIENTS}}\\\"\",\r\n \"set rconpassword\": \"set rconpassword \\\"{{server.build.env.RCON_PASSWORD}}\\\"\",\r\n \"set g_password\": \"set g_password \\\"{{server.build.env.SERVER_PASSWORD}}\\\"\",\r\n \"set g_friendlyfire\": \"set g_friendlyfire \\\"{{server.build.env.SERVER_FRIENDLYFIRE}}\\\"\",\r\n \"set g_gametype\": \"set g_gametype \\\"{{server.build.env.SERVER_GAMETYPE}}\\\"\",\r\n \"set timelimit\": \"set timelimit \\\"{{server.build.env.SERVER_TIMELIMIT}}\\\"\",\r\n \"set bot_enable\": \"set bot_enable 1\",\r\n \"set bot_minplayers\": \"set bot_minplayers \\\"{{server.build.env.BOT_MINPLAYERS}}\\\"\",\r\n \"map ut4_casa\": \"map \\\"{{server.build.env.SERVER_MAP}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"------- Game Initialization -------\"\r\n}",
"logs": "{}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\napt update\r\napt -y install libxml2-utils sed #Install needed dependencies for the official Urban Terror Updater (Not for the Gameserver itself)\r\n\r\necho \"Downloading Urban Terror\"\r\ncurl -sSL -o UrTUpdater-Ded.sh https:\/\/github.com\/FrozenSand\/UrTUpdater\/releases\/download\/v4.0.3-RC1\/UrTUpdater-v4.0.3-Ded.sh \r\n#Download from Github because the Webpage does not allow \"direct Downloads\"\r\n\r\necho \"Updating Urban Terror\" #Accept the EULA and input the needed variables to download the latest version of the Serverfiles (4.3.4 for now)\r\nbash \/mnt\/server\/UrTUpdater-Ded.sh << EOF\r\ny\r\n1\r\n1\r\n1\r\nn\r\ny\r\nn\r\nEOF\r\n\r\n# Set up default configs\r\nmv \/mnt\/server\/q3ut4\/server_example.cfg \/mnt\/server\/q3ut4\/server.cfg\r\nmv \/mnt\/server\/q3ut4\/mapcycle_example.txt \/mnt\/server\/q3ut4\/mapcycle.txt\r\n\r\nchmod +x \/mnt\/server\/Quake3-UrT-Ded.x86_64\r\nchmod +x \/mnt\/server\/Quake3-UrT-Ded.i386\r\n\r\n# Use sed to insert extra config options as many people ask for Bots ingame\r\nsed -i '\/\\\/\\\/pb_sv_enable\/a\\set bot_enable 1\\nset bot_minplayers 0' \/mnt\/server\/q3ut4\/server.cfg\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Version",
"description": "32bit \/ 64bit server version. it is recommended to use the 64bit server, unless you are experiencing issues.",
"env_variable": "EXE",
"default_value": "x86_64",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:x86_64,i386",
"field_type": "text"
},
{
"name": "Hunkmegs",
"description": "How much memory is allocated during server start up.\r\n\r\nAvailable options: 128, 160, 192, 256 MB",
"env_variable": "HUNKMEGS",
"default_value": "128",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:128,160,192,256",
"field_type": "text"
},
{
"name": "Server Hostname",
"description": "Put your Servername into here.",
"env_variable": "SERVER_NAME",
"default_value": "My Awesome Pterodactyl Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:55",
"field_type": "text"
},
{
"name": "Join Message",
"description": "The message the player will receive when joining the server.",
"env_variable": "JOIN_MESSAGE",
"default_value": "Welcome to this Server, have fun!",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:50",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Maximum players that can connect to the server.",
"env_variable": "SERVER_MAXCLIENTS",
"default_value": "16",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,32",
"field_type": "text"
},
{
"name": "RCON Password",
"description": "Set the Rcon Password for Admin commands.\r\nCan be empty to disable RCON.",
"env_variable": "RCON_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Server Password",
"description": "If you want to set a password to connect on the server set this here.",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Map",
"description": "Choose the initial Map the server should start with. \r\n(ONLY CHANGE IF YOU KNOW THE MAP IS EXISTING) Server wont start without it!",
"env_variable": "SERVER_MAP",
"default_value": "ut4_casa",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:50",
"field_type": "text"
},
{
"name": "Gametype \/ Gamemode",
"description": "Sets the Gamemode you want to play. \r\n1 = Last Man Standing, \r\n2 = Free For All, \r\n3 = Team DeathMatch, \r\n4 = Team Survivor, \r\n5 = Follow The Leader, \r\n6 = Capture And Hold, \r\n7 = Capture The Flag, \r\n8 = Bomb Mode, \r\n9 = Jump, \r\n10 = Freeze Tag, \r\n11 = Gun Game",
"env_variable": "SERVER_GAMETYPE",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|in:1,2,3,4,5,6,7,8,9,10,11",
"field_type": "text"
},
{
"name": "Bots",
"description": "Want to have bots in your game select how many you want. \r\n(More than 16 bots tend to crash the server or add lag, use with caution!)\r\nDisclaimer: \"Bots are not officialy supported by FS!!!\"",
"env_variable": "BOT_MINPLAYERS",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:16",
"field_type": "text"
},
{
"name": "Map Timelimit",
"description": "Time in minutes before map is over. (0 = never)",
"env_variable": "SERVER_TIMELIMIT",
"default_value": "10",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:999",
"field_type": "text"
},
{
"name": "Friendlyfire",
"description": "Sets if friendlyfire is on or off. (Teamkill your teammates is bad hmmkay?)",
"env_variable": "SERVER_FRIENDLYFIRE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|max:1",
"field_type": "text"
}
]
}
+37
View File
@@ -0,0 +1,37 @@
# Yuzu Emulator Dedicated Multiplayer Room
## From their [Github](https://github.com/yuzu-emu/yuzu-mainline)
## Description
This egg can be used to host dedicated multiplayer rooms for the Yuzu emulator.
## Install notes
Running this server requires almost no resources, but the installation involves compiling the binary. This is needed because yuzu unfortunately does not release their server binaries for Linux. Depending on your configuration, the installation part may take 5 minutes or more.
To update, simply run the installer again.
## Minimum RAM warning
8 MiB is enough, but 16 MiB is recommended
## Minumim Sorage warning
1MiB is required, but 50 MiB is recommended to have some spare space for core dumps/logs
Note: the install part requires ~ 5GiB of free space
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 24872 |
### Notes
- 24872 is the default port, but any port can be used.
- Banlist is currently not supported. Upon startup, an error will be shown about the missing banlist, but the server will work regardless.
+102
View File
@@ -0,0 +1,102 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-15T21:41:29+01:00",
"name": "YuzuEmu",
"author": "me@basvandenboom.dev",
"description": "Egg for hosting dedicated Yuzu multiplayer rooms.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/yuzu-room --room-name \"{{ROOM_NAME}}\" --room-description \"{{ROOM_DESCRIPTION}}\" --preferred-game \"{{PREFERRED_GAME}}\" --preferred-game-id {{PREFERRED_GAME_ID}} --port {{SERVER_PORT}} --max_members {{MAX_MEMBERS}} --password \"{{PASSWORD}}\" --token \"{{YUZU_TOKEN}}\" --web-api-url \"https:\/\/api.yuzu-emu.org\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Room is open\"\r\n}",
"logs": "{}",
"stop": "Q"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\napt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential wget git ccache ninja-build libssl-dev pkg-config libarchive-tools \\\r\n cmake\/bullseye-backports cmake-data\/bullseye-backports\r\n\r\n\r\n# Shallow clone yuzu repository, since we delete the local copy afterwards\r\ngit clone --depth 1 -j4 --recursive --shallow-submodules https:\/\/github.com\/yuzu-emu\/yuzu-mainline.git \/mnt\/server\/yuzu-mainline\r\n\r\n# Download build tools and build\r\ngit clone --depth 1 https:\/\/github.com\/yuzu-emu\/yuzu-multiplayer-dedicated.git \/mnt\/server\/build-files\r\ncd \/mnt\/server\/yuzu-mainline && \/mnt\/server\/build-files\/.ci\/build.sh\r\n\r\n# Copy server binary to container root\r\ncp \/mnt\/server\/yuzu-mainline\/build\/bin\/yuzu-room \/mnt\/server\/yuzu-room\r\n\r\n# Delete git repo's to save disk space.\r\nrm -rf \/mnt\/server\/yuzu-mainline && rm -rf \/mnt\/server\/build-files",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Room name",
"description": "",
"env_variable": "ROOM_NAME",
"default_value": "My Yuzu Room",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:60",
"field_type": "text"
},
{
"name": "Room description",
"description": "",
"env_variable": "ROOM_DESCRIPTION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:60",
"field_type": "text"
},
{
"name": "Preferred game",
"description": "",
"env_variable": "PREFERRED_GAME",
"default_value": "Mario Kart 8 Deluxe",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Preferred game ID",
"description": "",
"env_variable": "PREFERRED_GAME_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20|alphanum",
"field_type": "text"
},
{
"name": "Max members",
"description": "",
"env_variable": "MAX_MEMBERS",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|int|max:16|min:1",
"field_type": "text"
},
{
"name": "Room password",
"description": "Room password. Leave empty for no password.",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Yuzu token",
"description": "Yuzu account token (retrieve yours at https:\/\/profile.yuzu-emu.org\/). Necessary when creating a public (listed) room. Leave empty to create a private room.",
"env_variable": "YUZU_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}
+1 -2
View File
@@ -4,13 +4,12 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-24T14:29:09+01:00",
"exported_at": "2023-07-02T19:22:35+02:00",
"name": "Generic C#",
"author": "josdekurk@gmail.com",
"description": "A generic C# (dotnet) egg that runs your C# project.",
"features": null,
"docker_images": {
"Dotnet_8": "ghcr.io\/parkervcp\/yolks:dotnet_8",
"Dotnet_7": "ghcr.io\/parkervcp\/yolks:dotnet_7",
"Dotnet_6": "ghcr.io\/parkervcp\/yolks:dotnet_6",
"Dotnet_5": "ghcr.io\/parkervcp\/yolks:dotnet_5",
+94 -106
View File
@@ -1,106 +1,94 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-01T13:16:45-07:00",
"name": "dart generic",
"author": "alden@knoban.com",
"description": "A generic dart CLI egg.\r\n\r\nThis will clone a dart CLI application. it defaults to master if no branch is specified.\r\n\r\nInstalls the pubspec.yaml packages on run. If you set user_upload then I assume you know what you are doing.",
"features": null,
"docker_images": {
"Dart_stable": "ghcr.io\/knoapp\/yolks:dart_stable",
"Dart_3.3": "ghcr.io\/knoapp\/yolks:dart_3.3",
"Dart_2.19": "ghcr.io\/parkervcp\/yolks:dart_2.19",
"Dart_2.18": "ghcr.io\/parkervcp\/yolks:dart_2.18",
"Dart_2.17": "ghcr.io\/parkervcp\/yolks:dart_2.17"
},
"file_denylist": [],
"startup": "if [[ -d .git ]] && [[ {{AUTO_RESET}} == \"1\" ]]; then git reset --hard; fi; if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; dart pub get; dart run",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Dart CLI Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl file unzip\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git dart cli repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "debian:bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Git Repo Address",
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/kNoAPP\/repo_name",
"env_variable": "GIT_ADDRESS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Install Branch",
"description": "The branch of the bot to install.",
"env_variable": "BRANCH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "User Uploaded Files",
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"env_variable": "USER_UPLOAD",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "Pull the latest files on startup when using a GitHub repo.",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Auto Reset",
"description": "Hard reset the latest files on startup when using a GitHub repo.",
"env_variable": "AUTO_RESET",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Git Username",
"description": "Username to auth with git.",
"env_variable": "USERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Git Access Token",
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
"env_variable": "ACCESS_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-02-24T17:58:34+01:00",
"name": "dart generic",
"author": "alden@knoban.com",
"description": "A generic dart CLI egg.\r\n\r\nThis will clone a dart CLI application. it defaults to master if no branch is specified.\r\n\r\nInstalls the pubspec.yaml packages on run. If you set user_upload then I assume you know what you are doing.",
"features": null,
"docker_images": {
"Dart_2.19": "ghcr.io\/parkervcp\/yolks:dart_2.19",
"Dart_2.18": "ghcr.io\/parkervcp\/yolks:dart_2.18",
"Dart_2.17": "ghcr.io\/parkervcp\/yolks:dart_2.17"
},
"file_denylist": [],
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; dart pub get; dart run",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Dart CLI Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl file unzip\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git dart cli repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "debian:bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Git Repo Address",
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/kNoAPP\/repo_name",
"env_variable": "GIT_ADDRESS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Install Branch",
"description": "The branch of the bot to install.",
"env_variable": "BRANCH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "User Uploaded Files",
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"env_variable": "USER_UPLOAD",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "Pull the latest files on startup when using a GitHub repo.",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Git Username",
"description": "Username to auth with git.",
"env_variable": "USERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Git Access Token",
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
"env_variable": "ACCESS_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}
+2 -3
View File
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-13T17:26:13+0000",
"exported_at": "2022-10-24T19:20:23+02:00",
"name": "Generic Java",
"author": "sneaky@sneakyhub.com",
"description": "Creates a container that runs java.",
@@ -14,8 +14,7 @@
"ghcr.io\/parkervcp\/yolks:java_11": "ghcr.io\/parkervcp\/yolks:java_11",
"ghcr.io\/parkervcp\/yolks:java_16": "ghcr.io\/parkervcp\/yolks:java_16",
"ghcr.io\/parkervcp\/yolks:java_17": "ghcr.io\/parkervcp\/yolks:java_17",
"ghcr.io\/parkervcp\/yolks:java_19": "ghcr.io\/parkervcp\/yolks:java_19",
"ghcr.io\/parkervcp\/yolks:java_21": "ghcr.io\/parkervcp\/yolks:java_21"
"ghcr.io\/parkervcp\/yolks:java_19": "ghcr.io\/parkervcp\/yolks:java_19"
},
"file_denylist": [],
"startup": "java -Dterminal.jline=false -Dterminal.ansi=true -jar {{JARFILE}}",
-18
View File
@@ -1,18 +0,0 @@
# Forgejo
[Forgejo](https://forgejo.org/) is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.
## Supported Versions
You can set the version in Version variable. You can use following values:
latest - latest stable release
version - set the version according to this page: https://forgejo.org/releases/
## Server Ports
Ports required to run the server in a table format.
| Port | default |
| ---- | ------- |
| App | 3000 |
| SSH | 2020 |
-64
View File
@@ -1,64 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-20T08:45:50+01:00",
"name": "Forgejo",
"author": "seaswimmerthefsh@gmail.com",
"description": "Forgejo is a community managed lightweight code hosting solution written in Go. It is published under the MIT license, and is a fork of Gitea.",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [
"forgejo"
],
"startup": ".\/forgejo web -p {{SERVER_PORT}} -c .\/app.ini",
"config": {
"files": "{\r\n \"custom\/app.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"DISABLE_SSH\": \"DISABLE_SSH: {{server.build.env.DISABLE_SSH}}\",\r\n \"SSH_PORT\": \"SSH_PORT: {{server.build.env.SSH_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Listen: \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "## Forgejo Installscript\r\n## Modified version of the Gitea installscript, see https:\/\/github.com\/parkervcp\/eggs\/blob\/master\/software\/gitea\/egg-gitea.json\r\n\r\n## update system\r\napt update\r\napt -y install --no-install-recommends jq curl ca-certificates dnsutils\r\n\r\n## Variables\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\nLATEST=$(dig +short release.forgejo.org TXT | grep -oE '([0-9]+\\.){2}[0-9]+(-[a-zA-Z0-9]+)*')\r\n\r\n\r\ncd \/mnt\/server\r\n\r\n## install forgejo\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Downloading Forgejo $LATEST (latest)\"\r\n URL=https:\/\/codeberg.org\/forgejo\/forgejo\/releases\/download\/v${LATEST}\/forgejo-${LATEST}-linux-${ARCH}\r\nelse\r\n echo -e \"Downloading Forgejo $VERSION\"\r\n URL=https:\/\/codeberg.org\/forgejo\/forgejo\/releases\/download\/v${VERSION}\/forgejo-${VERSION}-linux-${ARCH}\r\nfi\r\n\r\necho -e \"Download URL: $URL\"\r\n\r\ncurl -sSL -o forgejo $URL\r\n\r\nchmod +x forgejo\r\n\r\nmkdir -p custom\r\n\r\nif [ -f \"\/mnt\/server\/custom\/app.ini\" ]; then\r\n echo \"Config file exists\"\r\nelse\r\n echo \"[server]\r\n LOCAL_ROOT_URL = http:\/\/${SERVER_IP}:${SERVER_PORT}\/\r\n DOMAIN = ${SERVER_IP}\r\n HTTP_PORT = ${SERVER_PORT}\r\n ROOT_URL = http:\/\/${SERVER_IP}:${SERVER_PORT}\/\r\n DISABLE_SSH = ${DISABLE_SSH}\r\n SSH_PORT = ${SSH_PORT}\" > \/mnt\/server\/custom\/app.ini\r\nfi\r\n\r\necho -e \"-------------------------------------------------\"\r\necho -e \"Installation completed\"\r\necho -e \"-------------------------------------------------\"",
"container": "ghcr.io\/parkervcp\/yolks:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Disable SSH",
"description": "Disable the SSH feature when it\u2019s not available.",
"env_variable": "DISABLE_SSH",
"default_value": "false",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "SSH Port",
"description": "SSH port displayed in clone URL.",
"env_variable": "SSH_PORT",
"default_value": "2020",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1024,65535",
"field_type": "text"
},
{
"name": "Version",
"description": "Use either `latest` or a specific version, such as `1.21.7-0`.",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:15",
"field_type": "text"
}
]
}
+2 -3
View File
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-13T17:26:13+0000",
"exported_at": "2023-02-06T18:51:07+01:00",
"name": "Reposilite",
"author": "mk@kcra.me",
"description": "Lightweight and easy-to-use repository management software dedicated for Maven based artifacts in the JVM ecosystem.",
@@ -13,8 +13,7 @@
"ghcr.io\/pterodactyl\/yolks:java_8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_17": "ghcr.io\/pterodactyl\/yolks:java_17",
"ghcr.io\/pterodactyl\/yolks:java_21": "ghcr.io\/pterodactyl\/yolks:java_21"
"ghcr.io\/pterodactyl\/yolks:java_17": "ghcr.io\/pterodactyl\/yolks:java_17"
},
"file_denylist": [],
"startup": "java -Xmx{{SERVER_MEMORY}}M -Dreposilite.port={{SERVER_PORT}} -jar reposilite.jar --port {{SERVER_PORT}}",