All apps · 0 apps
Hytale-Server-Manager
Docker app from Nebula's Repository
Overview
Hytale Server Manager is a web-based management dashboard for Hytale game servers.
Features include:
- Server management and monitoring
- Backup automation and restoration
- Player tracking
- Mod management
- Scheduled tasks
- Discord notifications
- Real-time console access
IMPORTANT: You must configure the JWT secrets before first use. Generate random values for JWT_SECRET, JWT_REFRESH_SECRET, and SETTINGS_ENCRYPTION_KEY using the commands shown in each variable's description.
Readme
View on GitHubHytale Server Manager
A web-based management dashboard for Hytale game servers. Built with React, TypeScript, and Node.js.
Features
- Server Management - Control multiple servers with real-time metrics and live console
- Mod Manager - Browse and install mods from Modtale with dependency resolution
- Modpack System - One-click installation of pre-configured mod collections
- Backup Management - Automated scheduling with restore capabilities
- Role-Based Access - Fine-grained permissions for admin, moderator, and viewer roles
Project Structure
├── packages/ # Monorepo packages
│ ├── frontend/ # React frontend application
│ ├── server/ # Node.js backend API
│ └── website/ # Documentation website (Astro)
└── scripts/ # Installation and deployment scripts
Tech Stack
Frontend: React 18, TypeScript, Tailwind CSS, Zustand, Vite
Backend: Node.js, Express, Prisma, SQLite, Socket.IO
Prerequisites
- Node.js 20+
- pnpm (
npm install -g pnpm) - Git
- Java 25+ (required to run Hytale server processes) - https://adoptium.net/temurin/releases/
Quick start
Use the docker-compose.yml file provided to set up your docker container instance.
[!NOTE] UnRAID users can use the UnRAID app store.
Manual installation
# Clone the repository
git clone https://github.com/nebula-codes/hytale_server_manager.git
cd hytale_server_manager
# Run initial setup (Windows)
.\scripts\windows\setup.ps1
# Run development servers (both)
pnpm dev
# Or run them separately:
# pnpm -C packages/frontend dev
# pnpm -C packages/server dev
If PowerShell blocks the script due to execution policy, run:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Linux setup:
bash ./scripts/linux/setup.sh
The setup script:
- copies
packages/frontend/.env.exampleandpackages/server/.env.exampleif needed - prompts for
JWT_SECRET,JWT_REFRESH_SECRET, andSETTINGS_ENCRYPTION_KEY(blank = auto-generate) - installs dependencies and runs database migrations
Configuration
The server requires these environment variables in packages/server/.env:
| Variable | Description |
|---|---|
JWT_SECRET |
Secret key for JWT tokens (required) |
JWT_REFRESH_SECRET |
Secret key for refresh tokens (required) |
SETTINGS_ENCRYPTION_KEY |
32-character key for encrypting sensitive settings (required) |
DATABASE_URL |
SQLite database path (default: file:./data/hytalepanel.db) |
Login / Admin Credentials
If you don't have an admin user yet, run the reset script to create or reset it:
node packages/server/reset-admin.js
This creates (or resets) the admin user with password Admin123!@# by default.
You can pass a custom password:
node packages/server/reset-admin.js MyNewPassword123!
License
MIT License - see LICENSE for details.
This is an unofficial fan project and is not affiliated with Hytale or Hypixel Studios.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/nebula-codes/hytale-server-manager:latestRuntime arguments
- Web UI
http://[IP]:[PORT:3001]- Network
host- Shell
sh- Privileged
- false
Template configuration
- Target
- 3001
- Default
- 3001
- Value
- 3001
- Target
- 5520
- Default
- 5520
- Value
- 5520
User ID for file permissions. Use 'id' command to find your UID.
- Default
- 99
- Value
- 99
Group ID for file permissions. Use 'id' command to find your GID.
- Default
- 100
- Value
- 100
Set container timezone in TZ format.
- Target
- TZ
- Default
- Etc/UTC
- Value
- Etc/UTC
SQLite database storage
- Target
- /app/data/db
- Default
- /mnt/user/appdata/hytale-server-manager/db
- Value
- /mnt/user/appdata/hytale-server-manager/db
Game server installations
- Target
- /app/servers
- Default
- /mnt/user/appdata/hytale-server-manager/servers
- Value
- /mnt/user/appdata/hytale-server-manager/servers
Server backup storage
- Target
- /app/data/backups
- Default
- /mnt/user/appdata/hytale-server-manager/backups
- Value
- /mnt/user/appdata/hytale-server-manager/backups
Application logs (including Prisma logs)
- Target
- /app/logs/
- Default
- /mnt/user/appdata/hytale-server-manager/logs/
- Value
- /mnt/user/appdata/hytale-server-manager/logs/
SSL Certificates for the web UI
- Target
- /app/data/certs/
- Default
- /mnt/user/appdata/hytale-server-manager/certs/
- Value
- /mnt/user/appdata/hytale-server-manager/certs/
Hytale downloader tool storage
- Target
- /app/data/hytale-downloader
- Default
- /mnt/user/appdata/hytale-server-manager/hytale-downloader
- Value
- /mnt/user/appdata/hytale-server-manager/hytale-downloader
System machine ID for identification
- Target
- /etc/machine-id
- Default
- /etc/machine-id
- Value
- /etc/machine-id
Discord webhook URL for notifications
Enable Discord webhook notifications
- Default
- false
- Value
- false
Allowed CORS origin. Set to your Unraid server URL for external access (e.g., https://192.168.1.100:3001)
- Default
- http://localhost:3001
- Value
- http://localhost:3001
Allow HTTP access (NOT recommended). Set to 'true' only for local network testing without HTTPS.
- Default
- false
- Value
- false
Encryption key for sensitive settings (exactly 32 hex chars). Generate with: openssl rand -hex 16
JWT refresh token secret (min 32 chars). Generate with: openssl rand -hex 64
JWT secret for authentication (min 32 chars). Generate with: openssl rand -hex 64
Rate limit window in milliseconds (default: 900000 = 15 minutes)
- Default
- 900000
- Value
- 900000
Maximum requests per rate limit window (default: 100)
- Default
- 100
- Value
- 1000
Maximum file upload size in bytes (default: 52428800 = 50MB)
- Default
- 52428800
- Value
- 52428800
