Files
egg-hytale/egg-hytale.pterodactyl.json
2026-01-13 18:11:04 +02:00

154 lines
8.9 KiB
JSON

{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": "https:\/\/raw.githubusercontent.com\/NATroutter\/egg-hytale\/refs\/heads\/main\/egg-hytale.pterodactyl.json"
},
"exported_at": "2026-01-13T18:10:39+02:00",
"name": "Hytale",
"author": "contact@natroutter.fi",
"description": "Hytale is a block-based sandbox game that blends creative building with RPG adventure. Explore procedurally generated worlds filled with unique biomes, dungeons, and creatures. Build anything from simple homes to grand castles, craft items, and battle monsters. Create custom content with built-in modding tools, host your own servers, and shape the experience with plugins and mods. Play solo or with friends in a world designed for both creation and exploration.\r\n\r\nCredits:\r\n- Made by NATroutter\r\n- https:\/\/natroutter.fi\r\n- https:\/\/github.com\/NATroutter",
"features": [
"java_version"
],
"docker_images": {
"Java-25": "ghcr.io\/parkervcp\/yolks:java_25"
},
"file_denylist": [],
"startup": ".\/start.sh",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Hytale Server Booted!\"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\nDOWNLOAD_URL=\"https:\/\/downloader.hytale.com\/hytale-downloader.zip\"\r\nDOWNLOAD_FILE=\"hytale-downloader.zip\"\r\n\r\napt update\r\napt install -y curl unzip jq\r\n\r\ncd \/mnt\/server\r\n\r\n# Downloads and extracts the Hytale downloader\r\necho \"Starting Hytale downloader installation...\"\r\n\r\n# Download the file\r\necho \"Downloading hytale-downloader.zip...\"\r\ncurl -L -o \"${DOWNLOAD_FILE}\" \"${DOWNLOAD_URL}\"\r\n\r\nif [ $? -ne 0 ]; then\r\n echo \"Error: Failed to download ${DOWNLOAD_URL}\"\r\n exit 1\r\nfi\r\n\r\necho \"Download completed successfully.\"\r\n\r\n# Extract the zip file\r\necho \"Extracting ${DOWNLOAD_FILE}...\"\r\nunzip -o \"${DOWNLOAD_FILE}\"\r\n\r\nif [ $? -ne 0 ]; then\r\n echo \"Error: Failed to extract ${DOWNLOAD_FILE}\"\r\n exit 1\r\nfi\r\n\r\necho \"Extraction completed successfully.\"\r\n\r\n# Remove the unnessasery file\r\necho \"Cleaning up...\"\r\nrm \"${DOWNLOAD_FILE}\"\r\nrm QUICKSTART.md\r\nrm hytale-downloader-windows-amd64.exe\r\n\r\n#Creating the empty version file for version checks\r\necho \"Creating version check file...\"\r\ntouch \/mnt\/server\/version.txt\r\nchmod 666 \/mnt\/server\/version.txt\r\n\r\n# Check if the directory exists\r\nif [ ! -d \"\/mnt\/server\/backup\" ]; then\r\n echo \"Backup directory does not exist. Creating it...\"\r\n mkdir -p \/mnt\/server\/backup\r\n\r\n if [ $? -ne 0 ]; then\r\n echo \"Failed to create backup directory: \/backup\"\r\n exit 1\r\n fi\r\nelse\r\n echo \"Directory already exists.\"\r\nfi\r\nchmod 666 \/mnt\/server\/backup\r\n\r\necho \"Downloading start.sh script...\"\r\ncurl -L -o start.sh \"https:\/\/raw.githubusercontent.com\/NATroutter\/egg-hytale\/main\/start.sh\"\r\n\r\nif [ $? -ne 0 ]; then\r\n echo \"Error: Failed to download start.sh\"\r\n exit 1\r\nfi\r\n\r\necho \"Setting executable permissions...\"\r\nchmod +x .\/hytale-downloader-linux-amd64\r\nchmod +x .\/start.sh\r\n\r\necho \"Installation complete!\"",
"container": "ghcr.io\/pterodactyl\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Accept Early Plugins",
"description": "Acknowledge that loading early plugins is unsupported and may cause stability issues",
"env_variable": "ACCEPT_EARLY_PLUGINS",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Allow Operators",
"description": "Do you wish to allow operators or not",
"env_variable": "ALLOW_OP",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Asset Pack",
"description": "Assets pack (.zip) that are being send to player",
"env_variable": "ASSET_PACK",
"default_value": "Assets.zip",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|regex:\/^([\\w\\d._-]+)(\\.zip)$\/",
"field_type": "text"
},
{
"name": "Auth Mode",
"description": "Authentication mode",
"env_variable": "AUTH_MODE",
"default_value": "authenticated",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:authenticated,offline",
"field_type": "text"
},
{
"name": "Automatic Update",
"description": "Update the hytale server automaticly",
"env_variable": "AUTOMATIC_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"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": "required|integer|min:1",
"field_type": "text"
},
{
"name": "Disable Sentry Crash Reporting",
"description": "Important: Disable Sentry during active plugin development.\r\n\r\nHytale use Sentry to track crashes. Disable it to avoid submitting your development errors",
"env_variable": "DISABLE_SENTRY",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Enable Backups",
"description": "Enable automatic backups",
"env_variable": "ENABLE_BACKUPS",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "JVM Arguments",
"description": "Additional Java Virtual Machine arguments for advanced configuration.\r\n\r\nWarning: Improper JVM settings can lead to poor performance, crashes, or failure to start. Only modify if you understand what these parameters do.",
"env_variable": "JVM_ARGS",
"default_value": "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Leverage Ahead-Of-Time Cache",
"description": "The server ships with a pre-trained AOT cache (HytaleServer.aot) that improves boot times by skipping JIT warmup. See https:\/\/openjdk.org\/jeps\/514",
"env_variable": "LEVERAGE_AHEAD_OF_TIME_CACHE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Game Profile (username)",
"description": "Specify which Hytale profile should be used for server authentication.\r\n\r\nHow to find your profile username:\r\n1. Visit https:\/\/accounts.hytale.com\/\r\n2. Click \"Game Profiles\" in the left side menu\r\n3. Copy the username of the profile you want to use\r\n4. Paste it into this field\r\n\r\nLeave empty to use your default\/first profile automatically.",
"env_variable": "GAME_PROFILE",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Patchline",
"description": "What release channel you want to use",
"env_variable": "PATCHLINE",
"default_value": "release",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}