From b7fae8441aa05e0acf4b502c792edb0b50970b42 Mon Sep 17 00:00:00 2001 From: Callum Seabrook Date: Sun, 10 Oct 2021 22:09:56 +0100 Subject: [PATCH] Add Minecraft Krypton (#1139) --- game_eggs/README.md | 3 +- game_eggs/minecraft/README.md | 3 +- game_eggs/minecraft/java/README.md | 3 + game_eggs/minecraft/java/krypton/README.md | 13 +++ game_eggs/minecraft/java/krypton/config.conf | 92 +++++++++++++++++++ .../minecraft/java/krypton/egg-krypton.json | 50 ++++++++++ 6 files changed, 162 insertions(+), 2 deletions(-) create mode 100644 game_eggs/minecraft/java/krypton/README.md create mode 100644 game_eggs/minecraft/java/krypton/config.conf create mode 100644 game_eggs/minecraft/java/krypton/egg-krypton.json diff --git a/game_eggs/README.md b/game_eggs/README.md index 0f4b2778..f70084ee 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -57,7 +57,8 @@ * [Fabric](minecraft/java/fabric) * [Feather](minecraft/java/feather) * [Feed The Beast](minecraft/java/ftb) - * [Forge](minecraft/java/forge) + * [Forge](minecraft/java/forge) + * [Krypton](/minecraft/java/krypton) * [Magma](minecraft/java/magma) * [Mohist](minecraft/java/mohist) * [Paper](minecraft/java/paper) diff --git a/game_eggs/minecraft/README.md b/game_eggs/minecraft/README.md index 7e358d68..26fefe82 100644 --- a/game_eggs/minecraft/README.md +++ b/game_eggs/minecraft/README.md @@ -16,7 +16,8 @@ It’s set in infinitely-generated worlds of wide open terrain - icy mountains, * [Fabric](/game_eggs/minecraft/java/fabric) * [Feather](/game_eggs/minecraft/java/feather) * [Feed The Beast](/game_eggs/minecraft/java/ftb) -* [Forge](/game_eggs/minecraft/java/forge) +* [Forge](/game_eggs/minecraft/java/forge) +* [Krypton](/minecraft/java/krypton) * [Magma](/game_eggs/minecraft/java/magma) * [Mohist](/game_eggs/minecraft/java/mohist) * [Paper](/game_eggs/minecraft/java/paper) diff --git a/game_eggs/minecraft/java/README.md b/game_eggs/minecraft/java/README.md index c2552ef8..45fab8a6 100644 --- a/game_eggs/minecraft/java/README.md +++ b/game_eggs/minecraft/java/README.md @@ -30,6 +30,9 @@ A generic service to pull forge mod packs from the curseforge site. [Magma](https://magmafoundation.org) Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability. +[Krypton](https://github.com/KryptonMC/Krypton) +A fast, lightweight Minecraft server written in Kotlin. + ## FTB Packs [FTB Modpacks](https://api.modpacks.ch) A generic service to pull FTB modpacks from api.modpacks.ch. diff --git a/game_eggs/minecraft/java/krypton/README.md b/game_eggs/minecraft/java/krypton/README.md new file mode 100644 index 00000000..217b8e3c --- /dev/null +++ b/game_eggs/minecraft/java/krypton/README.md @@ -0,0 +1,13 @@ +# Krypton +A fast, lightweight Minecraft server written in Kotlin + +## Server Ports +Krypton only requires a single port to run, just like vanilla, though plugins may need extra ports. + +## Notes +Please note that the server will not function correctly unless a pre-generated world is provided. + + +| Port | default | +|-------|---------| +| Game | 25565 | diff --git a/game_eggs/minecraft/java/krypton/config.conf b/game_eggs/minecraft/java/krypton/config.conf new file mode 100644 index 00000000..8fa9a591 --- /dev/null +++ b/game_eggs/minecraft/java/krypton/config.conf @@ -0,0 +1,92 @@ +# This is the main Krypton configuration file. All settings in this file apply globally +# across the entire server, regardless of what they are. +# +# If you need any help with any of the settings in this file, you can join us on Discord +# at https://discord.gg/4QuwYACDRX + +# Advanced settings. Don't touch these unless you know what you're doing. +advanced { + # Whether to attempt to register the server as a JMX bean. + enable-jmx-monitoring=true + # Whether we should use the DSYNC option for saving region files to disk. + synchronize-chunk-writes=true +} +# Other settings that don't quite fit in anywhere else. +other { + # If we should enable bStats metrics for the server + metrics=true + # The duration (in seconds) a single tick must take before the single tick profiler reports it. + save-threshold=5 +} +# Proxy IP forwarding settings. +proxy { + # + # The method to use for forwarding a connecting user's information on + # to Krypton from a proxy server. Supported values are: + # - NONE - Disable forwarding support completely + # - LEGACY - Use the BungeeCord/pre-1.13 method + # - MODERN - Use Velocity's modern forwarding protocol + # When any mode other than NONE is used, the server will be forced offline + # and will ONLY accept connections from proxies. No users will be able to + # direct connect. + mode=NONE + # The forwarding secret from Velocity. Only used in the MODERN forwarding protocol. + secret="" +} +# Settings for the GS4 query protocol listener. If you don't know what that means, don't touch these :) +query { + # Whether to enable the query protocol. + enabled=false + # The port the query listener should listen on. + port=25566 +} +# The main server settings. +server { + # The threshold at which packets larger will be compressed. Set to -1 to disable. + compression-threshold=256 + # The IP used by players to connect. 0.0.0.0 means listen on all interfaces. + ip="0.0.0.0" + # Whether the server authenticates users with Mojang. + online-mode=true + # The port used by players to connect. + port=25565 +} +# Status configuration +status { + # The upper limit of the player count. Any players that try to join when this is reached will be kicked. + max-players=20 + # The message of the day. Supports legacy and hex codes (using &#). + motd="ὀffKrypton is a Minecraft server written in Kotlin!" +} +# Watchdog settings. The watchdog monitors the server for freezes. +watchdog { + # The time (in milliseconds) before watchdog first warns you about the server not responding + early-warning-delay=10000 + # How often (in milliseconds) watchdog should warn you in advanced that the server isn't responding + early-warning-interval=5000 + # The message to send to players when we restart the server. Supports legacy and hex codes (&# format). + restart-message="&cServer closed." + # Whether we should attempt to restart the server if it crashes + restart-on-crash=true + # The script we should use to attempt to restart the server. + restart-script="./start.sh" + # The time (in seconds) that the server must not respond for before watchdog considers it dead. + timeout-time=60 +} +# Global world configuration options +world { + # The amount of time (in ticks) between automatic world saves. + autosave-interval=6000 + # The default difficulty. Valid values are: 0-3 (legacy), peaceful, easy, normal and hard (case insensitive). + difficulty=normal + # Forces the above gamemode for all players in all worlds. + force-default-gamemode=false + # The gamemode for this world. Valid values are: 0-3 (legacy), survival, creative, adventure and spectator (case insensitive). + gamemode=survival + # If this server is in hardcore mode. Currently does nothing. + hardcore=false + # The name of the folder with the world to load in it. + name=world + # The render distance of the server. This is how many chunks you can see in front of you, excluding the one you are in. + view-distance=10 +} diff --git a/game_eggs/minecraft/java/krypton/egg-krypton.json b/game_eggs/minecraft/java/krypton/egg-krypton.json new file mode 100644 index 00000000..9f5530d0 --- /dev/null +++ b/game_eggs/minecraft/java/krypton/egg-krypton.json @@ -0,0 +1,50 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1", + "update_url": null + }, + "exported_at": "2021-05-09T06:18:25-04:00", + "name": "Krypton", + "author": "callum.seabrook@prevarinite.com", + "description": "A fast, lightweight Minecraft server written in Kotlin", + "features": null, + "images": [ + "ghcr.io/pterodactyl/yolks:java_16" + ], + "file_denylist": "", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JAR}}", + "config": { + "files": "{\r\n \"config.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \" port\": \" port = {{server.build.default.port}}\",\r\n \" ip\": \" ip = \\\"0.0.0.0\\\"\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \")! Type \\\"help\\\" for help.\"\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n#\r\n# Krypton installation script for Pterodactyl\r\n# Created by BomBardyGamer\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt-get update\r\napt-get install -y curl jq unzip\r\n\r\ncd \/mnt\/server\r\nif [ -z \"${KRYPTON_VERSION}\" ] || [ \"${KRYPTON_VERSION}\" == \"latest\" ]; then\r\n KRYPTON_VERSION=\"lastSuccessfulBuild\"\r\nfi\r\n\r\nBASE_URL=\"https:\/\/ci.kryptonmc.org\/job\/Krypton\/${KRYPTON_VERSION}\"\r\nARTIFACT=`curl \"${BASE_URL}\/api\/json?tree=artifacts%5BrelativePath%5D\" | jq '.artifacts[0].relativePath' | sed 's\/\"\/\/g'`\r\n\r\ncurl -o ${SERVER_JAR} ${BASE_URL}\/artifact\/${ARTIFACT}\r\nunzip ${SERVER_JAR} \"config.conf\"", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Server JAR File", + "description": "The name of the server JAR to run the server with.", + "env_variable": "SERVER_JAR", + "default_value": "Krypton.jar", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20" + }, + { + "name": "Krypton Version", + "description": "The version of Krypton to download and use.", + "env_variable": "KRYPTON_VERSION", + "default_value": "latest", + "user_viewable": true, + "user_editable": true, + "rules": "required|alpha_num|between:1,6" + } + ] +}