Pour tout administrateur de serveur Hytale, disposer d’informations fiables et en temps réel sur l’état de son serveur est fondamental. Que ce soit pour alimenter un tableau de bord, surveiller l’activité ou intégrer des services externes, l’accès aux données du serveur est une nécessité. C’est précisément le rôle du plugin Hytale Query.
Ce plugin expose, via un simple point d’accès HTTP, des informations structurées sur votre serveur, allant du nombre de joueurs connectés à la liste des plugins installés. Il s’agit d’un outil puissant, sécurisé et indispensable pour une gestion de serveur professionnelle.
Prérequis : le plugin WebServer
Avant toute chose, il est crucial de comprendre que ce plugin a une dépendance majeure : le plugin Hytale WebServer. Le plugin Query s’appuie sur ce dernier pour créer et gérer le point d’accès HTTP.
Assurez-vous donc d’avoir installé et configuré correctement le plugin WebServer avant de procéder à l’installation du plugin Query.
Installation du plugin
L’installation du plugin Query est un processus simple qui ne prend que quelques instants.
- Téléchargez la dernière version du fichier JAR du plugin Hytale Query depuis son projet de développement officiel.
- Copiez ce fichier
.jardirectement dans le dossiermods/de votre serveur Hytale. - Redémarrez votre serveur.
Le plugin sera automatiquement chargé et activé, prêt à répondre aux requêtes.
Utilisation et point d’accès
Une fois installé, le plugin est immédiatement fonctionnel. Il n’enregistre qu’un seul point d’accès (ou endpoint) pour récupérer toutes les informations.
Le point d’accès (Endpoint)
Pour interroger votre serveur, il vous suffit d’envoyer une requête GET à l’URL suivante :/Nitrado/Query
Cette requête, effectuée sur l’adresse IP et le port de votre serveur web configuré via le plugin WebServer, renverra une réponse au format JSON contenant les informations du serveur.
Exemple de réponse JSON
Voici un exemple de la structure des données que vous pouvez recevoir. Notez que le contenu réel dépendra des permissions accordées à l’utilisateur effectuant la requête.
{
"Server": {
"Name": "Mon Super Serveur Hytale",
"Version": "2026.01.10-ab2cd69ff",
"MaxPlayers": 100
},
"Universe": {
"CurrentPlayers": 15,
"DefaultWorld": "monde_principal"
},
"Players": [
{
"Name": "JoueurExemple",
"UUID": "e5c4ef9a-6281-406e-8a71-21028279f547",
"World": "monde_principal"
}
],
"Plugins": {
"Nitrado:WebServer": {
"Version": "1.0.0",
"Enabled": true,
"State": "ENABLED"
},
"Nitrado:Query": {
"Version": "1.0.0",
"Enabled": true,
"State": "ENABLED"
}
}
}
Gestion des permissions
La véritable puissance de ce plugin réside dans son intégration fine avec le système de permissions d’Hytale. Par défaut, aucune information n’est exposée. Vous devez explicitement accorder des permissions pour que les données soient visibles. Cela garantit que seules les personnes autorisées peuvent accéder aux informations sensibles.
La réponse JSON est dynamiquement filtrée en fonction des permissions de l’utilisateur (ou du groupe) qui effectue la requête. Si un utilisateur ne dispose que de la permission pour voir les informations de l’univers, seule la section "Universe" apparaîtra dans la réponse.
Les permissions-clés
Le plugin définit quatre permissions distinctes, chacune contrôlant l’accès à une section spécifique des données.
| Permission | Section de données correspondante |
|---|---|
nitrado.query.web.read.server | Informations sur le serveur (Server) |
nitrado.query.web.read.universe | Informations sur l’univers (Universe) |
nitrado.query.web.read.players | Liste des joueurs connectés (Players) |
nitrado.query.web.read.plugins | Liste des plugins installés (Plugins) |
Comment rendre certaines informations publiques ?
Une utilisation très courante est d’afficher publiquement le nom du serveur et le nombre de joueurs connectés, par exemple pour un affichage sur un site web. Pour ce faire, il suffit d’attribuer les permissions correspondantes au groupe ANONYMOUS dans votre fichier permissions.json.
Ce groupe spécial est utilisé pour toutes les requêtes effectuées sans authentification.
Exemple de configuration dans permissions.json :
{
"Groups": {
"ANONYMOUS": [
"nitrado.query.web.read.server",
"nitrado.query.web.read.universe"
]
}
}
Avec cette configuration, n’importe qui interrogeant l’endpoint /Nitrado/Query recevra uniquement les sections Server et Universe, sans avoir besoin de s’authentifier.
