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/andbootstrap/cache/writable (permissions0755, owner: web server user)
Step 1: Install the Panel Plugin
- Download the latest
hytale-adminplugin release - Place it in your Pelican Panel's
plugins/directory:/var/www/pelican/plugins/hytale-admin/ - Verify the directory structure:
plugins/hytale-admin/ ├── src/ ├── config/ ├── resources/ └── plugin.json - Clear the application cache:
php artisan cache:clear php artisan config:clear php artisan view:clear - 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.
- Go to Admin Panel → Eggs
- Edit your Hytale server Egg (e.g., "Hytale Server")
- Add
hytale-adminto the Features field:
If the Egg already has features:["hytale-admin"]["steam_disk_space", "hytale-admin"] - Click Save
Important: The feature flag must be exactly
hytale-admin(lowercase, hyphenated). Variations likeHytaleAdminorhytale_adminwill not work.
Step 3: Install the Java Mod on the Server
The Java mod is the server-side component that exposes the REST API.
- Navigate to your server → Hytale Admin in the sidebar
- Go to the Setup tab
- Click Install Mod, the plugin uploads the bundled JAR from
resources/mod/to the server'smods/directory - Success notification: "Admin mod installed successfully"
- 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
tokenis auto-generated and should be kept secret. It authenticates all API requests. If compromised, stop the server, change the token inconfig.json, and restart.
Step 5: First Launch
- Ensure the Hytale server is running with the Java mod loaded
- Navigate to your server → click Hytale Admin in the sidebar
- 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
- 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
- Go to Setup tab → click Uninstall Mod
- The JAR is deleted from the server's
mods/directory - Success: "Admin mod uninstalled"
- Restart the server
- 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.