Comment fonctionne VoxelBench

VoxelBench se compose de deux moitiés : un plugin qui mesure, surveille et profile votre serveur Minecraft, et voxelbench.com, qui note, classe, compare et alerte. Cette page suit tout ce qui circule entre les deux : qui en prend l'initiative, comment c'est authentifié et où cela aboutit.

Deux moitiés

Le plugin, sur votre serveur

Le plugin VoxelBench tourne dans votre serveur Paper, Spigot ou Folia. Il a trois métiers :

  • Mesurer. Un benchmark complet (/bench start), un stress limit qui cherche le point de rupture du serveur (/bench stresslimit), un test isolé (/bench test) ou un profil personnalisé. Le plugin exécute les tests ; c'est voxelbench.com qui calcule le score.
  • Surveiller. Une fois le monitoring à distance activé, il envoie les chiffres du serveur chaque minute, un signal de vie toutes les 30 secondes et les événements qu'il détecte. Il a aussi son propre tableau de bord web, dont voxelbench.com n'a pas besoin.
  • Profiler. Un profileur qui montre quels plugins consomment le temps de tick, et une inspection mémoire qui montre quels plugins occupent la mémoire. Leurs résultats restent sur le serveur, sauf si vous en envoyez un vous-même.

Pour l'installer et lancer un premier benchmark, voyez Premiers pas.

Le site

voxelbench.com transforme ce que le plugin envoie en quelque chose d'utilisable :

  • il note chaque benchmark (voir Comment fonctionne le scoring) ;
  • il classe les rapports publics et compare serveurs et offres d'hébergement ;
  • il conserve vos rapports, résultats de tests unitaires, profils et rapports mémoire dans votre compte ;
  • il surveille vos serveurs avec des graphiques en direct et vous alerte sur le site, par email ou sur Discord (voir Vue d'ensemble du monitoring) ;
  • il lance lui-même des benchmarks grâce à l'auto-bench, en envoyant un robot sur votre serveur (voir L'auto-bench sur le site) ;
  • il répond aux scripts et aux agents par son API et son connecteur pour Claude (voir API et jetons et Brancher Claude sur votre compte).

Le classement, les statistiques, les pages des hébergeurs et les rapports publics sont ouverts à tous, sans compte.

Tous les échanges en un coup d'œil

ÉchangeÀ l'initiative deCe qui circuleComment c'est authentifiéOù cela aboutit
Rapport de benchmark ou de stress limitLe plugin, à la fin d'un runLes résultats, ainsi que le matériel et les logiciels du serveur, filtrés selon le niveau d'anonymisation du pluginUn défi à usage unique auquel seul un jar VoxelBench officiel sait répondre, plus le jeton de liaison si le serveur est liéUne page de rapport ; votre compte si le serveur est lié
Résultat de test unitaireLe plugin, après /bench test, si vous avez activé l'envoi des résultatsLe résultat d'un testLe même défi, plus le jeton de liaison (le serveur doit être lié)Tests unitaires dans votre tableau de bord, en privé
LiaisonVous, avec /bench linkL'identité du serveur, puis un jeton de liaison renvoyé au pluginUn code de 8 caractères que vous saisissez sur le site, connecté à votre compteServeurs dans votre tableau de bord
VérificationVous, depuis la page du serveur sur le siteUn code que le plugin cache dans la réponse d'état du serveurvoxelbench.com interroge votre serveur et y cherche le codeLe badge Vérifié sur le serveur
Monitoring à distanceLe plugin, une fois le monitoring activé des deux côtésSignaux de vie, relevés des chiffres du serveur, événementsLe jeton de liaisonMonitoring dans votre tableau de bord, et vos alertes
Auto-benchvoxelbench.com, selon un calendrier ou à la demandeUn robot rejoint votre serveur et remet au plugin un code à usage uniqueLe plugin demande à voxelbench.com de confirmer le code pour ce serveur ; jars officiels uniquementUn rapport ou un résultat de test rattaché au run
Envoi d'un profil ou d'un rapport mémoireVous, par une commandeUn fichier, tel quelLe jeton de liaisonProfils ou Mémoire dans votre tableau de bord, en privé
Partage d'un profil ou d'un rapport mémoireVous, par une commandeUne copie nettoyée d'un fichierLe même défi que pour les rapports ; jars officiels uniquementUn lien public non répertorié, valable 7 jours
Recherche de mise à jourLe plugin, au démarrageSon numéro de versionAucuneUn avis dans la console et en jeu

Un vidage du tas (heap dump) ne circule jamais : aucune commande, aucun bouton, aucun mécanisme automatique n'en envoie.

Rapports de benchmark et tests unitaires

À la fin d'un benchmark ou d'un stress limit, le plugin envoie ses résultats à voxelbench.com, que le serveur soit lié ou non. Un run de profil personnalisé n'est envoyé que si le profil indique submit: true.

Avant l'envoi, le plugin prouve qu'il s'agit d'une version officielle. Il demande à voxelbench.com un défi, valable 5 minutes et utilisable une seule fois, et y répond par une signature que seules les versions officielles savent produire. voxelbench.com compare en outre l'empreinte du jar avec les versions officielles qu'il connaît : un jar recompilé ou modifié est refusé. Ce que le rapport dit de votre matériel dépend du niveau d'anonymisation du plugin (voir Confidentialité et sécurité).

Le sort du rapport dépend de la liaison du serveur :

  • Serveur non lié : le rapport est anonyme. Toute personne qui en a le lien peut l'ouvrir, et il expire au bout de 30 minutes.
  • Serveur lié : le plugin joint le jeton de liaison du serveur, et le rapport rejoint votre compte, privé par défaut ; il est conservé 30 jours avec l'offre gratuite et 1 an avec Pro, Enterprise et les comptes d'hébergeur (voir Plans et limites). C'est ensuite vous qui décidez qui le voit (voir Public, non répertorié ou privé).

Un résultat de test unitaire (/bench test) n'est envoyé que si reports.backend.unit-tests vaut true dans la configuration du plugin et que le serveur est lié. Il est conservé en privé dans votre compte (voir Tests unitaires).

Lier et vérifier un serveur

Lier et vérifier prouvent deux choses différentes. Le monitoring, les envois et les tests unitaires demandent un serveur lié ; l'auto-bench, un serveur lié et vérifié.

Lier : ce serveur appartient à mon compte

  1. Lancez /bench link sur le serveur. Le plugin demande à voxelbench.com un code de 8 caractères, valable 10 minutes, et l'affiche avec un lien.
  2. Ouvrez le lien, ou allez dans Serveurs → Lier un serveur dans votre tableau de bord, connectez-vous et saisissez le code. L'adresse email de votre compte doit être vérifiée.
  3. Le plugin, qui interroge le site toutes les 5 secondes pendant 5 minutes, reçoit un jeton de liaison et l'enregistre dans sa configuration.

Le code prouve que la personne qui le saisit peut lire la console du serveur. voxelbench.com ne remet le jeton qu'à l'adresse qui a demandé le code, et n'en garde ensuite qu'une empreinte. Dès lors, le plugin joint ce jeton à ses rapports, résultats de tests, données de monitoring et envois : c'est ainsi que voxelbench.com sait qu'ils appartiennent à votre compte. Détails : Liaison de serveur et Liaison de compte.

Vérifier : je contrôle le serveur à cette adresse

  1. Sur la page du serveur lié, dans Vérification du serveur, saisissez l'adresse publique du serveur. Le site vous donne un code du type VOXEL-A1B2C, valable 10 minutes.
  2. Lancez /bench verify <code> sur le serveur. Le plugin prévient voxelbench.com et cache le code dans la réponse d'état du serveur, celle que lit la liste des serveurs multijoueur.
  3. Cliquez sur Vérifier le serveur. voxelbench.com interroge l'adresse et y cherche le code.

Un serveur ne peut être vérifié que par un seul compte. L'adresse vérifiée est celle à laquelle se connecte le robot de l'auto-bench. Détails : Vérification du serveur.

Monitoring à distance

Le monitoring à distance demande une offre qui l'inclut (Pro, Enterprise ou un compte hébergeur) et deux interrupteurs : le monitoring activé pour ce serveur sur voxelbench.com, et remote-monitoring.enabled dans le plugin, que /bench monitor remote on règle pour vous. Le plugin envoie alors :

  • un signal de vie toutes les 30 secondes, pour que voxelbench.com sache que le serveur tourne et que son fil principal n'est pas figé ;
  • un relevé des chiffres du serveur (TPS, durées de tick, mémoire, CPU, ramasse-miettes, compteurs), pris et envoyé toutes les 60 secondes par défaut ;
  • les événements qu'il détecte, au fil de l'eau.

Chaque requête porte le jeton de liaison du serveur. Les relevés ne contiennent aucun nom de joueur ; les événements de modération, si, dès lors que vous activez l'intégration LiteBans. Tout aboutit sur la page Monitoring de votre tableau de bord, où vos règles d'alerte le surveillent. Mise en place : Vue d'ensemble du monitoring ; côté plugin : Monitoring.

Auto-bench

L'auto-bench est le seul échange dont voxelbench.com prend l'initiative. Selon un calendrier, ou quand vous cliquez sur Lancer maintenant, il envoie un robot, un client Minecraft: Java Edition sans écran, qui rejoint votre serveur comme un joueur et tape /vbautobot suivi d'un code à usage unique. Le plugin demande à voxelbench.com si ce code est valable pour ce serveur, et seulement alors exécute ce que voxelbench.com demande (mode, test ou profil, chauffe, nombre de runs), jamais ce que le robot a tapé. Les résultats partent comme n'importe quel rapport, rattachés au run, puis le robot se déconnecte. Là encore, seuls les jars officiels sont acceptés.

Côté site : L'auto-bench sur le site. Côté serveur : Auto-bench.

Profils et rapports mémoire

Le profileur et l'inspection mémoire gardent leurs résultats sur le serveur. Un résultat ne part que lorsqu'un opérateur tape la commande, un seul à la fois, et jamais pendant un run noté. Ajouter preview à la commande montre ce qui partirait, sans rien envoyer avant votre confirmation :

CommandeCe qui partOù cela aboutit
/bench profile upload <id>, /bench memory upload <id>Le fichier tel quel, authentifié par le jeton de liaison (le serveur doit être lié)Votre compte, en privé : Profils ou Mémoire dans votre tableau de bord
/bench profile share <id>, /bench memory share <id>Une copie nettoyée, sans adresses, sans chemins de fichiers, sans noms de joueurs, de mondes ni de la machineUn lien public non répertorié, que toute personne qui l'a peut ouvrir, sans compte, pendant 7 jours

Un partage est signé comme un rapport : seuls les jars officiels peuvent partager. /bench profile unshare <id> et /bench memory unshare <id> suppriment le lien avant son expiration.

Le nombre d'envois que garde votre compte dépend de votre offre : 5 de chaque sorte pendant 30 jours en Gratuit, 50 pendant 180 jours en Pro, 200 pendant un an en Enterprise et pour les comptes hébergeurs. Un court résumé de chaque profil est conservé un an, quelle que soit l'offre.

Un vidage du tas ne quitte jamais le serveur. Il contient tout ce que le serveur avait en mémoire, jeton de liaison compris. Seuls les résumés et les analyses qu'on en tire peuvent partir, et l'analyse tourne sur votre propre machine. Détails : Profilage et Inspection mémoire.

Mises à jour du plugin

Environ 5 secondes après le démarrage, le plugin demande à voxelbench.com s'il existe une version plus récente, en envoyant son numéro de version. Si c'est le cas, il le signale dans la console, et en jeu aux opérateurs et aux joueurs qui ont voxelbench.admin, avec un lien de téléchargement. Il ne télécharge ni n'installe jamais rien de lui-même ; update-check: false désactive la vérification (voir Configuration).

La dernière version se trouve sur la page Télécharger. Comme voxelbench.com n'accepte que les jars qu'il connaît, installez le fichier officiel tel quel.

Public, non répertorié ou privé

QuoiQui peut le voir
Rapport d'un serveur non liéToute personne qui en a le lien, pendant 30 minutes
Rapport d'un serveur liéVous, le détenteur du serveur une fois ce serveur vérifié, et les administrateurs de VoxelBench, jusqu'à ce que vous passiez sa visibilité à Non répertorié (toute personne qui a le lien peut l'ouvrir ; il n'apparaît dans aucune liste d'autrui et les moteurs de recherche sont priés de ne pas l'indexer) ou Public (listé, et éligible au classement). Vous seul, son auteur, changez sa visibilité : quand VoxelBench rattache un rapport public à une offre d'hébergement, sa visibilité et sa durée de vie restent les mêmes. Le publier ou le partager par lien demande une adresse email vérifiée, et un rapport de profil personnalisé ne peut pas être public
Résultat de test unitaireVous, le détenteur du serveur une fois ce serveur vérifié, et les administrateurs de VoxelBench
Rapport de certification d'une offre d'hébergementVoxelBench seulement, jusqu'à ce que l'hébergeur approuve la certification ; ensuite tout le monde, avec la mention Certifié, même une fois la certification expirée
Profil ou rapport mémoire envoyéVous seul
Profil ou rapport mémoire partagéToute personne qui a le lien, pendant 7 jours ; les moteurs de recherche sont priés de ne pas l'indexer
Données de monitoring, événements et alertesVous seul. Vous pouvez ouvrir une page d'état publique pour un serveur : elle dit si le serveur est en service, jamais une mesure ni un nom de joueur
Serveurs liés, cibles et runs d'auto-benchVous seul
Vidage du tasPersonne : il ne quitte jamais le serveur

Comptes et offres

  • Sans compte, vous pouvez parcourir le classement, les statistiques, les pages des hébergeurs et les rapports publics, et appeler l'API publique 10 fois par jour depuis une même adresse.
  • Un compte gratuit lie des serveurs, conserve leurs rapports et résultats de tests unitaires, reçoit profils et rapports mémoire, et détient un jeton d'API.
  • Pro ajoute le monitoring à distance (un serveur) et l'auto-bench, et relève les quotas.
  • Enterprise relève encore les limites, sur devis.
  • Les comptes hébergeurs, une fois l'hébergeur vérifié par VoxelBench, ont leurs propres limites.

Les offres payantes ne sont pas encore en vente sur le site : l'onglet Abonnement de votre compte indique quand elles ouvriront. Le détail des limites de chaque offre se trouve dans Plans et limites, API et jetons et L'auto-bench sur le site.

Si vous êtes hébergeur

Inscrivez votre société, ou revendiquez la page que VoxelBench lui a peut-être déjà créée dans l'annuaire des hébergeurs, puis présentez vos offres et demandez des certifications. Un rapport certifié devient public une fois que vous l'avez approuvé. Le catalogue des offres présente les formules d'hébergement côte à côte.