Production-ready Hytale dedicated server management with Docker and CLI
curl -fsSL https://raw.githubusercontent.com/Leetcraft/openhytale-server/main/install.sh | bashcurl -fsSL https://raw.githubusercontent.com/Leetcraft/openhytale-server/main/compose.yml -o compose.yml
docker compose up -dAfter starting the server, you must authenticate with your Hytale account:
# Attach to the server console
docker attach hytale-server
# In the server console, run:
auth login deviceFollow the on-screen instructions to complete OAuth authentication.
For persistent authentication (survives restarts):
auth persistence EncryptedPress Ctrl+P, Ctrl+Q to detach without stopping the server.
openhytale init # Check Docker installation
openhytale init --install # Auto-install Docker (Linux)# Create a new server
openhytale server create --name my-server
# With custom settings
openhytale server create \
--name my-server \
--port 5520 \
--max-players 50 \
--server-name "My Hytale Server" \
--motd "Welcome!" \
--gamemode Adventure
# Lifecycle
openhytale server start --name my-server
openhytale server stop --name my-server
openhytale server restart --name my-server
# Monitoring
openhytale server status --name my-server
openhytale server list
openhytale server logs --name my-server
openhytale server logs --name my-server --follow
# Console access
openhytale server attach --name my-server
# Maintenance
openhytale server update --name my-server
openhytale server remove --name my-server --forceservices:
hytale:
image: ghcr.io/leetcraft/openhytale-server:latest
container_name: hytale-server
environment:
# Server binding
SERVER_IP: "0.0.0.0"
SERVER_PORT: "5520"
# Server display
HYTALE_SERVER_NAME: "My Server"
HYTALE_MOTD: "Welcome to my server!"
HYTALE_PASSWORD: ""
# Game settings
HYTALE_MAX_PLAYERS: "100"
HYTALE_MAX_VIEW_RADIUS: "32"
HYTALE_WORLD: "default"
HYTALE_GAMEMODE: "Adventure"
# System
TZ: "UTC"
DEBUG: "FALSE"
PROD: "FALSE"
# Backups (optional)
HYTALE_BACKUP: "TRUE"
HYTALE_BACKUP_DIR: "./backups"
HYTALE_BACKUP_FREQUENCY: "60"
HYTALE_BACKUP_MAX_COUNT: "10"
restart: unless-stopped
ports:
- "5520:5520/udp"
volumes:
- ./data:/home/container
- /etc/machine-id:/etc/machine-id:ro
tty: true
stdin_open: true| Variable | Default | Description |
|---|---|---|
SERVER_PORT |
5520 |
UDP port for game traffic |
SERVER_IP |
0.0.0.0 |
Bind address |
TZ |
UTC |
Timezone |
DEBUG |
FALSE |
Enable debug logging |
PROD |
FALSE |
Production mode checks |
JAVA_ARGS |
`` | Additional JVM arguments |
| Variable | Default | Description |
|---|---|---|
HYTALE_SERVER_NAME |
Hytale Server |
Display name in server browser |
HYTALE_MOTD |
`` | Message of the Day |
HYTALE_PASSWORD |
`` | Server password (empty = public) |
HYTALE_MAX_PLAYERS |
100 |
Maximum concurrent players |
HYTALE_MAX_VIEW_RADIUS |
32 |
Maximum chunk view distance |
HYTALE_COMPRESSION |
false |
Local network compression |
HYTALE_WORLD |
default |
World folder name |
HYTALE_GAMEMODE |
Adventure |
Default game mode |
| Variable | Default | Description |
|---|---|---|
HYTALE_AUTH_MODE |
authenticated |
Auth mode: authenticated, offline |
HYTALE_BACKUP |
FALSE |
Create backup on startup |
HYTALE_BACKUP_DIR |
./backups |
Backup directory |
HYTALE_BACKUP_FREQUENCY |
`` | Auto-backup interval (minutes) |
HYTALE_BACKUP_MAX_COUNT |
`` | Max backups to keep |
HYTALE_OWNER_NAME |
`` | Server owner name |
HYTALE_OWNER_UUID |
`` | Server owner UUID |
HYTALE_MODS |
`` | Additional mods directory |
HYTALE_TRANSPORT |
QUIC |
Transport protocol |
HYTALE_DISABLE_SENTRY |
FALSE |
Disable error reporting |
HYTALE_ALLOW_OP |
FALSE |
Auto-grant operator |
HYTALE_ACCEPT_EARLY_PLUGINS |
FALSE |
Allow experimental plugins |
All server data is stored in the mounted volume:
./data/
├── config.json # Server configuration
├── game/
│ ├── Server/ # Server binaries
│ └── Assets.zip # Game assets
├── worlds/ # World data
├── backups/ # Backup archives
└── logs/ # Server logs
- Docker 20.10+ (or Docker Desktop)
- Architecture: x86_64/amd64 (ARM64 pending Hytale support)
- Memory: 4GB+ RAM recommended
- Storage: 6GB+ free space
- Network: UDP port 5520 (configurable)
git clone https://github.com/Leetcraft/openhytale-server.git
cd openhytale-server
go build -o openhytale ./cmd/openhytaledocker build -t openhytale-server -f docker/Dockerfile docker/If authentication fails:
- Ensure you have a valid Hytale account
- Check your internet connection
- Try
auth login deviceagain - For persistent auth:
auth persistence Encrypted
# Fix volume permissions
chmod -R 755 ./data- Check logs:
docker logs hytale-server - Verify port 5520/udp is not in use
- Ensure Docker has enough memory allocated
# View detailed logs
docker logs --tail 100 hytale-server
# Check container status
docker inspect hytale-serverApache License 2.0 - See LICENSE