FAQ et dépannage

Les réponses aux questions courantes sur VoxelBench, et ce qu'il faut vérifier quand quelque chose ne va pas : le cooldown, les envois qui échouent, l'interface, les blocs de test oubliés, le tableau de bord de monitoring et les intégrations.

Questions générales

Que mesure VoxelBench ?

VoxelBench mesure les performances de votre serveur Minecraft grâce à 26 tests intégrés couvrant le matériel (disque, mémoire, sérialisation réseau, CPU multi-core), le CPU single-core et le gameplay (chargement de chunks, hoppers, explosions, redstone, entités, éclairage, etc.). Un benchmark complet se résume en un VoxelScore unique pour faciliter la comparaison, et le mode Stress Limit trouve quelle charge de chaque type votre serveur encaisse. Voir Benchmarks.

Est-ce que lancer un benchmark affecte mes joueurs ?

Oui, temporairement. Pendant les tests gameplay, le serveur subit du lag car VoxelBench sollicite volontairement certains systèmes. Nous recommandons de :

  • Lancer les benchmarks pendant les périodes creuses, idéalement sans autre joueur connecté (les vérifications préalables vous préviennent s'il y en a)
  • Prévenir vos joueurs à l'avance
  • Exécuter les tests dans un monde de benchmark dédié (/bench world create, puis /bench world set)
  • Utiliser /bench stop si vous devez interrompre

Combien de temps dure un benchmark complet ?

En général 10 à 15 minutes selon le matériel de votre serveur. Le mode multi-run multiplie cette durée par le nombre de runs.

Puis-je lancer des benchmarks sur un serveur de production ?

Oui, mais gardez à l'esprit que :

  • Le TPS chute temporairement pendant les tests gameplay
  • Toutes les entités et tous les blocs de test sont nettoyés automatiquement
  • Hors des mondes voxelbench_*, aucune autre entité n'est retirée : les animaux, villageois et objets de vos joueurs restent (voir Garde-fous)
  • Un cooldown (30 minutes par défaut) empêche les relances accidentelles
  • Les heures creuses donnent de meilleurs résultats

Puis-je lancer un benchmark depuis la console ?

Non. /bench start, /bench stresslimit, /bench tier et /bench custom run nécessitent un joueur connecté, car les tests dépendent de l'activation des chunks, du tick des entités et de la sauvegarde/restauration de l'état du joueur. Les tests matériels et de nombreux tests individuels peuvent être lancés depuis la console ; voir Commandes.

Quel est cet écran qui s'ouvre avant le démarrage de mon benchmark ?

Ce sont les vérifications préalables. VoxelBench liste les risques détectés (monde épinglé non plat ou qui n'est pas un monde de benchmark, aucun monde épinglé alors que benchmark.auto-temp-world est désactivé, autres joueurs connectés, serveur déjà chargé, hébergement gratuit, plugins susceptibles d'interférer) et vous laisse démarrer ou annuler. Voir Configuration - Confirmation.

Mes résultats sont-ils publics ?

Pas par défaut. Les résultats de benchmark et de stress limit sont envoyés à voxelbench.com, et qui peut les voir dépend de la liaison du serveur (voir Liaison de compte) :

  • depuis un serveur non lié, le rapport est anonyme : toute personne qui a son lien peut l'ouvrir, pendant 30 minutes ;
  • depuis un serveur lié, le rapport va dans votre compte et reste privé jusqu'à ce que vous le rendiez non répertorié (visible par qui a le lien) ou public (listé, et éligible au classement). Un rapport de profil personnalisé ne peut jamais être public.

Dans les deux cas, vous contrôlez le niveau d'informations matérielles partagées via le paramètre d'anonymisation.

Comment le VoxelScore est-il calculé ?

Le VoxelScore est calculé par voxelbench.com à partir des résultats soumis, pas par le plugin. Le plugin affiche le score total, un rang et trois sous-scores par catégorie : Single-Core (40 %), Gameplay (40 %) et Matériel (20 %). Un score plus élevé indique de meilleures performances.

Dépannage

Message « Rate limit actif! »

Un cooldown local (30 minutes par défaut, rate-limiting.local-cooldown-minutes) sépare deux benchmarks. /bench status affiche le temps restant. Attendez la fin du cooldown, ou utilisez /bench start force avec la permission voxelbench.start.force.

Le benchmark est bloqué

Si un test semble figé :

  1. Utilisez /bench stop pour annuler
  2. Consultez la console du serveur pour repérer des erreurs
  3. S'il s'agissait d'un test gameplay, vérifiez que le monde de test est chargé (/bench world show)
  4. Essayez de lancer le test seul : /bench test <nomDuTest>

« Connection failed » lors de l'envoi des résultats

VoxelBench doit joindre voxelbench.com en HTTPS. Lancez /bench ping : la commande vérifie la résolution DNS, puis la connexion TCP, TLS et HTTP, et indique l'étape qui échoue. Vérifiez aussi que :

  1. Votre serveur peut ouvrir des connexions HTTPS sortantes (port 443)
  2. voxelbench.com n'est pas bloqué par un pare-feu ou un proxy
  3. Vous utilisez une release officielle de VoxelBench : le backend refuse les rapports des builds qu'il ne reconnaît pas

Rien n'est perdu si l'envoi échoue : chaque run écrit son rapport local à sa fin, avant tout envoi. Un benchmark dont l'envoi a échoué est conservé sans score, avec l'erreur, et /bench reports l'affiche avec Aucun score plutôt qu'un zéro.

L'interface ne s'ouvre pas

  1. /bench gui ne fonctionne que pour un joueur, pas depuis la console
  2. Vérifiez que vous avez la permission voxelbench.gui
  3. Consultez la console du serveur pour repérer des erreurs

Des blocs ou entités de test ne sont pas nettoyés

VoxelBench supprime ce que ses tests créent, même quand un test échoue ou est arrêté. Si quelque chose reste :

  1. Consultez la console pour repérer des erreurs pendant le test
  2. /bench zones liste les zones de test du dernier run et nomme son monde. Un monde temporaire est supprimé à la fin du run, restes compris, et /bench zones indique alors qu'il n'existe plus. Dans un monde voxelbench_* qui existe encore, /bench zones clean all supprime les entités et objets au sol autour des zones ; il ne retire rien dans tout autre monde, monde principal compris (clean et tp exigent la permission voxelbench.world)
  3. Les zones de test sont placées loin dans le monde de benchmark ; dans un monde voxelbench_* dédié, vous pouvez simplement le supprimer (/bench world delete)
  4. Signalez-le comme un bug

Le plugin ne se charge pas

  1. Vérifiez la version de Java : java -version (au moins Java 16, et la version qu'exige votre version de Minecraft ; voir Compatibilité)
  2. Vérifiez la version du serveur : 1.17 ou plus récente
  3. Recherchez des erreurs dans la console au démarrage
  4. Assurez-vous que le JAR est bien dans le dossier plugins/ (pas dans un sous-dossier)
  5. Vérifiez que le JAR n'est pas corrompu (re-téléchargez-le si besoin)

Mauvaise langue

VoxelBench détecte automatiquement la langue du client Minecraft de chaque joueur. Pour la forcer :

  • Pour un joueur : /bench lang fr_FR (et /bench lang auto pour revenir à la détection)
  • Pour tous les joueurs : mettez language.force: true et language.default: fr_FR dans la config, puis redémarrez

Le tableau de bord de monitoring est inaccessible

  1. Vérifiez que le serveur web tourne : /bench monitor web status
  2. Vérifiez le port (8080 par défaut, ou 8443 en HTTPS)
  3. Vérifiez que le pare-feu autorise les connexions entrantes sur ce port
  4. Pour un accès distant, assurez-vous que bind-address vaut 0.0.0.0 (et non 127.0.0.1) ; le tableau de bord refuse alors de démarrer tant qu'aucun mot de passe n'est défini (/bench monitor auth password <mot de passe>, depuis la console)
  5. Si la whitelist IP est activée, vérifiez que votre IP est autorisée (/bench monitor whitelist list)
  6. Vérifiez les conflits de port avec d'autres plugins

Erreurs de certificat HTTPS

Avec un certificat auto-signé :

  • Les navigateurs affichent un avertissement de sécurité : c'est normal pour un certificat auto-signé
  • Vous pouvez ajouter une exception dans votre navigateur
  • En production, préférez un vrai certificat SSL

Les notifications DiscordSRV ne fonctionnent pas

La version actuelle de VoxelBench lit les réglages DiscordSRV mais ne publie pas encore de notifications sur Discord. Voir Intégrations - DiscordSRV.

Les placeholders PlaceholderAPI ne s'affichent pas

  1. Vérifiez que PlaceholderAPI est installé et fonctionne
  2. Testez avec /papi parse me %voxelbench_players%
  3. Les placeholders TPS et MSPT renvoient N/A tant que le moniteur de ticks de VoxelBench n'a pas été démarré (tableau de bord web, mode push, boss bars, monitoring distant ou un test)
  4. Les placeholders de score renvoient N/A tant qu'aucun benchmark complet n'a abouti depuis le dernier redémarrage

Conseils de performance

Pour de meilleurs scores

  1. Réduisez les autres plugins : désactivez les plugins gourmands pendant les benchmarks
  2. Allouez assez de RAM : assurez-vous que la JVM dispose d'un heap suffisant
  3. Utilisez un Java récent : les versions récentes apportent des améliorations du garbage collector et du JIT
  4. Utilisez Paper : Paper inclut de nombreuses optimisations par rapport à Spigot
  5. Optimisez les flags JVM : utilisez des flags de démarrage optimisés (flags d'Aikar recommandés)

Pour des résultats plus réguliers

  1. Lancez plusieurs benchmarks d'affilée (/bench start 5, ou /bench start warmup 3 pour écarter un run de chauffe) et comparez
  2. Assurez-vous que le serveur est au repos pendant les benchmarks
  3. Arrêtez les tâches de sauvegarde en cours
  4. Évitez les tempêtes de garbage collection (augmentez le heap si nécessaire)