diff --git a/README.md b/README.md index 18f74a2e..8f68de0b 100644 --- a/README.md +++ b/README.md @@ -190,6 +190,7 @@ 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) diff --git a/game_eggs/README.md b/game_eggs/README.md index eb738256..c1a33d4f 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -84,6 +84,7 @@ * [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) diff --git a/game_eggs/minecraft/README.md b/game_eggs/minecraft/README.md index 9e374b05..2b289c78 100644 --- a/game_eggs/minecraft/README.md +++ b/game_eggs/minecraft/README.md @@ -28,6 +28,7 @@ It’s 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) diff --git a/game_eggs/minecraft/java/README.md b/game_eggs/minecraft/java/README.md index 11f583f3..b309b35e 100644 --- a/game_eggs/minecraft/java/README.md +++ b/game_eggs/minecraft/java/README.md @@ -37,6 +37,11 @@ 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 new fork of Forge that supports Minecraft version 1.20.1 and newer. + ## Glowstone [Glowstone](https://glowstone.net/) Glowstone is an open-source replacement for CraftBukkit, Spigot, and Paper. diff --git a/game_eggs/minecraft/java/neoforge/README.md b/game_eggs/minecraft/java/neoforge/README.md new file mode 100644 index 00000000..aeefee77 --- /dev/null +++ b/game_eggs/minecraft/java/neoforge/README.md @@ -0,0 +1,19 @@ +## NeoForge 🦊 + +### This is an egg for a standalone NeoForge Minecraft Server. + +NeoForge is a fork of Forge, supporting Minecraft version 1.20.1 and newer. + +- **NeoForge Website:** https://neoforged.net +- **Forge Website:** https://minecraftforge.net + + +*The install script contains parts of the orginal forge egg by parkervcp (c)* + +## Server Ports + +The NeoForge server requires a single port for access (default 25565) but mods may require extra ports to enabled for the server. + +| Port | default | +|-------|---------| +| Game | 25565 | \ No newline at end of file diff --git a/game_eggs/minecraft/java/neoforge/egg-neo-forge.json b/game_eggs/minecraft/java/neoforge/egg-neo-forge.json new file mode 100644 index 00000000..bafeda07 --- /dev/null +++ b/game_eggs/minecraft/java/neoforge/egg-neo-forge.json @@ -0,0 +1,44 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-02-23T22:25:23+01:00", + "name": "NeoForge", + "author": "mail@invalidpanda.dev", + "description": "NeoForge is a new fork of Forge, supporting Minecraft version 1.20.1 and newer.", + "features": [ + "eula" + ], + "docker_images": { + "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17" + }, + "file_denylist": [], + "startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s \"-jar {{SERVER_JARFILE}}\" || printf %s \"@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\r\n#\r\n# NeoForge Installation script\r\n#\r\n# Files kindly mirrored by invalidpandaa\r\n# Inspired by orginal Forge install script by parkervcp (c)\r\n#\r\n# Server files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\nif [[ ! -d \/mnt\/server ]]; then\r\nmkdir \/mnt\/server\r\nfi\r\ncd \/mnt\/server\r\nDOWNLOAD_LINK=https:\/\/mirror.invalidpanda.dev\/neoforge\/${MC_VERSION}\/installer.jar\r\n# Download the installer\r\necho -e \"Downloading NeoForge installer with Minecraft version ${MC_VERSION} \\nDownload link is ${DOWNLOAD_LINK}\\n\"\r\nif curl --output \/dev\/null --silent --head --fail \"${DOWNLOAD_LINK}\"; then\r\ncurl -LO ${DOWNLOAD_LINK}\r\n# Check if file exists\r\nif [ -e \"installer.jar\" ]; then\r\necho -e \"Successfully downloaded installer.jar\"\r\nelse\r\necho -e \"Failed to download installer.jar. Exiting now! \\n\"\r\nexit 1\r\nfi\r\nelse\r\necho -e \"Couldn't reach the download server! If this error persists, please contact mail@invalidpanda.dev. \\n\"\r\nexit 1\r\nfi\r\nfunction unix_args {\r\necho -e \"Setting up Unix args...\"\r\nif [ \"$MC_VERSION\" = \"1.20.1\" ]; then\r\nln -sf libraries\/net\/neoforged\/forge\/*\/unix_args.txt unix_args.txt\r\nelse\r\nln -sf libraries\/net\/neoforged\/neoforge\/*\/unix_args.txt unix_args.txt\r\nfi\r\n}\r\n# Delete args to support downgrading\/upgrading\r\nrm -rf libraries\/net\/neoforged\/neoforge\r\nrm -rf libraries\/net\/neoforged\/forge # if on 1.20.1\r\nrm unix_args.txt\r\n# Installing NeoForge\r\necho -e \"Installing NeoForge server \\n\"\r\njava -jar installer.jar --installServer || { echo -e \"\\nFailed to install NeoForge server with Minecraft version ${MC_VERSION}! \\nMake sure to allocate enough memory and disk space.\"; exit 4; }\r\n# Check if we need a symlink for 1.17+ Forge JPMS args\r\nif [[ $MC_VERSION =~ ^1\\.(17|18|19|20|21|22|23) || $FORGE_VERSION =~ ^1\\.(17|18|19|20|21|22|23) ]]; then\r\nunix_args\r\nfi\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar\r\necho \"--------------------------------------------------------------------------------------\r\n\r\nInstallation complete!\r\n\r\nIf any issues occured during install, please contact mail@invalidpanda.dev.\r\n\r\n--------------------------------------------------------------------------------------\"", + "container": "openjdk:8-jdk-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Minecraft Version", + "description": "The version of Minecraft you want to use. NeoForge supports 1.20.1+", + "env_variable": "MC_VERSION", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:6", + "field_type": "text" + } + ] +}