Comment créer un serveur Hytale optimisé en 2026 ?

Créez votre serveur Hytale optimisé avec notre guide complet : installation Java 25, configuration serveur, arguments JVM optimisés, maillage interne et architecture multiserveur.
Capture d'écran du jeu vidéo Hytale avec paysage épique
Découvrez l'univers captivant de Hytale, un monde de magie, d'aventures et de créativité sans limites.
Partager

Avec le lancement tant attendu de Hytale, de nombreux joueurs et administrateurs souhaitent créer leur propre serveur dédié pour accueillir leur communauté. Contrairement à d’autres jeux sandbox, Hytale propose une architecture serveur moderne et performante basée sur Java 25 et le protocole QUIC, offrant des possibilités infinies en termes de personnalisation et d’optimisation.

Ce guide complet vous accompagne pas à pas dans la création et l’optimisation de votre serveur Hytale, depuis l’installation des prérequis jusqu’aux configurations avancées pour garantir des performances optimales.

Configuration requise et prérequis techniques

Avant de vous lancer dans la création de votre serveur, il est essentiel de comprendre les exigences matérielles minimales. Un serveur Hytale nécessite au minimum 4 Go de RAM et Java 25 installé sur votre système. Les architectures x64 et arm64 sont toutes deux supportées, ce qui offre une grande flexibilité en termes de matériel.

La consommation de ressources dépend fortement du comportement des joueurs et de la configuration de votre monde. Les deux principaux facteurs de performance sont :

  • CPU : sollicité par le nombre de joueurs connectés et le nombre d’entités actives (PNJ, monstres)
  • RAM : consommée par la surface de monde chargée, déterminée par la distance d’affichage et l’exploration des joueurs

Il est recommandé de surveiller l’utilisation de la RAM et du CPU pendant les premières sessions pour ajuster la configuration. Un symptôme typique de pression mémoire est une augmentation de l’utilisation du CPU due au ramasse-miettes Java (garbage collector).

Installation de Java 25

La première étape consiste à installer Java 25, version requise pour exécuter un serveur Hytale. Nous recommandons d’utiliser la distribution Adoptium (anciennement AdoptOpenJDK) pour sa stabilité et son support à long terme.

Sur Linux (Ubuntu/Debian) :

# Télécharger et installer Java 25 depuis Adoptium
wget https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.1%2B8/OpenJDK25U-jdk_x64_linux_hotspot_25.0.1_8.tar.gz
sudo tar -xzf OpenJDK25U-jdk_x64_linux_hotspot_25.0.1_8.tar.gz -C /opt/
sudo update-alternatives --install /usr/bin/java java /opt/jdk-25.0.1+8/bin/java 1

Sur Windows :

Téléchargez l’installateur depuis le site officiel d’Adoptium et suivez l’assistant d’installation.

Vérification de l’installation :

java --version

Le résultat attendu doit afficher :

openjdk 25.0.2 2026-01-20 LTS
OpenJDK Runtime Environment Temurin-25.0.2+10 (build 25.0.2+10-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.2+10 (build 25.0.2+10-LTS, mixed mode, sharing)

Obtention des fichiers serveur

Deux méthodes permettent d’obtenir les fichiers nécessaires au fonctionnement du serveur Hytale : la copie manuelle depuis le launcher ou l’utilisation du Hytale Downloader CLI.

Méthode 1 : Copie manuelle depuis le Launcher

Cette méthode est idéale pour des tests rapides, mais peut s’avérer fastidieuse pour maintenir le serveur à jour. Les fichiers se trouvent dans le répertoire d’installation du launcher :

Windows :

%appdata%\Hytale\install\release\package\game\latest

Linux :

$XDG_DATA_HOME/Hytale/install/release/package/game/latest

MacOS :

~/Application Support/Hytale/install/release/package/game/latest

Copiez le dossier Server ainsi que le fichier Assets.zip vers votre répertoire serveur.

Méthode 2 : Hytale Downloader CLI (recommandée)

Pour les serveurs de production, le Hytale Downloader CLI est fortement recommandé car il facilite grandement les mises à jour. Cet outil en ligne de commande gère automatiquement le téléchargement des fichiers serveur avec authentification OAuth2.

# Télécharger la dernière version du serveur
./hytale-downloader

# Afficher la version du jeu sans télécharger
./hytale-downloader -print-version

# Télécharger depuis la branche pre-release
./hytale-downloader -patchline pre-release

# Spécifier un chemin de destination personnalisé
./hytale-downloader -download-path /home/hytale/game.zip

Si vous hébergez plusieurs serveurs ou souhaitez comprendre les coulisses d’un serveur dédié pour jeux en ligne, cette méthode automatisée vous fera gagner un temps précieux lors des mises à jour.

Lancement et configuration initiale du serveur

Une fois les fichiers en place, le lancement du serveur s’effectue via une commande Java optimisée qui exploite le cache AOT (Ahead-Of-Time) pour améliorer les temps de démarrage.

Commande de lancement optimisée

java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip

Le paramètre -XX:AOTCache charge le cache de compilation pré-entraîné fourni par Hypixel Studios, permettant de réduire significativement le temps de démarrage en évitant la phase de « warmup » du compilateur JIT (Just-In-Time).

Authentification du serveur

Lors du premier lancement, le serveur nécessite une authentification OAuth2. Cette étape est cruciale pour activer les communications avec les API de service Hytale et prévenir les abus.

/auth login device

Le système affichera :

===================================================================
                      DEVICE AUTHORIZATION
===================================================================
Visit: https://accounts.hytale.com/device
Enter code: ABCD-1234

Or visit: https://accounts.hytale.com/device?user_code=ABCD-1234
===================================================================
Waiting for authorization (expires in 900 seconds)...

Ouvrez l’URL dans votre navigateur, connectez-vous avec votre compte Hytale et autorisez l’appareil. Une fois validé :

Authentication successful! Mode: OAUTH_DEVICE

Note importante : Il existe une limite de 100 serveurs par licence Hytale pour prévenir les abus pendant l’Early Access. Si vous avez besoin de plus de capacité, vous devrez acquérir des licences supplémentaires ou demander un compte Server Provider.

Arguments Java optimisés pour performances maximales

L’optimisation des arguments JVM (Java Virtual Machine) est cruciale pour garantir des performances optimales, particulièrement sur un serveur accueillant de nombreux joueurs simultanément.

Configuration mémoire

Les paramètres -Xms et -Xmx contrôlent respectivement la mémoire initiale et maximale allouée au processus Java :

java -Xms4G -Xmx8G -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip

Recommandations par nombre de joueurs :

  • 1-10 joueurs : -Xms2G -Xmx4G
  • 10-30 joueurs : -Xms4G -Xmx8G
  • 30-50 joueurs : -Xms8G -Xmx12G
  • 50+ joueurs : -Xms12G -Xmx16G ou plus

Optimisation du garbage collector

Pour réduire les pauses liées au ramasse-miettes, utilisez le garbage collector G1GC avec des paramètres optimisés :

java -Xms8G -Xmx8G \
  -XX:+UseG1GC \
  -XX:MaxGCPauseMillis=50 \
  -XX:G1HeapRegionSize=32M \
  -XX:+ParallelRefProcEnabled \
  -XX:+PerfDisableSharedMem \
  -XX:AOTCache=HytaleServer.aot \
  -jar HytaleServer.jar --assets Assets.zip

Explication des paramètres :

  • -XX:+UseG1GC : Active le garbage collector G1, optimal pour les applications serveur
  • -XX:MaxGCPauseMillis=50 : Cible des pauses de 50ms maximum pour le GC
  • -XX:G1HeapRegionSize=32M : Définit la taille des régions heap à 32Mo
  • -XX:+ParallelRefProcEnabled : Active le traitement parallèle des références
  • -XX:+PerfDisableSharedMem : Désactive les fichiers de performances partagés (améliore légèrement les performances)

Configuration réseau et pare-feu

Une particularité importante de Hytale : le serveur utilise le protocole QUIC sur UDP et non TCP comme la plupart des jeux. Cette architecture moderne offre de meilleures performances réseau mais nécessite une configuration spécifique.

Port par défaut et personnalisation

Le port par défaut est 5520/UDP. Pour modifier ce port :

java -jar HytaleServer.jar --assets Assets.zip --bind 0.0.0.0:3500

Configuration du pare-feu

Windows Defender Firewall :

New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow

Linux avec iptables :

sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4

Linux avec ufw :

sudo ufw allow 5520/udp
sudo ufw reload

Redirection de port (NAT)

Si votre serveur est derrière un routeur, vous devez configurer une redirection de port pour le port UDP 5520 vers l’adresse IP locale de votre machine serveur. La configuration exacte dépend de votre modèle de routeur, mais le principe reste identique.

Si vous souhaitez approfondir la configuration réseau avancée, notamment pour sécuriser l’accès à votre serveur, consultez notre guide sur comment créer un serveur VPN WireGuard qui aborde des concepts similaires de routage et de sécurité.

Structure des fichiers et configuration du serveur

Une fois le serveur lancé, plusieurs fichiers et répertoires sont automatiquement créés :

CheminDescription
.cache/Cache pour les fichiers optimisés
logs/Journaux du serveur
mods/Mods installés
universe/Données de monde et joueurs
bans.jsonListe des joueurs bannis
config.jsonConfiguration principale du serveur
permissions.jsonConfiguration des permissions
whitelist.jsonListe blanche des joueurs autorisés

Configuration d’un monde

Chaque monde possède son propre fichier config.json dans universe/worlds/[nom-du-monde]/. Voici un exemple de configuration :

{
  "Version": 4,
  "Seed": 1767292261384,
  "WorldGen": {
    "Type": "Hytale",
    "Name": "Default"
  },
  "IsPvpEnabled": false,
  "IsFallDamageEnabled": true,
  "IsGameTimePaused": false,
  "IsSpawningNPC": true,
  "IsSavingPlayers": true,
  "IsSavingChunks": true
}

Les paramètres les plus fréquemment modifiés sont :

  • IsPvpEnabled : Active/désactive le PvP
  • IsFallDamageEnabled : Active/désactive les dégâts de chute
  • IsSpawningNPC : Active/désactive l’apparition des PNJ

Optimisation de la distance d’affichage

La distance d’affichage (view distance) est le principal facteur de consommation de RAM. Hytale utilise par défaut une distance de 12 chunks (384 blocs), soit l’équivalent de 24 chunks Minecraft.

Pour limiter l’utilisation mémoire, vous pouvez ajuster cette valeur dans les arguments de lancement :

java -jar HytaleServer.jar --assets Assets.zip --max-view-distance 8

Recommandations :

  • Serveur 4-8 Go RAM : max-view-distance 8 (256 blocs)
  • Serveur 8-12 Go RAM : max-view-distance 10 (320 blocs)
  • Serveur 12+ Go RAM : max-view-distance 12 (384 blocs, valeur par défaut)

Plugin PerformanceSaver

Pour une gestion dynamique optimale, installez le plugin Nitrado:PerformanceSaver qui ajuste automatiquement la distance d’affichage en fonction de la charge serveur :

# Télécharger et placer dans le répertoire mods/
wget https://plugins.hytale.com/nitrado/PerformanceSaver.jar -O mods/PerformanceSaver.jar

Ce plugin surveille l’utilisation CPU et RAM et réduit temporairement la view distance lors des pics de charge, garantissant une expérience fluide même dans des situations extrêmes.

Installation de mods et plugins

L’écosystème Hytale supporte les mods au format .jar ou .zip. L’installation est simple : déposez les fichiers dans le répertoire mods/.

# Télécharger un mod depuis CurseForge ou autre source
wget https://example.com/mon-mod.jar -O mods/mon-mod.jar

# Redémarrer le serveur pour charger le mod

Important : Lors du développement de plugins, désactivez Sentry (système de rapport de crash) pour éviter de soumettre vos erreurs de développement :

java -jar HytaleServer.jar --assets Assets.zip --disable-sentry

Plugins recommandés

Plusieurs plugins professionnels développés par les partenaires Nitrado et Apex Hosting sont disponibles :

  • Nitrado:WebServer : Serveur web intégré pour applications et API
  • Nitrado:Query : Expose le statut du serveur (nombre de joueurs, etc.) via HTTP
  • ApexHosting:PrometheusExporter : Métriques détaillées du serveur et JVM pour monitoring

Architecture multiserveur avancée

Hytale propose nativement des mécanismes de routage entre serveurs, éliminant le besoin d’un proxy inverse comme BungeeCord utilisé sur Minecraft.

Transfert de joueurs (Player Referral)

Le système de referral permet de transférer un joueur connecté vers un autre serveur en transmettant optionnellement un payload de 4 Ko :

PlayerRef.referToServer("play.monreseau.com", 5520, payloadData);

Attention sécurité : Le payload transite par le client et peut être altéré. Utilisez une signature cryptographique (HMAC avec secret partagé) pour vérifier l’authenticité côté serveur de destination.

Redirection lors de la connexion

Pendant la phase de connexion, un serveur peut rediriger le joueur vers une autre adresse :

PlayerSetupConnectEvent.referToServer("lobby.monreseau.com", 5520, null);

Cas d’usage :

  • Équilibrage de charge entre serveurs de jeu
  • Routage régional automatique
  • Obligation de passer par un lobby avant d’accéder aux serveurs de jeu

Fallback de déconnexion

Lors d’une déconnexion inattendue (crash serveur, coupure réseau), le client se reconnecte automatiquement à un serveur de fallback préconfiguré plutôt que de retourner au menu principal.

Cette fonctionnalité sera déployée dans les semaines suivant le lancement de l’Early Access et permettra de maintenir l’engagement des joueurs même lors de problèmes techniques.

Pour les administrateurs gérant une infrastructure complexe avec plusieurs serveurs, ces concepts d’architecture distribuée sont similaires à ceux utilisés dans l’installation et la configuration d’outils d’automatisation en production.

Script de démarrage automatique

Pour faciliter la gestion quotidienne de votre serveur, créez un script de démarrage qui inclut tous les paramètres optimisés :

start-server.sh (Linux) :

#!/bin/bash

# Configuration
JAVA_HOME=/opt/jdk-25.0.1+8
RAM_MIN=8G
RAM_MAX=8G
PORT=5520

# Paramètres JVM optimisés
JAVA_OPTS="-Xms${RAM_MIN} -Xmx${RAM_MAX}"
JAVA_OPTS="${JAVA_OPTS} -XX:+UseG1GC"
JAVA_OPTS="${JAVA_OPTS} -XX:MaxGCPauseMillis=50"
JAVA_OPTS="${JAVA_OPTS} -XX:G1HeapRegionSize=32M"
JAVA_OPTS="${JAVA_OPTS} -XX:+ParallelRefProcEnabled"
JAVA_OPTS="${JAVA_OPTS} -XX:+PerfDisableSharedMem"
JAVA_OPTS="${JAVA_OPTS} -XX:AOTCache=HytaleServer.aot"

# Paramètres serveur
SERVER_OPTS="--assets Assets.zip"
SERVER_OPTS="${SERVER_OPTS} --bind 0.0.0.0:${PORT}"
SERVER_OPTS="${SERVER_OPTS} --max-view-distance 10"

# Démarrage
${JAVA_HOME}/bin/java ${JAVA_OPTS} -jar HytaleServer.jar ${SERVER_OPTS}

Rendez le script exécutable :

chmod +x start-server.sh
./start-server.sh

start-server.bat (Windows) :

@echo off
set JAVA_HOME=C:\Program Files\Java\jdk-25.0.1+8
set RAM=8G
set PORT=5520

"%JAVA_HOME%\bin\java.exe" -Xms%RAM% -Xmx%RAM% ^
  -XX:+UseG1GC ^
  -XX:MaxGCPauseMillis=50 ^
  -XX:G1HeapRegionSize=32M ^
  -XX:+ParallelRefProcEnabled ^
  -XX:AOTCache=HytaleServer.aot ^
  -jar HytaleServer.jar ^
  --assets Assets.zip ^
  --bind 0.0.0.0:%PORT% ^
  --max-view-distance 10

pause

Monitoring et maintenance

Un serveur de production nécessite un monitoring actif pour anticiper les problèmes. Installez le plugin ApexHosting:PrometheusExporter pour exposer des métriques détaillées :

# Installation du plugin
wget https://plugins.hytale.com/apex/PrometheusExporter.jar -O mods/PrometheusExporter.jar

Les métriques sont exposées sur http://localhost:9090/metrics et peuvent être ingérées par Prometheus et visualisées avec Grafana.

Métriques surveillées :

  • Nombre de joueurs connectés par monde
  • Utilisation CPU et RAM
  • Taux de tick du serveur (TPS)
  • Latence réseau moyenne
  • Taille des chunks chargés

Sauvegardes automatiques

Activez les sauvegardes automatiques pour protéger vos données :

java -jar HytaleServer.jar --assets Assets.zip \
  --backup \
  --backup-dir /backups/hytale \
  --backup-frequency 30

Ce système crée une sauvegarde complète toutes les 30 minutes dans le répertoire spécifié.

Dépendance Maven pour développeurs

Les développeurs de mods peuvent utiliser HytaleServer.jar comme dépendance Maven pour accéder aux API internes :

pom.xml :

<repositories>
  <repository>
    <id>hytale-release</id>
    <url>https://maven.hytale.com/release</url>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>com.hypixel.hytale</groupId>
    <artifactId>Server</artifactId>
    <version>2026.01.22-6f8bdbdc4</version>
  </dependency>
</dependencies>

La version la plus récente est disponible sur maven.hytale.com.

Fonctionnalités à venir

Hypixel Studios prévoit plusieurs améliorations majeures dans les mois suivant l’Early Access :

  • Catalogue de découverte de serveurs : un annuaire accessible depuis le menu principal permettant aux joueurs de découvrir et rejoindre facilement des serveurs Hytale publics
  • Système de parties : groupes de joueurs pouvant naviguer ensemble entre serveurs et files de jeu
  • Passerelle de paiement intégrée : système de transaction sécurisé directement dans le client
  • Support des enregistrements SRV : connexion simplifiée via nom de domaine sans spécifier de port
  • API officielles : endpoints pour résolution UUID/nom, profils joueurs, télémétrie serveur

Conclusion

Créer et optimiser un serveur Hytale nécessite une compréhension approfondie de l’architecture Java et des spécificités du protocole QUIC. En suivant ce guide, vous disposez désormais de toutes les connaissances nécessaires pour déployer un serveur performant, sécurisé et évolutif.

Les arguments JVM optimisés, la configuration réseau adaptée et l’utilisation de plugins de monitoring vous permettront d’offrir une expérience de jeu fluide à vos joueurs, même sous forte charge.

N’oubliez pas que la clé d’un serveur réussi réside dans l’équilibre entre performances techniques et expérience utilisateur. Testez différentes configurations, surveillez vos métriques et ajustez en conséquence pour trouver le setup optimal adapté à votre communauté.

Smartphone reconditionné posé sur une table en bois

Smartphone reconditionné : pourquoi la garantie 30 mois change tout en 2026

Précédent
Montagnes couvertes de neige avec un ciel ensoleillé

UX, data et performance : comment jeux, streaming et plateformes redéfinissent l’expérience utilisateur

Suivant
Notre newsletter sans aucun spam !
Notre newsletter sans aucun spam !
Notre newsletter sans aucun spam !
Restez dans la boucle
Notre newsletter sans aucun spam !
On partage nos mises à jour régulièrement — avec vous.
Une newsletter, des insights geeks… et zéro blabla inutile.