Color theme

Installation & Setup

Eranio

Installation & Setup

Complete step-by-step guide to installing both the Pelican Panel plugin and the Hytale server-side Java mod, configuring the API connection, and verifying everything works.


Prerequisites

  • Pelican Panel version 1.0.0-rc.1+ installed and running
  • PHP 8.5 on the Panel server
  • A Hytale game server managed by the Panel
  • Network access from the Panel server to the Hytale server on port 5550 (default)
  • storage/ and bootstrap/cache/ writable (permissions 0755, owner: web server user)

Step 1: Install the Panel Plugin

  1. Download the latest hytale-admin plugin release
  2. Place it in your Pelican Panel's plugins/ directory:
    /var/www/pelican/plugins/hytale-admin/
    
  3. Verify the directory structure:
    plugins/hytale-admin/
    ├── src/
    ├── config/
    ├── resources/
    └── plugin.json
    
  4. Clear the application cache:
    php artisan cache:clear
    php artisan config:clear
    php artisan view:clear
    
  5. Verify the plugin appears under Admin Panel → Plugins as "Hytale Admin Panel"

Step 2: Configure the Egg

The plugin uses the hytale-admin feature flag to determine which servers show the admin panel.

  1. Go to Admin Panel → Eggs
  2. Edit your Hytale server Egg (e.g., "Hytale Server")
  3. Add hytale-admin to the Features field:
    ["hytale-admin"]
    
    If the Egg already has features:
    ["steam_disk_space", "hytale-admin"]
    
  4. Click Save

Important: The feature flag must be exactly hytale-admin (lowercase, hyphenated). Variations like HytaleAdmin or hytale_admin will not work.


Step 3: Install the Java Mod on the Server

The Java mod is the server-side component that exposes the REST API.

  1. Navigate to your server → Hytale Admin in the sidebar
  2. Go to the Setup tab
  3. Click Install Mod, the plugin uploads the bundled JAR from resources/mod/ to the server's mods/ directory
  4. Success notification: "Admin mod installed successfully"
  5. Restart the Hytale server for the mod to load

Integrity Verification

The plugin checks the mod with an RSA-2048 signature and a SHA-256 checksum:

Check What is verified
RSA-2048 signature The JAR comes from Eranio (public key embedded)
SHA-256 checksum The installed JAR matches the bundled one

The check runs automatically whenever the setup page is opened, there is no button for it. The page shows "Integrity Verified" or "Integrity check FAILED, the JAR file has been modified!", then reinstall the mod. When it fails, the dashboard warns as well.

New mod versions

The plugin also detects new versions of the Java mod when the plugin itself has not been updated: it checks eranio.de every hour (actually at most every 6 hours), downloads a newer version and only accepts it if checksum and signature match. Afterwards the dashboard and the Setup tab show "Update available".

A new version is never installed automatically, only when you click Update Mod in the Setup tab yourself. It takes effect after the next server restart. To check right away, run php artisan hytale-admin:update-mod on the panel server. Downloading can be turned off with HYTALE_ADMIN_MOD_AUTO_DOWNLOAD=false in the panel's .env.


Step 4: Configure the API Connection

After the Java mod starts for the first time, it generates a configuration file at:

mods/Eranio_HytaleAdminAPI/config.json

Configuration Reference

Key Default Description
token (auto-generated) API authentication token, used in X-Admin-Token header
port 5550 HTTP server port for the REST API
maxChatHistory 500 Maximum chat messages the API retains
requestTimeout 10 HTTP request timeout in seconds
chatPollInterval 3 Chat UI poll interval in seconds
backupDir (auto) Backup storage directory
worldDir (auto) World data directory
modsDir (auto) Mods directory
gameLanguage 'auto' Game item translation language override
itemsPerPage 15 Items shown per page in tables

The plugin reads this configuration automatically through Pelican's file interface. Nothing has to be entered by hand, values can be changed on the setup page under Edit Settings (see step 6).

Security Note: The token is auto-generated and should be kept secret. It authenticates all API requests. If compromised, stop the server, change the token in config.json, and restart.


Step 5: First Launch

  1. Ensure the Hytale server is running with the Java mod loaded
  2. Navigate to your server → click Hytale Admin in the sidebar
  3. The plugin connects to the Java mod API and displays:
    • Dashboard with server status (players, TPS, uptime)
    • A menu with all pages, on phones as a bar at the bottom or a dropdown
  4. If connection fails, you'll see "Hytale API error" in logs

Connection Troubleshooting

Symptom Cause Solution
"Hytale Admin" not in sidebar Feature flag missing Add hytale-admin to Egg features
Blank dashboard Java mod not running Restart server, check mod loaded
"Hytale API config not found" config.json missing Server never started with mod, or mod failed to load
"Hytale API error: /status" API unreachable Check port 5550, firewall, mod running
Connection timeout Port blocked Open port 5550 between Panel and server

Step 6: Settings

The setup page shows the mod version, integrity, API connection (Connected or Not Connected) and all settings from the mod's config.json. Edit Settings opens a dialog and writes the values back to that file:

Field Limits Meaning
API Token hidden, visible through the eye icon Generated by the mod; for a new token delete config.json and restart the server
API Port 1024 to 65535 Port of the mod's REST API
Request Timeout 1 to 120 seconds How long the panel waits for an answer
Chat polling every 1 to 60 seconds Refresh of the chat page
Max chat history 10 to 10,000 Messages the mod keeps in memory
Items per page 5 to 100 Rows per page in tables
Backup, world and mods folder paths Where the pages look for backups, worlds and mods
Game language Auto or one of Hytale's languages Language for item, NPC and place names, Auto uses the panel language

Success: "Settings saved successfully". Port and token take effect after a server restart.

Demo Mode

Enable Demo Mode shows simulated data on every page, actions are only pretended. It stays on until it is switched off here again. See Dashboard, section Demo Mode.


Uninstalling the Mod

  1. Go to Setup tab → click Uninstall Mod
  2. The JAR is deleted from the server's mods/ directory
  3. Success: "Admin mod uninstalled"
  4. Restart the server
  5. The panel plugin can remain installed but will show connection errors without the mod

Verification Checklist

Check Expected If failing
Plugin in Admin → Plugins "Hytale Admin Panel" listed Wrong path or cache not cleared
"Hytale Admin" in sidebar Visible for servers with hytale-admin feature Feature flag missing on Egg
Java mod on server mods/EranioHytaleAdminAPI-*.jar exists Install via Setup tab
Config file mods/Eranio_HytaleAdminAPI/config.json exists Start server once with mod
Dashboard loads Shows TPS, players, uptime API connection working
Integrity check "Integrity Verified" Reinstall mod if mismatch

Permission System

The plugin uses 17 granular permissions to control access. See the dedicated Permissions guide for the full reference. By default, server owners have all permissions.