Configuration avancée du serveur Hytale
Ce guide couvre la configuration avancée du serveur Hytale, notamment les paramètres du monde, les arguments de ligne de commande et l’architecture de maillage de serveurs.
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 | Liste des joueurs autorisés |
config.json |
universe/worlds/[WorldName]/ |
Paramètres par monde |
Configuration du serveur (config.json)
Le fichier config.json principal, à la racine de votre serveur, contrôle les paramètres globaux du serveur :
{
"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"
}
}
| 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 |
Activer la compression du réseau local | 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 performance : le manuel officiel de Hytale recommande de limiter MaxViewRadius à 12 chunks (384 blocs), tant pour les performances que pour le gameplay. La valeur par défaut de 32 équivaut à environ 64 chunks Minecraft et augmentera fortement l’utilisation de la RAM.
Modification des fichiers de configuration
Pour les clients Survival Servers
- Connectez-vous à votre panneau de contrôle
- Cliquez sur Stop pour arrêter votre serveur
- Cliquez sur Fichiers de configuration ou utilisez 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. Voici la structure documentée de la configuration d’un monde :
{
"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 (obligatoire) | None |
--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 | ./backups |
--backup-frequency <mins> |
Intervalle de sauvegarde en minutes | 60 |
--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
- Site officiel de Hytale
- Support et documentation Hytale
- Louer un serveur Hytale chez Survival Servers