Skip to content
This repository was archived by the owner on Jan 14, 2026. It is now read-only.
/ hyserver-go Public archive

A proof-of-concept Hytale server listener implementation in Go.

Notifications You must be signed in to change notification settings

didntpot/hyserver-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hyserver-go

A proof-of-concept Hytale server listener implementation in Go.

About

This project was a learning exercise exploring Hytale's protocol in Go. The architecture and patterns are heavily inspired by @Sandertv's excellent gophertunnel library for Minecraft: Bedrock Edition (except I made it worse). For an actual, maintained Hytale protocol implementation in Go, check out: gotale/gophertale.

What's Implemented

Transport Layer

  • QUIC-based networking with TLS 1.3
  • ALPN protocol negotiation (hytale/1)
  • Self-signed certificate generation
  • Bidirectional packet streaming

Protocol

  • Packet serialization with variable-length encoding, null bits, and offset tables
  • Implemented packets:
    • Connect / ConnectAccept / Disconnect
    • Ping / Pong / Status
    • AuthGrant / AuthToken / ServerAuthToken

Authentication

  • Insecure mode (Although the client at the moment will NOT allow this)
  • Authenticated mode with full Hytale auth flow:
    • Identity token validation via JWKS
    • Authorization grant exchange
    • Access token validation with certificate fingerprint binding
    • Scope verification (hytale:client, hytale:editor, hytale:server)

About

A proof-of-concept Hytale server listener implementation in Go.

Topics

Resources

Stars

Watchers

Forks

Languages