Skip to content
Open
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
206 changes: 162 additions & 44 deletions hytale/egg-hytale.json
Original file line number Diff line number Diff line change
Expand Up @@ -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}",
Expand All @@ -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",
Expand All @@ -52,62 +50,182 @@
},
{
"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,
"rules": "required|string|in:release,pre-release",
"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"
}
]
Expand Down