Hytale: Erweiterte Serverkonfiguration
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 | Alte Liste erlaubter Spieler. Hytale 0.6.6 und neuer lesen sie einmal ein, wandeln sie in Beitrittsberechtigungen um und benennen sie in whitelist.json.migrated um
|
config.json |
universe/worlds/[WorldName]/ |
Einstellungen pro Welt |
Serverkonfiguration (config.json)
Die zentrale Datei config.json im Stammverzeichnis deines Servers steuert die serverweiten Einstellungen. So ist sie in Hytale Update 7 aufgebaut:
{
"Version": 4,
"ServerName": "Hytale Server",
"MOTD": "",
"Password": "",
"MaxPlayers": 100,
"MaxViewRadius": 32,
"LocalCompressionEnabled": false,
"Defaults": {
"World": "default",
"GameMode": "Adventure",
"HardcoreMode": "None",
"CrashRecovery": {}
},
"ConnectionTimeouts": {},
"RateLimit": {},
"Modules": {},
"LogLevels": {},
"Mods": {},
"DisplayTmpTagsInStrings": false,
"PlayerStorage": {
"Type": "Hytale"
},
"DefaultModsEnabled": true,
"RequireJoinPermission": false,
"UniverseResourceStorage": {
"Type": "Hytale"
},
"BanStorage": {
"Type": "Disk",
"Path": "bans.json"
},
"AuthCredentialStore": {
"Type": "Encrypted",
"Path": "auth.enc"
},
"Update": {},
"Backup": {},
"WorldMap": {}
}
| 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 |
Aktiviert die Komprimierung im lokalen Netzwerk. Hytale 0.7.0 liest den Wert nicht mehr, er bewirkt also nichts | 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 ist 32, seit Update 7 zugleich das Maximum. Ein höherer Wert in config.json wird beim Serverstart mit einer Warnung auf 32 gesenkt.
Konfigurationsdateien bearbeiten
Für Kunden von Survival Servers
Am einfachsten geht es über Server Config, den ersten Button unter TOOLS: Ändere die Einstellungen, wähle Apply & Restart oder Apply und klicke dann auf Save.
- Melde dich im Command Center an
- Klicke auf Stop, um deinen Server herunterzufahren
- Klicke unter TOOLS auf config.json oder world/config oder nutze FTP-Zugang
- 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.
{
"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 zu Assets.zip | ..\HytaleAssets
|
--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 | None |
--backup-frequency <mins> |
Backup-Intervall in Minuten | 30 |
--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
- So aktualisierst du einen Hytale-Server
- Offizielle Hytale-Website
- Hytale Support & Dokumentation
- Einen Hytale Server bei Survival Servers mieten