Aller au contenu
danux.be
Hytale - Créer un serveur

Hytale - Créer un serveur

par Dany
📖 9 minutes de lecture (1693 mots)

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.0 signifie que le serveur écoute toutes les interfaces.

  • :5520 est 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 dans whitelist.json pourront 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.