Hytale: Erweiterte Serverkonfiguration
Diese Anleitung behandelt die erweiterte Hytale-Serverkonfiguration, einschließlich Welteinstellungen, Kommandozeilenargumenten und der Server-Mesh-Architektur.
Wichtig: Sichere deine Serverdateien immer, bevor du Konfigurationsänderungen vornimmst. Stoppe deinen Server, bevor du Konfigurationsdateien bearbeitest.
Speicherorte der Konfigurationsdateien
| Datei | Standort | Zweck |
|---|---|---|
config.json |
Stammverzeichnis des Servers | Wichtigste Servereinstellungen |
permissions.json |
Stammverzeichnis des Servers | Spielerrollen und Berechtigungen |
bans.json |
Stammverzeichnis des Servers | Liste der gebannten Spieler |
whitelist.json |
Stammverzeichnis des Servers | Liste der erlaubten Spieler |
config.json |
universe/worlds/[WorldName]/ |
Einstellungen pro Welt |
Serverkonfiguration (config.json)
Die zentrale config.json im Stammverzeichnis deines Servers steuert die serverweiten Einstellungen:
{
"Version": 3,
"ServerName": "Hytale Server",
"MOTD": "",
"Password": "",
"MaxPlayers": 100,
"MaxViewRadius": 32,
"LocalCompressionEnabled": false,
"Defaults": {
"World": "default",
"GameMode": "Adventure"
},
"ConnectionTimeouts": {
"JoinTimeouts": {}
},
"RateLimit": {},
"Modules": {},
"LogLevels": {},
"Mods": {},
"DisplayTmpTagsInStrings": false,
"PlayerStorage": {
"Type": "Hytale"
}
}
| Einstellung | Beschreibung | Empfohlen |
|---|---|---|
ServerName |
Anzeigename, den Spieler sehen | Dein Servername |
MOTD |
Nachricht des Tages | Kurze Willkommensnachricht |
Password |
Serverpasswort (leer = kein Passwort) | Leer lassen für öffentlich |
MaxPlayers |
Maximale Anzahl gleichzeitiger Spieler | Abhängig vom RAM (typisch 20-50) |
MaxViewRadius |
Sichtweite der Spieler (in Chunks) | 12 für die Performance |
LocalCompressionEnabled |
Komprimierung im lokalen Netzwerk aktivieren | false |
Defaults.World |
Standard-Weltname, in dem Spieler spawnen | "default" |
Defaults.GameMode |
Standard-Spielmodus für neue Spieler | "Adventure" oder "Creative" |
Performance-Tipp: Das offizielle Hytale-Handbuch empfiehlt, MaxViewRadius auf 12 Chunks (384 Blöcke) zu begrenzen, sowohl für die Performance als auch fürs Gameplay. Der Standardwert 32 entspricht etwa 64 Minecraft-Chunks und erhöht den RAM-Verbrauch deutlich.
Konfigurationsdateien bearbeiten
Für Kunden von Survival Servers
- Melde dich in deinem Webinterface an
- Klicke auf Stop, um deinen Server herunterzufahren
- Klicke auf Configuration Files oder nutze FTP Access
- Bearbeite die gewünschte Datei und speichere
- Klicke auf Start, um deinen Server neu zu starten
Für selbst gehostete Server
- Stoppe deinen Server (gib
stopein oder drückeCtrl+C) - Öffne die Konfigurationsdatei in einem Texteditor
- Nimm deine Änderungen vor und speichere
- Starte deinen Server
Weltkonfiguration (universe/worlds/[WorldName]/config.json)
Jede Welt hat ihre eigene Konfigurationsdatei. Unten ist die dokumentierte Struktur der Weltkonfiguration:
{
"Version": 4,
"UUID": {
"$binary": "j2x/idwTQpen24CDfH1+OQ==",
"$type": "04"
},
"Seed": 1767292261384,
"WorldGen": {
"Type": "Hytale",
"Name": "Default"
},
"WorldMap": {
"Type": "WorldGen"
},
"ChunkStorage": {
"Type": "Hytale"
},
"ChunkConfig": {},
"IsTicking": true,
"IsBlockTicking": true,
"IsPvpEnabled": false,
"IsFallDamageEnabled": true,
"IsGameTimePaused": false,
"GameTime": "0001-01-01T08:26:59.761606129Z",
"ClientEffects": {
"SunHeightPercent": 100.0,
"SunAngleDegrees": 0.0,
"BloomIntensity": 0.30000001192092896,
"BloomPower": 8.0,
"SunIntensity": 0.25,
"SunshaftIntensity": 0.30000001192092896,
"SunshaftScaleFactor": 4.0
},
"RequiredPlugins": {},
"IsSpawningNPC": true,
"IsSpawnMarkersEnabled": true,
"IsAllNPCFrozen": false,
"GameplayConfig": "Default",
"IsCompassUpdating": true,
"IsSavingPlayers": true,
"IsSavingChunks": true,
"SaveNewChunks": true,
"IsUnloadingChunks": true,
"IsObjectiveMarkersEnabled": true,
"DeleteOnUniverseStart": false,
"DeleteOnRemove": false,
"ResourceStorage": {
"Type": "Hytale"
},
"Plugin": {}
}
| Einstellung | Beschreibung |
|---|---|
Seed |
Seed für die Weltgenerierung |
IsPvpEnabled |
Kämpfe zwischen Spielern erlauben |
IsFallDamageEnabled |
Spieler nehmen Fallschaden |
IsGameTimePaused |
Tag-/Nachtzyklus einfrieren |
IsSpawningNPC |
Mob-Spawning aktivieren |
IsAllNPCFrozen |
Alle NPCs an Ort und Stelle einfrieren |
IsTicking |
Weltsimulation läuft |
IsBlockTicking |
Block-Updates (Pflanzen, Flüssigkeiten) |
IsSavingPlayers |
Spielerdaten speichern |
IsSavingChunks |
Weltänderungen speichern |
SaveNewChunks |
Neu generierte Chunks auf die Festplatte speichern |
IsUnloadingChunks |
Leere Chunks entladen |
ClientEffects |
Einstellungen für visuelle Effekte (Sonne, Bloom, Sonnenstrahlen) |
DeleteOnUniverseStart |
Welt beim Serverstart löschen |
DeleteOnRemove |
Weltdateien beim Entfernen löschen |
Welt-Vorgenerierung
Die Vorgenerierung erstellt das Gelände im Voraus und verringert Lag, wenn Spieler erkunden.
Methode 1: Erkundung im Spiel
- Starte deinen Server und melde dich als Admin an
- Fliege über die Map, um Chunks zu generieren
- Der Server speichert Chunks, während du erkundest
Methode 2: Pre-Generation-Mods
- Füge deinem Ordner
mods/eine Pre-Gen-Mod hinzu - Lege die Größe und den Mittelpunkt des Bereichs fest
- Führe den Befehl zur Vorgenerierung aus
Methode 3: Kommandozeile
java -jar HytaleServer.jar --help
Prüfe, ob es integrierte Optionen zur Vorgenerierung gibt.
Server-Mesh-Architektur (Multi-Server-Netzwerke)
Hytale bringt integrierte Unterstützung mit, um mehrere Server ohne Drittanbieter-Proxys wie BungeeCord miteinander zu verbinden.
Diese Funktionen sind über die Java API des Servers implementiert:
| Funktion | API-Methode | Beschreibung |
|---|---|---|
| Spieler-Empfehlung | PlayerRef.referToServer(host, port, payload) |
Spieler zwischen Servern übertragen, optional mit einer Payload von 4KB |
| Verbindungsumleitung | PlayerSetupConnectEvent.referToServer(host, port) |
Umleitung während des Handshakes vor der vollständigen Verbindung |
| Disconnect-Fallback | Demnächst verfügbar | Automatische Neuverbindung zum Fallback, wenn der Server abstürzt |
Sicherheit: Referral-Payloads laufen über den Client und können manipuliert werden. Signiere Payloads kryptografisch (z. B. HMAC mit einem gemeinsamen Secret), damit empfangende Server die Echtheit prüfen können.
Eigene Proxys: Baue Proxyserver mit Netty QUIC. Paketdefinitionen findest du in HytaleServer.jar unter com.hypixel.hytale.protocol.packets.
Kommandozeilenargumente
java [JVM options] -jar HytaleServer.jar [server options]
JVM-Optionen
| Option | Beschreibung | Beispiel |
|---|---|---|
-Xms |
Anfängliche Speicherzuweisung | -Xms4G
|
-Xmx |
Maximale Speicherzuweisung | -Xmx4G
|
-XX:+UseG1GC |
Garbage Collector G1 verwenden | Empfohlen ab 8 GB |
-XX:AOTCache |
AOT-Cache für schnelleren Start verwenden | -XX:AOTCache=HytaleServer.aot
|
Serveroptionen
| Option | Beschreibung | Standard |
|---|---|---|
--assets <path> |
Pfad zur Assets.zip (erforderlich) | None |
--bind <ip:port> |
Adresse und Port, an denen der Server lauscht | 0.0.0.0:5520 |
--auth-mode <mode> |
authenticated oder offline |
authenticated |
--backup |
Automatische Backups aktivieren | Deaktiviert |
--backup-dir <path> |
Speicherort für Backups | ./backups |
--backup-frequency <mins> |
Backup-Intervall in Minuten | 60 |
--disable-sentry |
Absturzberichte deaktivieren | Aktiviert |
--allow-op |
Operator-Befehle erlauben | Deaktiviert |
--accept-early-plugins |
Experimentelle Plugins laden (nicht unterstützt) | Deaktiviert |
Beispiel-Startskripte
Production server (Windows - start.bat):
@echo off java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60 pause
Produktionsserver (Linux - start.sh):
#!/bin/bash java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60
Entwicklungsserver:
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip --auth-mode offline --disable-sentry
Firewall-Konfiguration
Hytale nutzt das QUIC-Protokoll über UDP (nicht TCP).
Windows PowerShell:
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow
Linux (iptables):
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
Linux (ufw):
sudo ufw allow 5520/udp
Siehe auch
- Hytale Server erstellen: Anleitung
- So trittst du einem Hytale Server bei
- So installierst du Mods auf einem Hytale Server
- Offizielle Hytale-Website
- Hytale Support & Dokumentation
- Einen Hytale Server bei Survival Servers mieten