Deploy a Hytale dedicated server using Docker for easy management, updates, and portability.
Create a directory structure for your Hytale server.
mkdir -p ~/hytale-docker/server-files
cd ~/hytale-dockerCreate a docker-compose.yml file with the Hytale server configuration.
version: '3.8'
services:
hytale:
image: indifferentbroccoli/hytale-server:latest
container_name: hytale-server
restart: unless-stopped
ports:
- "5520:5520/udp"
volumes:
- ./server-files:/data
environment:
- JAVA_MEMORY=4G
- TZ=UTC
stdin_open: true
tty: trueEnvironment Variables
JAVA_MEMORY - Server memory allocation (default: 4G)TZ - Server timezoneStart the Hytale server container.
# Start the server in detached mode
docker-compose up -d
# View logs
docker-compose logs -f hytaleAttach to the container and authenticate with your Hytale account.
# Attach to the server console
docker attach hytale-server
# In the console, type:
/auth login deviceCtrl+P then Ctrl+Q to detachImportant
The authentication is required only once and persists across container restarts.
Common Docker commands for managing your Hytale server.
# Stop the server
docker-compose down
# Restart the server
docker-compose restart
# Update to latest version
docker-compose pull
docker-compose up -d
# View logs
docker-compose logs -f
# Attach to console
docker attach hytale-serverAfter first run, your server-files directory will contain:
server-files/
├── Server/
│ ├── HytaleServer.jar # Main server executable
│ └── HytaleServer.aot # AOT cache for faster startup
├── Assets.zip # Game assets
├── .cache/ # Optimized file cache
├── logs/ # Server log files
├── mods/ # Installed mods
├── universe/ # World and player data
│ └── worlds/ # Individual world folders
├── bans.json # Banned players
├── config.json # Server configuration
├── permissions.json # Permission configuration
└── whitelist.json # Whitelisted playersOnce your server is running and authenticated, players can connect using:
123.45.67.89:5520)curl ifconfig.me