diff --git a/README.md b/README.md index d0d30bfd..a2d2e812 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,7 @@ Below is a categorized list of games with links to their respective server confi * [CurseForge](./minecraft/java/curseforge) * [Fabric](./minecraft/java/fabric) * [Forge](./minecraft/java/forge) + * [GT:NH](./minecraft/java/gtnh) * [Technic](./minecraft/java/technic) #### [Minetest](./minetest) diff --git a/minecraft/java/README.md b/minecraft/java/README.md index 7bb362ab..a55ed691 100644 --- a/minecraft/java/README.md +++ b/minecraft/java/README.md @@ -42,7 +42,8 @@ A generic service to pull forge mod packs from the curseforge site. [NeoForge Website](https://neoforged.net) A fork of Minecraft Forge that supports Minecraft versions 1.20.1 and newer. -## Glowstone +## Glowstone + [Glowstone](https://glowstone.net/) Glowstone is an open-source replacement for CraftBukkit, Spigot, and Paper. @@ -70,6 +71,11 @@ Mohist is a minecraft forge server software that implements the Paper/Spigot/Buk ## [Feed The Beast](ftb) +## [GregTech: New Horizons](gtnh) + +[GT:NH Wiki](https://gtnh.miraheze.org/wiki/Main_Page) +A Minecraft 1.7.10 modpack maintained and supported by dedicated community members just like you! + ## [NanoLimbo](nanolimbo) [NanoLimbo GitHub](https://github.com/Nan1t/NanoLimbo) @@ -81,6 +87,7 @@ A lightweight minecraft limbo server, written on Java with Netty. The main goal Standalone server program Limbo. ## [Quilt](quilt) + [Quilt Website](https://quiltmc.org/) The Quilt project is an open-source, community-driven modding toolchain designed primarily for Minecraft. By focusing on speed, ease of use and modularity, Quilt aims to provide a sleek and modern modding toolchain with an open ecosystem. @@ -149,5 +156,6 @@ The official Tekkit Classic modpack. Build factories, automate crafting! ## [VanillaCord](vanillacord) ## VanillaCord + [VanillaCord](https://github.com/ME1312/VanillaCord) VanillaCord adds support for BungeeCord's ip-forwarding option on vanilla Minecraft servers. diff --git a/minecraft/java/gtnh/README.md b/minecraft/java/gtnh/README.md new file mode 100644 index 00000000..8a501694 --- /dev/null +++ b/minecraft/java/gtnh/README.md @@ -0,0 +1,18 @@ +# GregTech:New Horizons + +Standalone Minecraft server with GregTech:New Horizons using Java 21. + +Supports upgrading / downgrading via reinstall and keeps world, backups and some key config files. +Check installation logs for what has been removed in the process and make sure to backup any additional data. + +[GT:NH Github](https://github.com/GTNewHorizons/GT-New-Horizons-Modpack) +[GT:NH Wiki](https://gtnh.miraheze.org/wiki/Main_Page) +[Server Setup](https://gtnh.miraheze.org/wiki/Server_Setup) + +## Server Ports + +The GT:NH server requires a single port for access (default 25565). + +| Port | default | +|-------|---------| +| Game | 25565 | diff --git a/minecraft/java/gtnh/egg-greg-tech--new-horizons.json b/minecraft/java/gtnh/egg-greg-tech--new-horizons.json new file mode 100644 index 00000000..eddac7fb --- /dev/null +++ b/minecraft/java/gtnh/egg-greg-tech--new-horizons.json @@ -0,0 +1,56 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2025-04-05T21:16:28+02:00", + "name": "GregTech:New Horizons", + "author": "DJSchaffner@outlook.com", + "description": "Minecraft GregTech:New Horizons Server", + "features": [ + "eula", + "java_version", + "pid_limit" + ], + "docker_images": { + "ghcr.io\/pterodactyl\/yolks:java_21": "ghcr.io\/pterodactyl\/yolks:java_21" + }, + "file_denylist": [], + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dfml.readTimeout=180 @java9args.txt -jar lwjgl3ify-forgePatches.jar nogui", + "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\/ash\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server || exit 1\r\n\r\nGTNH_VERSION=\"${GTNH_VERSION\/\/ \/}\"\r\nAVAILABLE_VERSIONS=$(curl -s https:\/\/downloads.gtnewhorizons.com\/ServerPacks\/?raw)\r\nFILTERED_VERSIONS=$(echo -e \"$AVAILABLE_VERSIONS\" | grep -v -e 'Java_8.zip' | grep $([[ ${IS_BETA_VERSION:-0} -ne 1 ]] && echo \"-v \") -e '\/betas\/')\r\n\r\nif [[ \"$GTNH_VERSION\" != \"latest\" ]]; then\r\n echo -e \"Constructing download link for specified version $GTNH_VERSION\"\r\n # Use tail just to make sure there are not multiple versions matching\r\n DOWNLOAD_LINK=\"$(echo -e \"$FILTERED_VERSIONS\" | grep -e _\"$GTNH_VERSION\"_)\"\r\nelse\r\n echo -e \"No version specified. Getting latest available version\"\r\n DOWNLOAD_LINK=\"$(echo -e \"$FILTERED_VERSIONS\" | tail -n 1)\"\r\nfi\r\n\r\necho -e \"Download link: $DOWNLOAD_LINK\"\r\nZIP_FILE=GTNH_${GTNH_VERSION}.zip\r\n\r\nif curl --output \/dev\/null --silent --head --fail \"$DOWNLOAD_LINK\"; then\r\n echo -e \"Download link is valid\"\r\nelse\r\n echo -e \"Invalid download link - Check provided GT:NH version. Exiting now!\"\r\n exit 1\r\nfi\r\n\r\n# Space separated blacklist for files to keep (limitation of ash)\r\nBLACKLIST=\"backups world server.properties whitelist.json banned-players.json banned-ips.json ops.json\"\r\necho -e \"Removing files from previous installation (Keeping world, backups, properties, whitelist, banned players and ops)\"\r\n\r\n# Loop all files in base directory and remove files\/folders not in blacklist\r\nfor file in .\/*; do\r\n filename=$(basename \"$file\")\r\n match=false\r\n \r\n for pattern in $BLACKLIST; do\r\n if [[ \"$(echo \"$filename\" | tr '[:upper:]' '[:lower:]')\" = \"$(echo \"$pattern\" | tr '[:upper:]' '[:lower:]')\" ]]; then\r\n match=true\r\n break\r\n fi\r\n done\r\n \r\n if [ \"$match\" != true ]; then\r\n echo -e \"Removing: $filename\"\r\n rm -rf \"$file\"\r\n else\r\n echo -e \"Keeping: $filename\"\r\n fi\r\ndone\r\n\r\necho -e \"Downloading archive\"\r\ncurl -o \"$ZIP_FILE\" \"$DOWNLOAD_LINK\"\r\n\r\necho -e \"Start extracting archive\"\r\ntimeout 60s unzip -nq \"$ZIP_FILE\"\r\nif [ $? -ge 124 ]; then\r\n echo \"Extraction was unsuccessful or timed out!\"\r\n exit 1\r\nfi\r\n\r\nchmod +x lwjgl3ify-forgePatches.jar\r\nchmod +x forge-*.jar\r\n\r\necho -e \"Deleting zip file\"\r\nrm -f \"$ZIP_FILE\"\r\n\r\necho -e \"Installation process is completed\"", + "container": "ghcr.io\/pterodactyl\/installers:alpine", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "GT:NH Version", + "description": "The version of GregTech:New Horizons to use. Set to \"latest\" for latest version, or specify a version number.\r\nExample: 2.7.0", + "env_variable": "GTNH_VERSION", + "default_value": "latest", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20", + "field_type": "text" + }, + { + "name": "Use Beta Version", + "description": "Enable if you want to use a beta version", + "env_variable": "IS_BETA_VERSION", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + } + ] +}