Référence des commandes

Toutes les commandes VoxelBench commencent par /bench. Alias : /benchmark, /b.

Tapez /bench ou /bench help pour afficher la liste des commandes en jeu. Une sous-commande inconnue affiche une erreur suivie de cette même liste.

Joueur ou console ? /bench start, /bench stresslimit, /bench tier, /bench custom run, /bench gui et les tests marqués « Non » dans les tableaux des tests doivent être lancés par un joueur connecté au serveur : ils dépendent de l'activation des chunks, du tick des entités et de la sauvegarde/restauration de l'état du joueur. /bench zones tp, /bench reports et /bench reports gui, /bench lang auto, /bench monitor gui et /bench monitor bars <métrique> exigent aussi un joueur. Les autres commandes fonctionnent aussi depuis la console.

Toute commande exige voxelbench.use. La colonne Permission indique ce qu'une commande demande en plus (voxelbench.use = rien de plus) ; voir Permissions pour le détail.

Commandes générales

CommandePermissionDescription
/bench help (alias ?)voxelbench.useLister toutes les commandes
/bench guivoxelbench.guiOuvrir l'interface graphique principale (joueur uniquement)
/bench statusvoxelbench.useAfficher le mode de fonctionnement, la version du plugin, le test en cours, le cooldown du rate limit et le dernier score
/bench version (alias ver, v)voxelbench.useAfficher la version du plugin
/bench info [sujet]voxelbench.infoAfficher les informations système. Sans sujet, affiche tout. Sujets : cpu, ram, disk, network, server, java, system, hosting, performance, plugins, worlds, sensors, auth, bench, build
/bench tpsvoxelbench.useComparer le TPS annoncé par le serveur avec la mesure propre de VoxelBench
/bench msptvoxelbench.useMême comparaison pour le MSPT
/bench lang [code|auto]voxelbench.langAfficher ou changer votre langue ; auto revient à la détection depuis votre client. Depuis la console, /bench lang <code> change la langue par défaut du serveur
/bench reloadvoxelbench.reloadRecharger config.yml
/bench pingvoxelbench.useTester la connexion au backend VoxelBench (DNS, puis TCP/TLS/HTTP) pour diagnostiquer un échec d'envoi
/bench confirmvoxelbench.use (+ les nœuds de la commande confirmée)Confirmer votre dernier aperçu — un vidage du tas, ou upload/share … preview — sans retaper toute la commande. Voir Confirmer un aperçu

Commandes de benchmark

CommandePermissionDescription
/bench start [force] [warmup] [runs]voxelbench.start (force : aussi voxelbench.start.force)Lancer le benchmark complet (joueur uniquement)
/bench stop (alias cancel)voxelbench.stopArrêter le benchmark, le test ou le stress en cours, y compris une session multi-run en attente de sa prochaine itération
/bench zonesvoxelbench.useLister les zones de test du dernier run, dans le monde qu'il a utilisé
/bench zones tp <numéro>voxelbench.worldSe téléporter vers une zone de test (0 = zone par défaut ; joueur uniquement)
/bench zones clean <numéro|all>voxelbench.worldSupprimer les entités et objets au sol restés autour d'une zone de test, dans un monde voxelbench_* seulement
/bench world ...voxelbench.worldGérer les mondes de benchmark (voir plus bas)

/bench zones montre les zones du dernier run qui en a disposé depuis le démarrage du serveur (un run de benchmark, de stress limit, de palier, de profil personnalisé ou d'auto-bench ; /bench test n'en enregistre aucune) et nomme le monde qu'a utilisé ce run. Un monde temporaire est supprimé à la fin de son run, et ses zones avec lui : la commande indique alors que ce monde n'existe plus, sans renvoyer vers un autre monde. Sans run enregistré, elle montre la zone par défaut du monde épinglé, s'il y en a un. clean retire toutes les entités, hors joueurs, tableaux et cadres, à moins de 200 blocs de chaque zone, et seulement dans un monde voxelbench_* : dans tout autre monde, le monde principal ou un monde épinglé d'un autre nom, il ne retire rien et dit pourquoi. Chaque test retire déjà ce qu'il a fait apparaître, y compris quand /bench stop l'interrompt ; le balayage supplémentaire des emplacements de test fixes qui suit /bench stop n'a lieu, lui aussi, que dans un monde voxelbench_*.

VoxelBench 2.0.2 et versions antérieures : sur Paper et Spigot, /bench start, /bench stresslimit, /bench tier et /bench custom run retiraient, au début du run, villageois, animaux (apprivoisés et nommés compris), golems, objets au sol, wagonnets et bateaux de tous les mondes chargés ; /bench stop retirait villageois, chats, golems et objets au sol autour d'emplacements fixes du monde du test, quel qu'il soit ; et, sans monde épinglé, /bench zones clean balayait une zone du monde principal. Mettez à jour avant de les lancer sur un serveur dont les mondes comptent. Voir Garde-fous.

Benchmark complet

/bench start

Exécute la suite de tests en trois phases : matériel, puis gameplay, puis CPU (voir Benchmarks). Les résultats sont soumis à voxelbench.com.

Les arguments peuvent être donnés dans n'importe quel ordre :

ArgumentEffet
forceIgnorer le cooldown du rate limit local (nécessite voxelbench.start.force)
warmupLancer d'abord un benchmark de chauffe supplémentaire ; ses résultats sont écartés et aucun rapport n'est envoyé
<runs>Nombre de benchmarks consécutifs, de 1 à 20

Exemples :

/bench start 5
/bench start warmup 3
/bench start force warmup 3

Quand confirmation.require-confirmation vaut true (valeur par défaut), VoxelBench effectue des vérifications préalables avant de démarrer. Si rien n'est détecté, le benchmark démarre aussitôt. Sinon, un écran d'inventaire liste les constats et vous cliquez pour lancer ou annuler. Les constats critiques, comme viser un monde qui n'est pas un monde voxelbench_*, ne peuvent être outrepassés que par un joueur disposant de voxelbench.start.force.

Mode multi-run

Avec plus d'un run (ou avec warmup), VoxelBench précharge les chunks autour des zones de test, réutilise les mêmes zones et le même monde pour chaque run, et attend 10 secondes avant le suivant. Dans un monde voxelbench_* (le monde temporaire, ou un monde créé avec /bench world create), il réinitialise aussi les régions de test entre deux runs, pour que chaque run reparte d'un terrain fraîchement généré ; dans tout autre monde, il ne force ni ne supprime rien, le signale, et les runs réutilisent les chunks déjà générés. Chaque run produit son propre rapport. Voir Mondes de benchmark.

VoxelBench 2.0.2 et versions antérieures : sans monde épinglé, une session multi-run réinitialisait entre deux runs des régions du monde principal du serveur. Mettez à jour avant d'en lancer une, ou épinglez un monde voxelbench_*.

Mondes de benchmark

CommandeDescription
/bench world listLister les mondes chargés avec leur type : [pinned] marque le monde épinglé et [bench] les mondes voxelbench_* ; la dernière ligne indique si Multiverse-Core est détecté
/bench world showAfficher le monde de benchmark épinglé
/bench world set <nom>Épingler un monde chargé pour tous les benchmarks, tests et stress
/bench world unsetRetirer l'épinglage
/bench world create <nom>Créer un monde plat nommé voxelbench_<nom>
/bench world delete <nom>Supprimer un monde voxelbench_* (tout autre monde est refusé, tout comme un monde où un test tourne)

Commandes de tests individuels

CommandePermissionDescription
/bench test (alias tests)voxelbench.useLister tous les tests enregistrés par catégorie, y compris ceux ajoutés par des extensions
/bench test <id> [paramètres]Le nœud du test (voir les tableaux ci-dessous)Lancer un test

Les identifiants de test ne tiennent pas compte de la casse, et les - ou _ sont ignorés : chunkLoading, chunkloading et chunk_loading désignent le même test. Les valeurs positionnelles (plus bas) ne fonctionnent qu'avec les noms du tableau des valeurs positionnelles, quelle que soit la casse ; avec une autre graphie, comme chunk_loading, le test prend des paires clé=valeur.

Tests disponibles

VoxelBench embarque 26 tests intégrés. La colonne « Console » indique si le test peut être lancé depuis la console. Quand un test réservé aux joueurs est lancé depuis la console, le message d'erreur cite quelques exemples et renvoie vers /bench test list ; les tableaux ci-dessous donnent la liste complète.

Tous les tests de gameplay sauf worldSave écrivent dans le monde : /bench test les lance donc dans le monde épinglé ou dans un monde temporaire, jamais dans celui où vous vous trouvez, et les refuse quand ni l'un ni l'autre n'est possible (toujours le cas sur Folia sans monde épinglé). Voir Benchmarks.

Matériel

TestConsolePermission
diskOuivoxelbench.test.disk
networkNonvoxelbench.test.network
memoryOuivoxelbench.test.memory
multiCoreOuivoxelbench.test.multicore

CPU single-core

TestConsolePermission
singleCoreBenchmarkOuivoxelbench.test.singlecorebenchmark
singleCoreMaxOuivoxelbench.test.singlecoremax

Gameplay

TestConsolePermission
chunkLoadingOuivoxelbench.test.chunkloading
mobSpawnNonvoxelbench.test.mobspawn
hopperOuivoxelbench.test.hopper
explosionOuivoxelbench.test.explosion
lightingUpdate (alias lighting)Ouivoxelbench.test.lighting
worldSaveOuivoxelbench.test.worldsave
redstoneOuivoxelbench.test.redstone
blockPhysicsOuivoxelbench.test.blockphysics
chunkTickingOuivoxelbench.test.chunkticking
entityCollision (alias collision)Nonvoxelbench.test.collision
tickingTileEntity (alias tileentity)Ouivoxelbench.test.tileentity
mobAINonvoxelbench.test.mobai
mobPathfindingNonvoxelbench.test.mobpathfinding
villagerTrading (alias villager)Nonvoxelbench.test.villager
boneMealGrowthOuivoxelbench.test.bonemealgrowth
liquidPhysicsNonvoxelbench.test.liquidphysics
combatSimulationNonvoxelbench.test.combatsimulation
projectileStormOuivoxelbench.test.projectilestorm
entityCrammingOuivoxelbench.test.entitycramming
playerWorldLoadOuivoxelbench.test.playerworldload

Paramètres des tests

Sans paramètre, la plupart des tests utilisent leurs valeurs par défaut. Deux syntaxes coexistent, selon le nom tapé.

Valeurs positionnelles. Ces noms prennent des valeurs brutes dans un ordre fixe :

CommandeRemarques
/bench test disk <threads> <queueDepth> <taille> [passes]Obligatoires. La taille accepte 512M, 2G ou un nombre de Mo
/bench test memory <tableSize> <opérations> <passes>Obligatoires, ex. /bench test memory 512M 75k 3
/bench test multiCore <tâches> <itérationsParTâche> [kernel]Obligatoires. Les itérations acceptent 100k ou 5M ; kernel vaut int, float, memory ou branch
/bench test singleCoreMax [opérations] [passes]
/bench test network [objets] [LOW|MEDIUM|HIGH]
/bench test chunkLoading [chunks] [zones]
/bench test mobSpawn [mobs] [zones]
/bench test hopper [lignes] [zones]
/bench test explosion [tnt] [zones]
/bench test mobPathfinding [mobs] [secondes]
/bench test redstone [pistons] [secondes]
/bench test blockPhysics [blocs] [intervalleTicks]
/bench test lighting [mises à jour] [zones]
/bench test collision [items] [entités] [secondes]
/bench test tileentity [total] [FURNACE|HOPPER|SPAWNER|ALL] [zones]
/bench test villager [villageois] [maisons] [secondes]
/bench test chunkTicking [chunks] [tickSpeed] [secondes]
/bench test boneMealGrowth [pousses] [cultures] [secondes]
/bench test liquidPhysics [eau] [lave] [secondes]
/bench test combatSimulation [zombies] [squelettes] [pillards] [secondes]
/bench test mobAI [villageois] [maisons] [hostiles] [secondesPhase1] [secondesPhase2]

Valeurs nommées. Tous les autres identifiants (lightingUpdate, entityCollision, tickingTileEntity, villagerTrading, projectileStorm, entityCramming, playerWorldLoad, singleCoreBenchmark et les tests ajoutés par des extensions) prennent des paires clé=valeur :

/bench test projectileStorm projectilesPerWave=250 durationSeconds=20
/bench test singleCoreBenchmark durationSeconds=15 kernel=float

Les noms de paramètres sont ceux des profils personnalisés ; le fichier fourni custom_benchmarks/showcase.yml les documente pour chaque test. Une valeur clé=valeur hors limites est ramenée dans la plage autorisée, avec un avertissement. Une valeur positionnelle hors limites est le plus souvent refusée, avec une erreur qui donne la plage autorisée.

Commandes Stress Limit

CommandePermissionDescription
/bench stresslimit [force]voxelbench.stresslimitLancer le mode Stress Limit sur tous les types de stress (joueur uniquement). Retapez la commande dans les 10 secondes pour confirmer. force ignore le cooldown du rate limit (nécessite voxelbench.start.force)
/bench tier <type> [options] (alias palier)voxelbench.tierLancer l'échelle de paliers sur un seul type de stress, sans confirmation ni rate limit (joueur uniquement)

Voir Stress Limit pour les types de stress et les options de /bench tier.

Commandes des profils personnalisés

CommandePermissionDescription
/bench custom list (alias ls)voxelbench.custom ou voxelbench.startLister les profils chargés, marqués [STD] (benchmark) ou [STRESS] (stress limit)
/bench custom info <nom> (alias show)voxelbench.custom ou voxelbench.startAfficher les métadonnées et les étapes d'un profil
/bench custom run <nom> [force]voxelbench.custom ou voxelbench.start ; un profil de stress limit exige aussi voxelbench.stresslimitLancer un profil (joueur uniquement, nécessite un serveur lié)
/bench custom reloadvoxelbench.custom ou voxelbench.start, et voxelbench.reloadRelire le dossier plugins/VoxelBench/custom_benchmarks/

/bench custom run accepte aussi warmup et un nombre de runs, mais les profils n'exécutent pour l'instant qu'une seule itération. Sans voxelbench.stresslimit, les profils de stress limit n'apparaissent ni dans l'autocomplétion de run, ni dans l'écran des profils de l'interface, ni dans la liste des profils disponibles affichée après un nom inconnu ; list et info les montrent toujours. Voir Benchmarks - Profils personnalisés.

Commandes de monitoring

CommandePermissionDescription
/bench monitorL'un de voxelbench.monitor, voxelbench.monitor.bars, voxelbench.monitor.webOuvrir l'interface des boss bars (joueurs qui ont voxelbench.monitor.bars) ou afficher l'état
/bench monitor statusL'un de voxelbench.monitor, voxelbench.monitor.bars, voxelbench.monitor.webAfficher l'état des boss bars, du serveur web, du mode push et du monitoring distant
/bench monitor reloadvoxelbench.monitorRecharger tout config.yml, comme /bench reload, et appliquer les paramètres de monitoring (dont remote-monitoring)
/bench monitor bars [on|off|all|<métrique>]voxelbench.monitor.barsBasculer les boss bars TPS + MSPT, afficher toutes les métriques, ou basculer une métrique (tps, mspt, ram, ramfree, cpu, entities, chunks, players ; joueur uniquement)
/bench monitor web [start|stop|status]voxelbench.monitor.webDémarrer, arrêter ou vérifier le tableau de bord web (sans argument : bascule). start et status affichent son adresse locale : http://localhost:<web-port>, ou https://localhost:<https.port> quand HTTPS est activé
/bench monitor web dashboard <on|off>voxelbench.monitor.webActiver ou désactiver le tableau de bord HTML (mode API seule quand il est désactivé)
/bench monitor push [start|stop|test|status]voxelbench.monitor.webPiloter le mode push ; test envoie une requête pour vérifier les réglages
/bench monitor remote [on|off|status]voxelbench.monitor.webEnvoyer les métriques à votre tableau de bord voxelbench.com : on l'active et vérifie aussitôt la connexion, status indique où il en est (sans argument : l'état). Voir Tableau de bord voxelbench.com
/bench monitor authvoxelbench.monitor.webAfficher l'état de l'authentification du tableau de bord
/bench monitor auth password <mot de passe>voxelbench.monitor.webDéfinir le mot de passe du tableau de bord (12 caractères au moins, stocké en hash PBKDF2) et activer l'authentification. Depuis la console du serveur uniquement
/bench monitor auth username <nom>voxelbench.monitor.webDéfinir le nom d'utilisateur du tableau de bord
/bench monitor auth key <pull|push>voxelbench.monitor.webGénérer une clé API pour lire /api/metrics (pull) ou pour le mode push (push)
/bench monitor whitelist [on|off|list]voxelbench.monitor.webAfficher, activer, désactiver ou lister la whitelist IP
/bench monitor whitelist add <ip>voxelbench.monitor.webAjouter une IP à la whitelist
/bench monitor whitelist remove <ip>voxelbench.monitor.webRetirer une IP de la whitelist
/bench monitor whitelist mode <all|dashboard|api>voxelbench.monitor.webChoisir ce que la whitelist protège
/bench monitor https [on|off|status]voxelbench.monitor.webActiver, désactiver ou vérifier HTTPS
/bench monitor https generate [jours]voxelbench.monitor.webGénérer un certificat auto-signé (365 jours par défaut)
/bench monitor https password <mot de passe>voxelbench.monitor.webDéfinir manuellement le mot de passe du keystore

Voir Monitoring pour les détails.

Commandes de profilage (expérimental)

Échantillonnent les threads de tick avec Java Flight Recorder et montrent quels plugins et quelles méthodes y tournent. Rien ne quitte le serveur sauf si vous envoyez vous-même un profil avec /bench profile upload, ou le partagez par lien public avec /bench profile share. Les captures sont refusées pendant un benchmark, un stress limit, un palier, un run d'auto-bench ou un /bench test dont le résultat est envoyé à voxelbench.com, et dans les 30 s qui suivent.

CommandePermissionDescription
/bench profile [secondes] [période-ms] [upload|share]voxelbench.profile (+ le nœud du verbe)Capture minutée : 30 s par défaut (5-300), un échantillon toutes les 10 ms par défaut (10-50), puis un résumé dans le chat ; avec upload (alias send) ou share, le profil part dès qu'il est enregistré
/bench profile ring <on|off|status|dump [secondes] [upload|share]>voxelbench.profile (+ le nœud du verbe)Piloter le tampon circulaire continu (désactivé par défaut) et analyser ses dernières secondes, en envoyant le résultat si demandé
/bench profile listvoxelbench.profileProfils enregistrés, du plus récent au plus ancien
/bench profile show <numéro|id|last>voxelbench.profileRéafficher le résumé d'un profil enregistré
/bench profile delete <numéro|id|last>voxelbench.profileSupprimer un profil enregistré
/bench profile upload <numéro|id|last> [preview]voxelbench.profile + voxelbench.profile.uploadEnvoyer tout de suite ce seul profil au compte voxelbench.com de ce serveur (lié) ; preview montre seulement ce qui partirait, puis confirm dans les 60 s envoie exactement cela
/bench profile share <numéro|id|last> [preview]voxelbench.profile + voxelbench.profile.sharePublier tout de suite une copie nettoyée derrière un lien public non listé (sans compte, expire au bout de 7 jours) ; preview montre seulement ce qui partirait, puis confirm dans les 60 s publie exactement cela
/bench profile unshare <numéro|id|last>voxelbench.profile + voxelbench.profile.shareSupprimer le lien public d'un profil avant son expiration
/bench profile statusvoxelbench.profileDisponibilité de JFR, capture en cours, tampon circulaire, vidages automatiques, profils enregistrés

Voir Profilage pour lire les résultats et comprendre les vidages automatiques sur lag.

Commandes d'inspection mémoire (expérimental)

Voir ce qui remplit la mémoire du serveur, par plugin, écrire un vidage complet du tas — l'équivalent de heapsummary et heapdump de spark — et l'analyser dans un processus séparé pour savoir quel plugin retient la mémoire. Un résumé ou une analyse ne quitte le serveur que si vous l'envoyez avec /bench memory upload ou le partagez par lien public avec /bench memory share ; un vidage du tas ne le quitte jamais, par aucune commande. Refusé pendant un benchmark, un stress-limit, un palier, un run d'auto-bench ou un /bench test dont le résultat est envoyé à voxelbench.com, et dans les 30 s qui suivent.

CommandePermissionDescription
/bench memory [status]voxelbench.memoryOccupation du tas, ce que le runtime Java permet, résumés, analyses et vidages enregistrés, l'analyse en cours
/bench memory summary [live|all] [upload|share]voxelbench.memory (+ le nœud du verbe)Histogramme des classes attribué par plugin, serveur et JDK, enregistré en JSON dans le dossier memory/ des rapports. live (par défaut) lance d'abord un GC complet ; all non, et compte aussi les objets morts. Le serveur est figé brièvement (0,5 à 1 s par Go de tas occupé en live dans nos essais, environ moitié moins en all). Avec upload (alias send) ou share, le résumé part dès qu'il est enregistré
/bench memory listvoxelbench.memoryRésumés enregistrés, marqués quand ils ont été envoyés ou partagés (et vidages, avec voxelbench.memory.dump)
/bench memory show <numéro|id|last> [propriétaire]voxelbench.memoryRéafficher un résumé ; avec un nom de plugin, ses classes les plus lourdes
/bench memory delete <numéro|id|last>voxelbench.memorySupprimer un résumé
/bench memory dump [live|all] [gzip] [force] [analyze [quick|full|auto] [upload|share]]voxelbench.memory + voxelbench.memory.dump (+ le nœud du verbe)Aperçu d'un vidage complet du tas : gel estimé, limite du chien de garde, taille du fichier, espace disque libre, et ce que contient le fichier ; avec analyze, la mémoire que l'analyse pourra prendre ; avec upload ou share, que c'est l'analyse qui partira, jamais le vidage. Rien n'est écrit. Refusé quand le gel estimé atteint la limite du chien de garde (settings.timeout-time de spigot.yml), sauf avec force. upload/share sans analyze est refusé
/bench memory dump [live|all] [gzip] [force] [analyze [quick|full|auto] [upload|share]] confirmvoxelbench.memory + voxelbench.memory.dump (+ le nœud du verbe)Écrire le vidage présenté (même expéditeur, mêmes options, dans les 60 s) dans plugins/VoxelBench/heapdumps/. Tout le serveur est figé pendant ce temps ; le fichier contient tout ce qui est en mémoire et ne quitte jamais la machine. Avec analyze, le vidage est analysé juste après, avant toute compression, et le rapport d'analyse part si un verbe a été donné
/bench memory dump list / dump delete <numéro|id|last>voxelbench.memory + voxelbench.memory.dumpVidages présents sur le disque ; en supprimer un
/bench memory analyze [<numéro|id>|last] retained <plugin> [upload|share]voxelbench.memory + voxelbench.memory.dump (+ le nœud du verbe)Répondre à une seule question avec bien moins de mémoire qu'une analyse complète : combien retient le plugin nommé — les objets atteints seulement à travers ses propres objets (ses instances, ses classes, son chargeur) — avec ses classes les plus lourdes. Voir Ce que retient un plugin
/bench memory analyze [<numéro|id>|last] [quick|full|auto] [upload|share]voxelbench.memory + voxelbench.memory.dump (+ le nœud du verbe)Analyser un vidage présent sur le disque (le plus récent par défaut) dans un processus Java séparé et de basse priorité : quick (tailles propres par vrai chargeur de classes, comptes d'objets Minecraft, chaînes en double, collections creuses), full (tailles retenues par plugin, suspects de fuite avec leur chemin depuis une racine du GC) ou auto (par défaut : complète quand la mémoire libre et la limite du conteneur le permettent, rapide sinon). Refusé quand même la rapide ne tient pas. Le rapport, sans aucune valeur tirée du tas, va dans le dossier memory/ des rapports ; avec upload ou share, il part dès qu'il est enregistré
/bench memory analyze cancelvoxelbench.memory + voxelbench.memory.dumpArrêter l'analyse en cours (son processus est tué, pas de rapport)
/bench memory analyze list / show <numéro|id|last> / delete <numéro|id|last>voxelbench.memoryAnalyses enregistrées, marquées quand elles ont été envoyées ou partagées ; en réafficher une ; en supprimer une (le vidage n'est pas touché)
/bench memory upload <id|#|last> [preview]voxelbench.memory + voxelbench.memory.uploadEnvoyer tout de suite ce seul résumé ou cette seule analyse au compte voxelbench.com de ce serveur (lié) ; preview montre seulement ce qui partirait, puis confirm dans les 60 s envoie exactement cela. send est un alias. Un vidage du tas est refusé
/bench memory share <id|#|last> [preview]voxelbench.memory + voxelbench.memory.sharePublier tout de suite une copie nettoyée de ce résumé ou de cette analyse derrière un lien public non listé (sans compte, expire au bout de 7 jours) ; preview montre seulement ce qui partirait, puis confirm dans les 60 s publie exactement cela. Un vidage du tas est refusé
/bench memory unshare <id|#|last>voxelbench.memory + voxelbench.memory.shareSupprimer le lien public d'un rapport avant son expiration, même après la suppression locale du rapport

<id|#|last> désigne un résumé ou une analyse : son identifiant, un préfixe unique, last (le plus récent des deux) ou #N (rang parmi les résumés et les analyses ensemble, du plus récent au plus ancien). Voir Inspection mémoire pour lire un résumé ou une analyse, savoir ce que coûte un vidage et comment l'ouvrir, et ce qui part quand vous envoyez ou partagez un rapport.

Formulaires des commandes tapées sans option

Tapées seules par un joueur, /bench profile, /bench memory summary, /bench memory dump et /bench memory analyze ouvrent un formulaire avec leurs options au lieu de partir avec les valeurs par défaut : un dialogue natif sur Paper 1.21.6 et suivants, un écran d'inventaire ailleurs (clic : valeur suivante, Maj+clic : précédente). Il propose la durée et l'intervalle d'échantillonnage, objets vivants ou tous, gzip, le mode d'analyse, le vidage à analyser, et s'il faut garder, partager ou envoyer le résultat — seulement ce que vos permissions et config.yml permettent.

Le formulaire ne fait que construire la commande et la lancer comme si vous l'aviez tapée : ses permissions et ses refus s'appliquent, et un vidage montre toujours son aperçu et attend sa confirmation. La console, et toute commande tapée avec ses options, fonctionnent comme avant (depuis la console, /bench profile seul capture toujours 30 s).

Chaque formulaire rouvre sur vos derniers choix (par joueur, gardés d'un redémarrage à l'autre dans plugins/VoxelBench/form-choices.json) : durée, intervalle, objets vivants ou tous, gzip, mode d'analyse, plugin visé. Un choix qui n'est plus proposé (permission retirée, réglage changé) revient à sa valeur par défaut. Trois choix repartent toujours de leur défaut et ne sont jamais repris : garder, partager ou envoyer le résultat, forcer un vidage malgré le chien de garde, et le vidage à analyser (le plus récent).

Confirmer un aperçu

Un vidage du tas, et upload/share … preview pour les profils et les rapports mémoire, montrent d'abord un aperçu et attendent confirm. Trois façons de le donner, qui lancent toutes cette même commande … confirm, avec les mêmes contrôles : même joueur ou même console, dans les 60 s, mêmes options, fichier inchangé, permissions.

  • /bench confirm (ou /b confirm) confirme le dernier aperçu de celui qui la tape — console comprise : /bench memory dump live gzip analyze full share est suivi de /bench confirm au lieu de toute la ligne ;
  • un clic sur la ligne de confirmation dans le chat ;
  • pour un joueur, Oui dans la fenêtre qui s'ouvre avec l'aperçu : un dialogue natif sur Paper 1.21.6 et suivants, un écran d'inventaire ailleurs. Non (ou Échap) ne fait rien. confirmation.popup: false dans config.yml retire la fenêtre.

Commandes de rapports

CommandePermissionDescription
/bench reportsvoxelbench.reportsOuvrir la liste des rapports (joueur uniquement ; depuis la console, affiche l'aide)
/bench reports list [type] [page]voxelbench.reportsLister les rapports sauvegardés ; type : unit_test, benchmark, stresslimit ou all
/bench reports view <id>voxelbench.reportsAfficher le détail d'un rapport dans le chat
/bench reports delete <id>voxelbench.reportsSupprimer un rapport
/bench reports cleanupvoxelbench.reportsAppliquer immédiatement les règles de rétention
/bench reports gui [type]voxelbench.reportsOuvrir la liste des rapports filtrée par type (joueur uniquement)

Commandes de vérification du serveur

CommandePermissionDescription
/bench verify <CODE>voxelbench.verifyLancer la vérification du serveur
/bench verify statusvoxelbench.verifyVérifier le statut de la vérification
/bench verify cancelvoxelbench.verifyAnnuler la vérification en cours

Commandes de liaison de compte

CommandePermissionDescription
/bench linkvoxelbench.linkDémarrer le processus de liaison
/bench link forcevoxelbench.linkRe-lier (remplacer le token existant)

Commandes internes

/bench autobot et /vbautobot servent uniquement à l'agent d'auto-bench de VoxelBench. Elles ne font rien tant que le code à usage unique qu'elles transportent n'est pas validé par le backend. Vous n'avez jamais à les taper.