Configuration avancée du serveur Hytale
Important : Sauvegardez toujours les fichiers de votre serveur avant de modifier la configuration. Arrêtez votre serveur avant d'éditer tout fichier de configuration.
Emplacements des fichiers de configuration
| Fichier | Localisation | Rôle |
|---|---|---|
config.json |
Dossier racine du serveur | Paramètres principaux du serveur |
permissions.json |
Dossier racine du serveur | Rôles et permissions des joueurs |
bans.json |
Dossier racine du serveur | Liste des joueurs bannis |
whitelist.json |
Dossier racine du serveur | Ancienne liste des joueurs autorisés. Hytale 0.6.6 et versions ultérieures la lisent une fois, la convertissent en permissions de connexion et la renomment whitelist.json.migrated
|
config.json |
universe/worlds/[WorldName]/ |
Paramètres par monde |
Configuration du serveur (config.json)
Le config.json principal à la racine de votre serveur contrôle les paramètres globaux du serveur. Voici la structure utilisée par la mise à jour 7 de Hytale :
{
"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": {}
}
| Paramètre | Description | Recommandé |
|---|---|---|
ServerName |
Nom d’affichage visible par les joueurs | Le nom de votre serveur |
MOTD |
Message du jour | Message de bienvenue court |
Password |
Mot de passe du serveur (vide = aucun mot de passe) | Laisser vide pour un serveur public |
MaxPlayers |
Nombre maximal de joueurs simultanés | Selon la RAM (20-50 en général) |
MaxViewRadius |
Distance de vue des joueurs (en chunks) | 12 pour les performances |
LocalCompressionEnabled |
Active la compression du réseau local. Hytale 0.7.0 ne la lit plus, donc elle n’a aucun effet | false |
Defaults.World |
Nom du monde par défaut dans lequel les joueurs apparaissent | « default » |
Defaults.GameMode |
Mode de jeu par défaut pour les nouveaux joueurs | « Adventure » ou « Creative » |
Conseil performances : Le manuel officiel de Hytale recommande de limiter MaxViewRadius à 12 chunks (384 blocs) pour les performances comme pour le gameplay. La valeur par défaut est 32, qui est aussi le maximum depuis la mise à jour 7. Une valeur plus élevée dans config.json est ramenée à 32 avec un avertissement au démarrage du serveur.
Modification des fichiers de configuration
Pour les clients Survival Servers
Le plus simple est Server Config, le premier bouton sous TOOLS : modifiez les paramètres, choisissez Apply & Restart ou Apply, puis cliquez sur Save.
- Connectez-vous au Command Center
- Cliquez sur Stop pour arrêter votre serveur
- Sous TOOLS, cliquez sur config.json ou world/config, ou utilisez l’accès FTP
- Modifiez le fichier souhaité et enregistrez
- Cliquez sur Démarrer pour redémarrer votre serveur
Pour les serveurs auto-hébergés
- Arrêtez votre serveur (tapez
stopou appuyez surCtrl+C) - Ouvrez le fichier de configuration dans un éditeur de texte
- Effectuez vos modifications et enregistrez
- Démarrez votre serveur
Configuration du monde (universe/worlds/[WorldName]/config.json)
Chaque monde possède son propre fichier de configuration.
{
"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": {}
}
| Paramètre | Description |
|---|---|
Seed |
Seed de génération du monde |
IsPvpEnabled |
Autoriser le combat joueur contre joueur |
IsFallDamageEnabled |
Les joueurs subissent des dégâts de chute |
IsGameTimePaused |
Figer le cycle jour/nuit |
IsSpawningNPC |
Activer l’apparition des mobs |
IsAllNPCFrozen |
Fige tous les PNJ sur place |
IsTicking |
La simulation du monde tourne |
IsBlockTicking |
Mises à jour de blocs (cultures, liquides) |
IsSavingPlayers |
Enregistre les données des joueurs |
IsSavingChunks |
Enregistrer les modifications du monde |
SaveNewChunks |
Enregistrer les nouveaux chunks générés sur le disque |
IsUnloadingChunks |
Décharger les chunks vides |
ClientEffects |
Paramètres des effets visuels (soleil, bloom, rayons de soleil) |
DeleteOnUniverseStart |
Supprimer le monde au démarrage du serveur |
DeleteOnRemove |
Supprimer les fichiers du monde lors du retrait |
Pré-génération du monde
La pré-génération crée le terrain à l’avance, ce qui réduit le lag lorsque les joueurs explorent.
Méthode 1 : Exploration en jeu
- Démarrez votre serveur et connectez-vous en tant qu’admin
- Survolez la carte pour générer les chunks
- Le serveur enregistre les chunks au fur et à mesure de votre exploration
Méthode 2 : mods de pré-génération
- Ajoutez un mod de pré-génération dans votre dossier
mods/ - Configurez la taille de la zone et son point central
- Exécutez la commande de pré-génération
Méthode 3 : ligne de commande
java -jar HytaleServer.jar --help
Vérifiez les options de pré-génération intégrées.
Architecture en maillage de serveurs (réseaux multi-serveurs)
Hytale prend en charge nativement la connexion de plusieurs serveurs entre eux, sans proxy tiers comme BungeeCord.
Ces fonctionnalités sont implémentées via l’API Java du serveur :
| Fonctionnalité | Méthode API | Description |
|---|---|---|
| Parrainage de joueurs | PlayerRef.referToServer(host, port, payload) |
Transférer des joueurs entre serveurs avec une charge utile optionnelle de 4 Ko |
| Redirection de connexion | PlayerSetupConnectEvent.referToServer(host, port) |
Redirection pendant la négociation, avant la connexion complète |
| Repli en cas de déconnexion (Disconnect Fallback) | Bientôt disponible | Reconnexion automatique au serveur de secours en cas de plantage du serveur |
Sécurité : les données de redirection (referral) transitent par le client et peuvent être altérées. Signez-les de manière cryptographique (par exemple avec un HMAC et un secret partagé) afin que les serveurs destinataires puissent en vérifier l’authenticité.
Proxies personnalisés : créez des serveurs proxy avec Netty QUIC. Les définitions de paquets sont disponibles dans HytaleServer.jar à l’emplacement com.hypixel.hytale.protocol.packets.
Arguments de ligne de commande
java [JVM options] -jar HytaleServer.jar [server options]
Options JVM
| Option | Description | Exemple |
|---|---|---|
-Xms |
Allocation mémoire initiale | -Xms4G
|
-Xmx |
Allocation mémoire maximale | -Xmx4G
|
-XX:+UseG1GC |
Utilisez le ramasse-miettes G1 | Recommandé pour 8 Go et plus |
-XX:AOTCache |
Utiliser le cache AOT pour un démarrage plus rapide | -XX:AOTCache=HytaleServer.aot
|
Options du serveur
| Option | Description | Par défaut |
|---|---|---|
--assets <path> |
Chemin vers Assets.zip | ..\HytaleAssets
|
--bind <ip:port> |
Adresse et port d’écoute | 0.0.0.0:5520 |
--auth-mode <mode> |
authenticated ou offline |
authentifié |
--backup |
Activer les sauvegardes automatiques | Désactivé |
--backup-dir <path> |
Emplacement de stockage des sauvegardes | None |
--backup-frequency <mins> |
Intervalle de sauvegarde en minutes | 30 |
--disable-sentry |
Désactiver les rapports de plantage | Activé |
--allow-op |
Autoriser les commandes d’opérateur | Désactivé |
--accept-early-plugins |
Charger les plugins expérimentaux (non pris en charge) | Désactivé |
Exemples de scripts de lancement
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
Serveur de production (Linux - start.sh) :
#!/bin/bash java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60
Serveur de développement :
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip --auth-mode offline --disable-sentry
Configuration du pare-feu
Hytale utilise le protocole QUIC sur UDP (et non 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
Voir aussi
- Guide : comment créer un serveur Hytale
- Comment rejoindre un serveur Hytale
- Comment installer des mods sur un serveur Hytale
- Comment mettre à jour un serveur Hytale
- Site officiel de Hytale
- Support et documentation Hytale
- Louer un serveur Hytale chez Survival Servers