diff --git a/hytale/egg-hytale.json b/hytale/egg-hytale.json index 17009499..e999c720 100644 --- a/hytale/egg-hytale.json +++ b/hytale/egg-hytale.json @@ -2,20 +2,18 @@ "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "meta": { "version": "PTDL_v2", - "update_url": null + "update_url": "https://raw.githubusercontent.com/pterodactyl/game-eggs/refs/heads/main/hytale/egg-hytale.json" }, "exported_at": "2026-04-22T23:58:04+00:00", "name": "Hytale", "author": "hello@pterodactyl.io", "description": "Set out on an adventure built for both creation and play. Hytale blends the freedom of a sandbox with the momentum of an RPG: explore a procedurally generated world full of dungeons, secrets, and a variety of creatures, then shape it block by block.", - "features": [ - "java_version" - ], + "features": null, "docker_images": { "ghcr.io\/pterodactyl\/games:hytale": "ghcr.io\/pterodactyl\/games:hytale" }, "file_denylist": [], - "startup": "java $( ((USE_AOT_CACHE)) && printf %s \"-XX:AOTCache=Server\/HytaleServer.aot\" ) -Xms128M $( ((SERVER_MEMORY)) && printf %s \"-Xmx${SERVER_MEMORY}M\" ) -jar Server\/HytaleServer.jar $( ((HYTALE_ALLOW_OP)) && printf %s \"--allow-op\" ) $( ((HYTALE_ACCEPT_EARLY_PLUGINS)) && printf %s \"--accept-early-plugins\" ) $( ((DISABLE_SENTRY)) && printf %s \"--disable-sentry\" ) --auth-mode ${HYTALE_AUTH_MODE} --assets Assets.zip --bind 0.0.0.0:${SERVER_PORT}", + "startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -jar HytaleServer.jar --bind 0.0.0.0:{{SERVER_PORT}} --assets ../Assets.zip", "config": { "files": "{}", "startup": "{\n \"done\": \"Hytale Server Booted\"\n}", @@ -31,10 +29,10 @@ }, "variables": [ { - "name": "Accept Early Plugins", - "description": "Hytale warns that loading early plugins is unsupported and may cause stability issues.", - "env_variable": "HYTALE_ACCEPT_EARLY_PLUGINS", - "default_value": "0", + "name": "Auto Update", + "description": "Automatically update game files on startup.", + "env_variable": "AUTO_UPDATE", + "default_value": "1", "user_viewable": true, "user_editable": true, "rules": "required|boolean", @@ -52,8 +50,8 @@ }, { "name": "Patchline", - "description": "The branch of Hytale to install.", - "env_variable": "HYTALE_PATCHLINE", + "description": "Server branch preference, Update.Patchline inside the config.json overrides this.", + "env_variable": "PATCHLINE", "default_value": "release", "user_viewable": true, "user_editable": true, @@ -61,53 +59,173 @@ "field_type": "text" }, { - "name": "Disable Sentry", - "description": "Hytale uses Sentry to track crashes. Disable Sentry during active plugin development.", - "env_variable": "DISABLE_SENTRY", - "default_value": "0", - "user_viewable": true, - "user_editable": true, - "rules": "required|boolean", - "field_type": "text" - }, - { - "name": "Use Ahead-of-Time Cache", - "description": "Hytale provides a pre-trained AOT Java cache which can significantly improve boot times.", - "env_variable": "USE_AOT_CACHE", + "name": "Server Version", + "description": "Version to run: latest, previous or a specific version.", + "env_variable": "SERVER_VERSION", + "default_value": "latest", + "user_viewable": true, + "user_editable": true, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Pre-Authentication", + "description": "Pre-authenticate via OAuth2 before server start.", + "env_variable": "HYTALE_API_AUTH", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "boolean", + "field_type": "text" + }, + { + "name": "Enable World Backups", + "description": "Enable automatic world backups by the game server.", + "env_variable": "ENABLE_WORLD_BACKUP", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "boolean", + "field_type": "text" + }, + { + "name": "Enable Server Backup", + "description": "Store a backup of the previous server version on update or patchline change.", + "env_variable": "ENABLE_SERVER_BACKUP", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "boolean", + "field_type": "text" + }, + { + "name": "Server Backup Retention", + "description": "Number of server version backups to retain per patchline.", + "env_variable": "SERVER_BACKUP_RETENTION", + "default_value": "2", + "user_viewable": true, + "user_editable": true, + "rules": "integer|required|min:1", + "field_type": "text" + }, + { + "name": "Backup Directory", + "description": "Directory for world backups.", + "env_variable": "BACKUP_DIR", + "default_value": "Backups", + "user_viewable": true, + "user_editable": true, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Backup Frequency", + "description": "Backup interval in minutes.", + "env_variable": "BACKUP_FREQUENCY", + "default_value": "30", + "user_viewable": true, + "user_editable": true, + "rules": "integer|required", + "field_type": "text" + }, + { + "name": "Backup Max Count", + "description": "Maximum number of world backups.", + "env_variable": "BACKUP_MAX_COUNT", + "default_value": "5", + "user_viewable": true, + "user_editable": true, + "rules": "integer", + "field_type": "text" + }, + { + "name": "Backup Archive Max Count", + "description": "Maximum number of backup archives to retain.", + "env_variable": "BACKUP_ARCHIVE_MAX_COUNT", + "default_value": "5", + "user_viewable": true, + "user_editable": true, + "rules": "integer", + "field_type": "text" + }, + { + "name": "Use AOT Cache", + "description": "Enable Ahead-Of-Time compilation cache for faster startup.", + "env_variable": "USE_AOT_CACHE", "default_value": "1", "user_viewable": true, "user_editable": true, - "rules": "required|boolean", - "field_type": "text" - }, - { - "name": "Allow operators", - "description": "Allow operators", - "env_variable": "HYTALE_ALLOW_OP", - "default_value": "0", - "user_viewable": true, - "user_editable": true, - "rules": "required|boolean", + "rules": "boolean", "field_type": "text" }, { - "name": "Install Source Query plugin", - "description": "Installs the Soruce Query plugin, so that your server responds to Source Query A2S requests (player count, server name, etc.)", - "env_variable": "INSTALL_SOURCEQUERY_PLUGIN", + "name": "Compact Object Headers", + "description": "Enable JVM compact object headers for reduced memory usage.", + "env_variable": "USE_COMPACT_HEADERS", "default_value": "1", "user_viewable": true, "user_editable": true, - "rules": "required|boolean", + "rules": "boolean", + "field_type": "text" + }, + { + "name": "Allow Self-OP", + "description": "Allow players to use /op self to grant themselves operator permissions.", + "env_variable": "ALLOW_OP", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "boolean", + "field_type": "text" + }, + { + "name": "Load Early Plugins", + "description": "Loads binary injection plugins for the server, enable only if you understand the stability risks.", + "env_variable": "ACCEPT_EARLY_PLUGINS", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "boolean", + "field_type": "text" + }, + { + "name": "Disable Sentry", + "description": "Disable Sentry error reporting and telemetry.", + "env_variable": "DISABLE_SENTRY", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "boolean", "field_type": "text" }, { - "name": "Source Query Port", - "description": "The port that the Source Query plugin will use to respond to A2S requests. This should be different from the main server port. Defaults to the game port + 1.", - "env_variable": "QUERY_PORT", - "default_value": "", + "name": "Ignore Broken Mods", + "description": "Ignore broken mods, allowing the server to boot even if a mod fails to load.", + "env_variable": "IGNORE_BROKEN_MODS", + "default_value": "0", "user_viewable": true, "user_editable": true, - "rules": "nullable|integer|between:1,65535", + "rules": "boolean", + "field_type": "text" + }, + { + "name": "Transport", + "description": "Network transport protocol. QUIC (UDP) is default; use TCP if UDP/QUIC is blocked by your host or network.", + "env_variable": "TRANSPORT", + "default_value": "QUIC", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:QUIC,TCP", + "field_type": "text" + }, + { + "name": "Profile UUID", + "description": "Specify a specific Hytale profile UUID for the servers session.", + "env_variable": "HYTALE_PROFILE_UUID", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string", "field_type": "text" } ]