🐳 Alpine-based Docker image for Hytale servers with auto-setup and OAuth2 support.
Find a file
2026-01-18 16:53:41 +00:00
.forgejo/workflows revert 80b3835efd 2026-01-15 09:43:30 +00:00
.github/workflows Add GitHub Actions workflow for building and publishing Docker image to Docker Hub 2026-01-18 15:28:52 +00:00
examples Add fail2ban example for Hytale server protection 2026-01-18 16:53:41 +00:00
.gitattributes project reorg 2026-01-18 13:29:17 +00:00
docker-compose.yml Update volume path in docker-compose.yml to use ./data 2026-01-18 13:29:53 +00:00
Dockerfile project reorg 2026-01-18 13:29:17 +00:00
entrypoint.sh Add support for additional configuration options in config.json 2026-01-18 16:38:06 +00:00
LICENSE Initial commit 2026-01-15 08:40:47 +00:00
README.md Add support for additional configuration options in config.json 2026-01-18 16:38:06 +00:00

Hytale Server Docker

🐳 Alpine-based Docker image for Hytale servers with auto-setup and OAuth2 support.

This repository provides a Docker image to easily set up and run a Hytale server using Docker. The image is based on Alpine Linux for a lightweight footprint and includes an automatic setup process that downloads the necessary server files.

Usage

I recommend using Docker Compose for easy management of the Hytale server container. Create a docker-compose.yml file with the following content:

services:
  hytale:
    image: ghcr.io/zuedev/hytale-server-docker
    ports:
      - "5520:5520/udp"
    volumes:
      - ./data:/app/Hytale
    restart: unless-stopped
    stdin_open: true
    tty: true

Then, run the following command to start the server:

docker compose up -d

Then you will need to check the container logs to see the progress of the server setup, as well as authentication instructions:

docker compose logs -f hytale

Once the Hytale server itself is downloaded and running, you will need to attach to it to complete the OAuth2 setup:

docker compose attach hytale

Type auth login device in the container terminal and follow the instructions to authenticate your server. Once authenticated, you can detach from the container by pressing Ctrl + P followed by Ctrl + Q.

Authentication Persistence

I recommend running auth persistence Encrypted within the container to ensure that your authentication tokens are saved securely and persist across container restarts. Make sure to reauthenticate after running this command to store the tokens.

Configuration

The following environment variables can be used to configure the Hytale server:

Variable Default Description
HYTALE_MINIMUM_MEMORY 128M Minimum memory allocation for the JVM
HYTALE_MAXIMUM_MEMORY 90% of system memory Maximum memory allocation for the JVM
HYTALE_SERVER_PORT 5520 Port the server binds to
HYTALE_PARAMETERS (see below) Override all JVM/server parameters
HYTALE_ADDITIONAL_PARAMETERS (none) Append additional parameters to the default
HYTALE_SERVER_NAME (none) Override ServerName in config.json
HYTALE_MOTD (none) Override MOTD in config.json
HYTALE_PASSWORD (none) Override Password in config.json
HYTALE_MAX_PLAYERS (none) Override MaxPlayers in config.json
HYTALE_MAX_VIEW_RADIUS (none) Override MaxViewRadius in config.json

Example with Custom Memory Settings

services:
  hytale:
    image: ghcr.io/zuedev/hytale-server-docker
    ports:
      - "5520:5520/udp"
    volumes:
      - ./data:/app/Hytale
    environment:
      - HYTALE_MINIMUM_MEMORY=512M
      - HYTALE_MAXIMUM_MEMORY=4096M
    restart: unless-stopped
    stdin_open: true
    tty: true

This project is not affiliated with or endorsed by Hypixel Studios. Hytale and all related trademarks are the property of their respective owners. This project is intended for educational and personal use only.

License

This project is released into the public domain under The Unlicense.