Hytale - Créer un serveur
Ce guide te montre comment mettre en place et configurer un serveur Hytale dédié, étape par étape — depuis les fichiers serveur jusqu’aux options de lancement et paramètres avancés. C’est tiré de la documentation officielle du studio Hypixel Studios.
🧱 1. Préparer l’environnement technique
Avant d’installer quoi que ce soit, faut être sûr que ton système est prêt à faire tourner un serveur de jeu, et pas un petit script Python.
📌 Java
Hytale nécessite Java 25 minimum. Pourquoi ? C’est la version du JDK que le jeu utilise pour toute sa logique serveur. Les versions plus anciennes bloquent certaines optimisations réseau ou classes Java utilisées par Hytale.
Vérifier ta version :
java -version
Si t’as quelque chose du genre :
java version "25.0.1"
tu es bon.
Si ce n’est pas Java 25, installe la bonne version avant de continuer.
📥 2. Obtenir les fichiers serveur
Tu as deux façons de procéder :
Méthode A — Copier depuis ton client Hytale
1\\\\. Ouvre ton install Hytale.
2\\\\. Cherche le dossier Server dans :
%appdata%/Hytale/install/release/
(si tu es sous Windows)
3\\\\. Copie :
Server/ Assets.zip HytaleServer.jar
dans un nouveau dossier serveur (par exemple D:\HytaleServer).
Pourquoi ça fonctionne ? Le client Hytale contient tout le nécessaire pour exécuter le serveur — c’est juste que ce n’est pas livré sous forme d’installateur serveur séparé.
Méthode B — Utiliser le Hytale Downloader CLI
C’est une version en ligne de commande fournie par Hypixel Studios pour télécharger et mettre à jour automatiquement les fichiers serveur.
L’avantage :
✔ Mises à jour plus simples
✔ Pas de copier/coller manuel
✔ Peut être scripté dans un CI / serveur
Mais l’inconvénient :
✘ C’est plus technique à configurer la première fois.
▶️ 3. Démarrer le serveur — commande de base
Dans ton dossier serveur, lance :
java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip
Détaillons ça :
java
C’est l’exécuteur Java standard.
-XX:AOTCache=HytaleServer.aot
C’est une option avancée d’optimisation qui accélère le lancement du serveur. Quand Hytale démarre, il compile des classes Java. Cette option permet de générer un cache compilé à l’avance. Ça donne un démarrage et un runtime plus fluides.
-jar HytaleServer.jar
Désigne le binaire serveur Hytale.
--assets Assets.zip
Pour que Hytale sache où trouver les ressources du jeu : textures, sons, datas.
Sans cet argument, le serveur crache une erreur parce qu’il ne trouve pas les assets.
🛠️ 4. Authentifier ton serveur (truc qui bloque beaucoup de monde)
Quand tu lances le serveur pour la première fois, il va afficher dans la console :
Server needs to be authenticated Use /auth login device
Tu choisis ce qu’il te propose :
> /auth login device
Puis il te donne un code unique, que tu dois copier/coller ici :
📌 https://accounts.hytale.com/device
Tu entres le code dans le navigateur, puis tu te connectes avec ton compte Hytale.
Ce mécanisme est important car Hytale utilise l’authentification pour vérifier que ton serveur est légitime. Sans ça, ton serveur ne sera pas visible dans les listes officielles.
🧠 5. Toutes les Options de Lancement (arguments)
Tape :
java -jar HytaleServer.jar --help
Tu vas voir une liste d’arguments. Voilà ce qu’ils signifient concrètement :
🔌 Réseau & IP
--bind
Par défaut :
0.0.0.0:5520
-
0.0.0.0signifie que le serveur écoute toutes les interfaces. -
:5520est le port par défaut de Hytale (UDP !).
Si tu veux :
--bind 192.168.1.150:5520
Alors seul cet IP et port acceptera des connexions.
Important : Hytale utilise UDP, pas TCP.
Ça change tout :
✔ Configuration des routeurs / pare-feu
✔ Performance
✔ Moins de overhead
Assure-toi d’ouvrir UDP 5520 dans ton firewall.
🔒 Authentification
--auth-mode
Valeurs possibles :
-
authenticated— le mode normal, obligatoire pour les serveurs publics. -
offline— désactive l’auth (uniquement pour test en LAN).
Bref : ne touche pas à ça si tu veux que ton serveur soit visible publiquement.
👑 Permissions & Admin
--allow-op
Permet d’autoriser des ops (opérateurs, aka admins) dès le lancement. Sinon tu devras ajouter manuellement les opérateurs via le système de permissions serveur.
💾 Backups automatiques
Hytale propose un système de sauvegarde interne :
--backup
Active les backups.
--backup-dir
Définit où stocker les backups.
--backup-frequency
Détermine toutes les combien de minutes une sauvegarde est faite.
Ex :
--backup --backup-dir backups --backup-frequency 30
Ça fait une sauvegarde toutes les 30 minutes dans backups/.
🧾 6. Les fichiers de configuration (plus de détails)
📌 config.json
C’est le cœur de ton serveur.
À l’intérieur :
-
serverName— nom affiché dans la liste publique -
maxPlayers— nombre de joueurs autorisés -
viewDistance— distance de chargement des chunks (plus haut = plus de ressources) -
whitelist— activer / désactiver la whitelist
Changer ces valeurs modifie l’expérience globale.
🌍 universe/
C’est là où tes mondes (maps) sont stockés.
Chaque monde a :
-
sa propre config
-
ses propres joueurs
-
son propre cycle jour/nuit
📊 7. Plugins & Mods
Tu peux étendre ton serveur :
-
plugins officiels
-
plugins communautaires (non-officiels)
Ils vont dans :
mods/ plugins/
⚠ Attention :
Les plugins non officiels peuvent casser ton serveur si mal configurés.
🧪 8. Optimisation pratique
💡 View distance
Sur un serveur, une high view distance = belles panoramas, mais +CPU & +RAM.
Commence prudement :
viewDistance = 8
Puis augmente si ton serveur tient la charge.
💻 Logs
Tous les logs sont dans :
logs/
C’est ta fenêtre de diagnostic : crash, erreurs, warnings, performances.
❗ 9. Configuration prête à l’emploi : config.json
Voici un fichier config.json que tu peux coller directement dans ton dossier de serveur Hytale (config.json).
📌 Important : Remplace les valeurs entre crochets [...] par ce qui t’intéresse (par exemple le nom de ton serveur).
{
/ Nom du serveur qui apparaît dans la liste publique /
"serverName": "Mon Serveur Hytale",
/ Message visible dans la liste des serveurs /
“motd”: “Bienvenue sur mon serveur Hytale!”,
/ Port UDP du serveur (par défaut 5520) /
“port”: 5520,
/ Nombre maximum de joueurs /
“maxPlayers”: 20,
/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\* Active ou non la whitelist :
Si true, seuls les joueurs dans whitelist.json peuvent se connecter \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
“whitelistEnabled”: false,
/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\* Distance de vue en chunks (plus élevé = plus de calculs CPU)
Conseillé entre 6 et 12 pour la plupart des serveurs \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
“viewDistance”: 10,
/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\* La seed du monde (entier) :
Met une valeur aléatoire ou une spécifique pour générer un monde unique \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
“worldSeed”: 123456789,
/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\* Temps avant que les joueurs inactifs soient déconnectés
(en secondes, 0 = désactivé) \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
“idleTimeout”: 300,
/ Autoriser les opérateurs (admins) à entrer sans config préalable /
“allowOp”: true,
/ Configuration des backups automatiques /
“backups”: {
“enabled”: true, // Active les backups
”directory”: “backups”, // Où enregistrer les backups
”frequencyMinutes”: 30 // Fréquence en minutes
},
/ _Logging_ / "logging": { "enableConsoleOutput": true, "logLevel": "INFO" / _DEBUG / INFO / WARN / ERROR_ / } }
🧠 10. Explication paramètre par paramètre
serverName
C’est le nom visible dans la liste publique des serveurs. Il aide les joueurs à savoir où ils se connectent.
motd (Message Of The Day)
Un petit message que les joueurs voient avant d’entrer dans ton serveur. C’est la première impression — fais-le cool.
port
Le port réseau sur lequel le serveur écoute. Hytale utilise UDP sur ce port, donc pense à ouvrir le port 5520 UDP sur ton firewall / routeur.
maxPlayers
Plus tu mets un grand nombre ici, plus tu as besoin de puissance serveur. Pour débuter, 20 est une bonne base.
whitelistEnabled
-
true: seuls les joueurs danswhitelist.jsonpourront se connecter. -
false(par défaut) : n’importe qui peut se connecter.
viewDistance
C’est la distance à laquelle le serveur envoie les chunks aux joueurs. Plus c’est haut, plus ça consomme de CPU/RAM.
Recommandation pour débutants :
Ne dépasse pas ~12.
📄 11. Exemple de whitelist.json
Si tu veux activer la whitelist, voici un exemple complet :
{
"players": [
"Dany",
"Samuel",
"Judith"
]
}
Explication :
Chaque nom doit correspondre au pseudo Hytale exact d’un joueur autorisé.
🛡️ 12. Exemple de permissions.json
Ce fichier gère les droits des joueurs, comme qui peut kick, ban, utiliser des commandes, etc.
{
"groups": {
"default": {
"permissions": [
"hytale.chat.send",
"hytale.world.interact"
]
},
"moderator": {
"permissions": [
"hytale.chat.send",
"hytale.world.interact",
"hytale.commands.moderation.kick",
"hytale.commands.moderation.ban"
]
},
"admin": {
"permissions": [
"hytale.*"
]
}
},
"players": {
"Dany": "admin",
"Samuel": "moderator"
}
}
Explication rapide :
-
default: permissions de base pour tous. -
moderator: permissions pour modérer (kick / ban).
admin : toutes les permissions (hytale. donne tout).
- Dans
"players"tu assignes chaque pseudo à un groupe.
🔥 13. Options de lancement avec explications
Voici une ligne de commandes de lancement prête à l’emploi pour un serveur Hytale :
java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --bind 0.0.0.0:5520 --auth-mode authenticated --backup --backup-dir backups --backup-frequency 30
Explication des options :
-
--assets Assets.zip: indique où trouver les ressources du jeu. -
--bind 0.0.0.0:5520: écoute toutes les interfaces réseau sur le port 5520 (UDP). -
--auth-mode authenticated: active l’auth obligatoire pour que le serveur soit visible publiquement. -
--backup: active les backups internes. -
--backup-dir backups: dossier où stocker les backups. -
--backup-frequency 30: fait un backup toutes les 30 minutes.
🟢 14. Checklist rapide avant de lancer
1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\. Java 25 est installé.
2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\. Port UDP 5520 est ouvert dans le pare-feu et redirigé (si tu es derrière un routeur).
3\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\. config.json, permissions.json et whitelist.json sont en place.
4\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\. Tu as authentifié le serveur via /auth login device.
5\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\. Tu lances avec la commande optimisée ci-dessus.



Commentaires
Réagis à l’article directement ici.