Hyrouter is a highly flexible, plugin-driven Layer 7 referral router and QUIC entrypoint for Hytale.
10K+
Hyrouter is a highly flexible, plugin-driven Layer 7 referral router and QUIC entrypoint for Hytale.
It gives you a clean “front door” for your Hytale backend fleet: Hyrouter decides where a client should go and redirects it instantly.
It accepts an incoming QUIC connection from a Hytale client, inspects minimal metadata (TLS SNI + the first Connect packet), applies optional plugins, and then either:
Disconnect packet, orClientReferral packet.Hyrouter is not a reverse proxy and does not forward gameplay traffic.
Important
Due to a client-side bug, connection redirects via `ClientReferral` only work correctly starting with Hytale client version `pre-release/2026.01.29`. We expect the next regular client release (Patch 3) to roll this fix out to all players.
Hyrouter is part of the Hybrowse Server Stack — production-grade building blocks for running Hytale at scale:
hybrowse/hyrouterghcr.io/hybrowse/hyrouterJoin the Hybrowse Discord Server to get help and stay up to date: https://hybrowse.gg/discord
match.hostname / match.hostnames)round_robin, random, weighted, least_loaded, p2c)Hyrouter is useful when you want a lightweight, stateless entrypoint in front of one or many Hytale servers:
tls.alpn; recommended: hytale/* to pick the highest hytale/<n> offered by the client, currently typically hytale/2).Connect, packet ID 0).ClientReferral (packet ID 18) to redirect the client, orDisconnect (packet ID 1) if a plugin denies the connection.listen: ":5520"
tls:
alpn:
- hytale/*
routing:
default:
strategy: round_robin
backends:
- host: play.hyvane.com
port: 5520
routes:
- match:
hostname: "alpha.example.com"
pool:
strategy: weighted
backends:
- host: alpha-backend-a.internal
port: 5520
weight: 1
- host: alpha-backend-b.internal
port: 5520
weight: 3
Run with the development config:
go run ./cmd/hyrouter -config dev/config.dev.yaml
The default config file used when -config is omitted is config.yaml.
Or using go-task:
task run
Enable debug logging:
task run:debug
In separate terminals:
task plugin:grpc:run
task plugin:wasm:build
Then run Hyrouter with a config that enables both plugins:
task run:plugins
If you need detailed logs:
task run:plugins:debug
Build:
docker build -t hyrouter:local .
Or pull a published image:
docker pull hybrowse/hyrouter:latest
Run (mount your config):
docker run --rm \
-p 5520:5520/udp \
-v $(pwd)/config.yaml:/app/config.yaml \
hyrouter:local
Hyrouter supports YAML and JSON config files.
Development examples are provided under dev/:
dev/config.dev.yaml (no plugins)dev/config.plugins.dev.yaml (plugins enabled)dev/config.kubernetes.pods.dev.yaml (Kubernetes discovery via Pods)dev/config.kubernetes.endpointslices.dev.yaml (Kubernetes discovery via EndpointSlices)dev/config.agones.observe.dev.yaml (Agones discovery observe mode)dev/config.agones.allocate.dev.yaml (Agones discovery allocate mode)See:
docs/README.mddocs/architecture.mddocs/configuration.mddocs/routing.mddocs/plugin-configuration.mddocs/referral-envelope.mddocs/plugin-development.mddocs/troubleshooting.mdUse -log-level to control verbosity:
hyrouter -config config.yaml -log-level debug
Default is info.
Common tasks:
task fmttask tidytask testtask coverHyrouter implements:
round_robin, random, weighted, least_loaded, p2c)ClientReferral and Disconnect packet handlingHyrouter also includes discovery providers and examples under dev/:
Planned work includes additional discovery providers and more advanced selection/sorting.
This is an unofficial community project and is not affiliated with or endorsed by Hypixel Studios Canada Inc.
This repository and image do not redistribute proprietary Hytale game/server files. Server operators are responsible for complying with the Hytale EULA, Terms of Service, and Server Operator Policies (including monetization and branding rules): https://hytale.com/server-policies
Current repository license: LICENSE
Non-binding summary (see LICENSE for the full, binding terms):
See also: NOTICE.
For an overview (including commercial agreements and trademarks), see:
Content type
Image
Digest
sha256:502021534…
Size
18.9 MB
Last updated
8 months ago
docker pull hybrowse/hyrouter