Files
hytale-f2p-mirror/server/README.md
sanasol 552ec42d6c Add one-click dedicated server scripts for Hytale F2P
- server/start.sh: Linux/macOS starter with auto-download, auto-update,
  F2P launcher detection (game files + bundled JRE), and token fetch
- server/start.bat: Windows equivalent using PowerShell for JSON/UUID
- server/README.md: Beginner-friendly guide with playit.gg networking
- Remove obsolete server_scripts_2.zip

Scripts auto-detect F2P launcher install (including custom installPath
from config.json), copy game files locally if available, download
missing files (HytaleServer.jar, Assets.zip, dualauth-agent.jar),
and check for updates on every launch via ETag/GitHub releases API.
2026-02-23 00:55:38 +01:00

4.2 KiB

Hytale F2P - Dedicated Server

Host your own Hytale server. The scripts handle everything automatically.

Prerequisites

  • Java 25+Windows installer | Other platforms
    • If you have the F2P launcher installed, its bundled Java will be used automatically
  • Internet connection for first launch (downloads ~3.5 GB of game files)
    • If you have the F2P launcher installed, game files are copied locally (no download needed)

Quick Start

Windows

  1. Download start.bat to an empty folder
  2. Double-click start.bat
  3. Done — server starts on port 5520

Linux / macOS

mkdir hytale-server && cd hytale-server
curl -O https://raw.githubusercontent.com/amiayweb/Hytale-F2P/develop/server/start.sh
chmod +x start.sh
./start.sh

What the scripts do

  1. Search for the F2P launcher install (default paths + custom installPath from config)
  2. Use bundled Java from the launcher, or fall back to system Java (25+ required)
  3. Copy game files from the launcher install if available
  4. Download missing files: HytaleServer.jar (~150 MB), Assets.zip (~3.3 GB), dualauth-agent.jar (~5 MB)
  5. Check for updates on every launch (server, assets, and agent)
  6. Generate a persistent server ID
  7. Fetch authentication tokens
  8. Start the server with dual-auth support

Connecting

  • Same PC: Connect to localhost:5520 or 127.0.0.1:5520
  • LAN: Connect to your local IP (e.g. 192.168.1.x:5520)
  • Internet: Forward port 5520 (TCP + UDP) on your router, friends connect to your public IP

If you're behind CGNAT or can't port forward, playit.gg gives you a public address for free:

  1. Go to playit.gg and create an account
  2. Download and run the playit agent
  3. Create a tunnel — select Hytale as the game type, local port 5520
  4. Share the generated address with friends (e.g. something.joinplayit.gg:12345)

Other options

  • Radmin VPN — virtual LAN, all players must install it
  • ZeroTier — same idea, create a network, friends join and connect via VPN IP

Configuration

Set environment variables before running the script:

Variable Default Description
SERVER_NAME My Hytale Server Server name shown in listings
BIND_ADDRESS 0.0.0.0:5520 IP and port to listen on
JVM_XMX (Java default) Max memory (e.g. 4G, 8G)
JVM_XMS (Java default) Initial memory
AUTH_MODE authenticated Auth mode (authenticated or none)
HYTALE_AUTH_DOMAIN auth.sanasol.ws Auth server domain
DOWNLOAD_BASE https://download.sanasol.ws/download File download URL

Example (Linux):

SERVER_NAME="Epic Server" JVM_XMX=4G ./start.sh

Example (Windows):

set SERVER_NAME=Epic Server
set JVM_XMX=4G
start.bat

Files created

your-folder/
├── start.sh / start.bat     # Startup script
├── HytaleServer.jar          # Game server (auto-downloaded)
├── Assets.zip                 # Game assets (auto-downloaded)
├── dualauth-agent.jar         # Auth agent (auto-downloaded)
├── .server-id                 # Persistent server UUID
├── .versions/                 # Version tracking for auto-updates
├── Server/                    # Server data (created by server)
│   ├── config.json
│   └── worlds/
└── UserData/                  # Player saves

Troubleshooting

Problem Solution
java not found Install the F2P launcher (includes Java) or install Java 25+ from adoptium.net
Download fails Check internet connection. Files can be downloaded manually from https://download.sanasol.ws/download/
Port already in use Change port: BIND_ADDRESS=0.0.0.0:5521 ./start.sh
Out of memory Set more RAM: JVM_XMX=4G ./start.sh
Friends can't connect Forward port 5520 (TCP+UDP) on your router, or use playit.gg if you can't port forward

Discord

Need help? Join the community: https://discord.gg/Fhbb9Yk5WW