Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from parkervcp:master #600

Merged
merged 17 commits into from
Apr 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT

Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>
Copyright (c) 2018 Michael Parker <parker@parkervcp.com> and Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [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)
Expand Down Expand Up @@ -288,7 +289,9 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [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)
Expand Down
3 changes: 3 additions & 0 deletions game_eggs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@
* [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)
Expand Down Expand Up @@ -184,7 +185,9 @@
* [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)
Expand Down
15 changes: 9 additions & 6 deletions game_eggs/minecraft/java/spigot/egg-spigot.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-05-17T23:20:29+01:00",
"exported_at": "2024-03-31T14:10:53+02:00",
"name": "Spigot",
"author": "[email protected]",
"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.",
Expand All @@ -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\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",
"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 \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
Expand All @@ -43,7 +43,8 @@
"default_value": "server.jar",
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
"field_type": "text"
},
{
"name": "Download Path",
Expand All @@ -52,7 +53,8 @@
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string"
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Spigot Version",
Expand All @@ -61,7 +63,8 @@
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,10"
"rules": "required|string|between:3,10",
"field_type": "text"
}
]
}
}
11 changes: 11 additions & 0 deletions game_eggs/steamcmd_servers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ This is a collection of servers that use SteamCMD to install.

[DayZ (Experimental)](dayz-experimental)

## DDNet
[DDNet](ddnet)

## Dead Matter

[Dead Matter](dead_matter)
Expand Down Expand Up @@ -180,10 +183,18 @@ 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)
Expand Down
17 changes: 17 additions & 0 deletions game_eggs/steamcmd_servers/ddnet/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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 | 🥔 |
124 changes: 124 additions & 0 deletions game_eggs/steamcmd_servers/ddnet/egg-d-d-net.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
{
"_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": "[email protected]",
"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"
}
]
}
16 changes: 16 additions & 0 deletions game_eggs/steamcmd_servers/no_love_lost/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# No Love Lost

Grab your ragtag crew & take up the Nectar Raiding trade on a dangerous planet that’s 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 |
Loading