Permissions
Toutes les permissions VoxelBench sont réservées aux OP par défaut, sauf voxelbench.lang. Utilisez un plugin de permissions (LuckPerms, PermissionsEx, etc.) pour accorder l'accès aux joueurs non-OP.
Comment les permissions sont vérifiées
voxelbench.useest requise pour toute commande/bench. Sans elle, rien d'autre ne fonctionne, pas même/bench lang.- La plupart des commandes exigent en plus leur propre permission, listée plus bas. Chaque test a aussi son propre nœud (voir Permissions de tests).
- L'autocomplétion ne propose que les commandes, sous-commandes et tests que vous avez le droit d'exécuter.
- Les boutons des interfaces exécutent les commandes correspondantes : ils sont donc vérifiés de la même façon. Certains écrans vérifient aussi une permission à leur ouverture (voir Écrans de l'interface).
- Les opérateurs, et les joueurs qui ont
*, possèdent toutes les permissions. - L'agent d'auto-bench envoie
/vbautobot, qui ne vérifie aucune permission : le code à usage unique validé par voxelbench.com fait office d'autorisation. Son autre forme,/bench autobot, exige toujoursvoxelbench.use, comme toute commande/bench, et rien de plus.
Nœuds de permission
| Permission | Défaut | Donne accès à |
|---|---|---|
voxelbench.use | OP | /bench ; seule, aux commandes marquées « voxelbench.use uniquement » |
voxelbench.start | OP | /bench start ; aussi /bench custom |
voxelbench.start.force | OP | L'option force de /bench start, /bench stresslimit et /bench custom run (ignorer le cooldown), et le bouton Force start de l'écran de vérifications préalables |
voxelbench.stop | OP | /bench stop et /bench cancel |
voxelbench.gui | OP | /bench gui |
voxelbench.settings | OP | L'écran des réglages de l'interface, qui modifie benchmark-mode et le niveau d'anonymisation dans config.yml |
voxelbench.info | OP | /bench info |
voxelbench.reports | OP | /bench reports |
voxelbench.stresslimit | OP | /bench stresslimit, et le lancement d'un profil de stress limit avec /bench custom run |
voxelbench.tier | OP | /bench tier |
voxelbench.reload | OP | /bench reload et /bench custom reload |
voxelbench.link | OP | /bench link et /bench link force |
voxelbench.verify | OP | /bench verify |
voxelbench.world | OP | /bench world, /bench zones tp et /bench zones clean (qui ne retire d'entités que dans les mondes voxelbench_*) |
voxelbench.custom | OP | /bench custom |
voxelbench.profile | OP | /bench profile (profileur expérimental) : captures, tampon circulaire, profils enregistrés, et les écrans Profileur et Rapports → Profils du menu. Les profils nomment les classes de tous vos plugins |
voxelbench.profile.upload | OP | /bench profile upload : envoyer un profil enregistré au compte voxelbench.com du serveur, tout de suite ou après un aperçu et une confirmation. Exigé en plus de voxelbench.profile, qui ne l'accorde pas |
voxelbench.profile.share | OP | /bench profile share / unshare : publier une copie nettoyée d'un profil enregistré derrière un lien public non listé (sans compte, 7 jours), tout de suite ou après un aperçu et une confirmation, et supprimer ce lien. Exigé en plus de voxelbench.profile ; ni lui ni voxelbench.profile.upload ne l'accordent |
voxelbench.memory | OP | /bench memory (inspection mémoire expérimentale) : résumés du tas, qui forcent un GC complet (un bref gel du serveur) et nomment les classes de tous les plugins installés ; lister, réafficher et supprimer les résumés du tas et les analyses de vidages ; et les écrans Mémoire et Rapports → Mémoire du menu |
voxelbench.memory.dump | OP | /bench memory dump : écrire un vidage complet du tas, après un aperçu et une confirmation. Il fige tout le serveur et le fichier contient tout ce qui est en mémoire (jetons, mots de passe, données des joueurs). Aussi /bench memory analyze (lancer ou annuler l'analyse d'un vidage, dans un processus Java séparé qui peut prendre des gigaoctets de mémoire ; le bouton du menu aussi) : l'analyse lit ce même fichier. Exigé en plus de voxelbench.memory, qui ne l'accorde pas, et accordé par aucun autre nœud |
voxelbench.memory.upload | OP | /bench memory upload : envoyer un résumé du tas ou une analyse de vidage enregistré au compte voxelbench.com du serveur (jamais un vidage du tas), tout de suite ou après un aperçu et une confirmation ; aussi le verbe upload après summary, analyze et dump … analyze. Exigé en plus de voxelbench.memory, qui ne l'accorde pas, et accordé par aucun autre nœud |
voxelbench.memory.share | OP | /bench memory share / unshare : publier une copie nettoyée d'un résumé ou d'une analyse enregistré derrière un lien public non listé (sans compte, 7 jours), et supprimer ce lien ; aussi le verbe share après summary, analyze et dump … analyze. Exigé en plus de voxelbench.memory ; ni lui ni voxelbench.memory.upload ne l'accordent |
voxelbench.lang | Tous | /bench lang (nécessite toujours voxelbench.use) |
voxelbench.test | OP | Tous les tests intégrés ; inclut .test.hardware, .test.gameplay et .test.singlecore |
voxelbench.monitor | OP | Tout /bench monitor ; inclut .monitor.bars et .monitor.web |
voxelbench.monitor.bars | OP | Monitoring par boss bars |
voxelbench.monitor.web | OP | Tableau de bord web, mode push, monitoring distant vers voxelbench.com, authentification du tableau de bord, whitelist IP et HTTPS |
voxelbench.admin | OP | Notifications de mise à jour en jeu (voir update-check dans Configuration) |
Permissions des commandes
Chaque commande exige voxelbench.use, plus :
| Commande | Permission supplémentaire |
|---|---|
/bench help, version, status, tps, mspt, ping | Aucune (voxelbench.use uniquement) |
/bench zones (liste) | Aucune (voxelbench.use uniquement) |
/bench zones tp, /bench zones clean | voxelbench.world |
/bench start | voxelbench.start ; l'option force nécessite aussi voxelbench.start.force |
/bench stop, /bench cancel | voxelbench.stop, y compris pour arrêter un test que vous avez lancé vous-même |
/bench gui | voxelbench.gui |
/bench info | voxelbench.info |
/bench reports | voxelbench.reports |
/bench stresslimit | voxelbench.stresslimit ; force nécessite aussi voxelbench.start.force |
/bench tier | voxelbench.tier |
/bench reload | voxelbench.reload |
/bench link, /bench link force | voxelbench.link |
/bench verify | voxelbench.verify |
/bench world | voxelbench.world |
/bench custom | voxelbench.custom ou voxelbench.start ; /bench custom reload nécessite aussi voxelbench.reload, et /bench custom run d'un profil de stress limit nécessite aussi voxelbench.stresslimit |
/bench lang | voxelbench.lang |
/bench profile (toutes ses autres sous-commandes) | voxelbench.profile |
/bench profile upload | voxelbench.profile et voxelbench.profile.upload |
/bench profile share, /bench profile unshare | voxelbench.profile et voxelbench.profile.share |
/bench memory (toute autre sous-commande) | voxelbench.memory |
/bench memory dump (et dump list, dump delete, dump … analyze) | voxelbench.memory et voxelbench.memory.dump |
/bench memory analyze [<vidage>] [mode], analyze cancel | voxelbench.memory et voxelbench.memory.dump |
/bench memory analyze list, show, delete | voxelbench.memory |
/bench memory upload (alias send), et le verbe upload après summary, analyze ou dump … analyze | voxelbench.memory et voxelbench.memory.upload (plus voxelbench.memory.dump pour analyze et dump) |
/bench memory share, /bench memory unshare, et le verbe share après summary, analyze ou dump … analyze | voxelbench.memory et voxelbench.memory.share (plus voxelbench.memory.dump pour analyze et dump) |
/bench monitor | Voir Permissions de monitoring |
/bench test (liste) | Aucune (voxelbench.use uniquement) |
/bench test <id> | Le nœud de ce test, voir Permissions de tests |
Sans voxelbench.world, /bench zones liste toujours les zones, mais masque les liens de téléportation et les lignes d'aide de tp et clean. La ligne de clean n'apparaît que lorsque les zones se trouvent dans un monde voxelbench_*, les seuls où clean retire quelque chose.
Sans voxelbench.stresslimit, les profils de stress limit ne sont pas proposés : l'autocomplétion de /bench custom run, l'écran des profils personnalisés et la liste des profils disponibles affichée après un nom inconnu les laissent de côté. /bench custom list et info montrent toujours tous les profils.
Permissions de monitoring
Détenir une seule des permissions voxelbench.monitor, voxelbench.monitor.bars ou voxelbench.monitor.web ouvre l'espace de monitoring ; chaque partie exige ensuite son propre nœud :
| Commande | Nécessite l'une de |
|---|---|
/bench monitor, monitor status, monitor gui, monitor help | voxelbench.monitor, voxelbench.monitor.bars, voxelbench.monitor.web |
/bench monitor bars ... | voxelbench.monitor.bars |
/bench monitor web ..., push ..., remote ..., auth ..., whitelist ..., https ... | voxelbench.monitor.web |
/bench monitor reload | voxelbench.monitor |
/bench monitorsans argument ouvre l'écran des boss bars pour les joueurs qui ontvoxelbench.monitor.bars; pour les autres, il affiche l'état.voxelbench.monitor.webcouvre tout ce qui expose les métriques hors du jeu : le serveur HTTP, le mode push, les clés d'API, la whitelist IP et les certificats.voxelbench.monitoraccorde les deux nœuds enfants, et c'est le seul nœud qui permet/bench monitor reload, car cette commande recharge toute la configuration du plugin.
Écrans de l'interface
Ces écrans vérifient une permission à leur ouverture, quel que soit le chemin pour y arriver :
| Écran | Nécessite |
|---|---|
Menu principal (/bench gui) | voxelbench.gui |
| Réglages | voxelbench.settings (ses deux boutons qui écrivent config.yml la revérifient) |
| Informations serveur | voxelbench.info |
| Monitoring par boss bars | voxelbench.monitor.bars |
| Menu du monitoring, état du monitoring | N'importe quel nœud de monitoring |
| Serveur web, mode push, monitoring distant, authentification, HTTPS, whitelist IP | voxelbench.monitor.web |
| Rapports (menu, listes, détails, comparaison) | voxelbench.reports |
| Stress Limit | voxelbench.stresslimit |
| Profils personnalisés | voxelbench.custom ou voxelbench.start ; l'écran ne liste les profils de stress limit qu'avec voxelbench.stresslimit |
Les boutons qui lancent un benchmark, un test ou une autre action exécutent la commande correspondante : les permissions des commandes ci-dessus s'appliquent donc aussi.
Permissions de tests
Chaque test est protégé par son propre nœud. Ce nœud appartient au test lui-même : l'identifiant canonique et l'alias court d'un test demandent donc la même permission (par exemple /bench test lightingUpdate et /bench test lighting vérifient tous deux voxelbench.test.lighting). /bench test seul et /bench test list ne demandent aucun nœud supplémentaire, et un identifiant inconnu affiche seulement une erreur.
Les nœuds de catégorie regroupent les tests comme le catalogue des tests :
| Permission | Inclut |
|---|---|
voxelbench.test | Tous les tests intégrés (les trois nœuds ci-dessous) |
voxelbench.test.hardware | Les tests matériels |
voxelbench.test.gameplay | Les tests gameplay |
voxelbench.test.singlecore | Les tests CPU single-core |
Tests matériels
| Permission | Test |
|---|---|
voxelbench.test.disk | disk |
voxelbench.test.network | network |
voxelbench.test.memory | memory |
voxelbench.test.multicore | multiCore |
Tests CPU single-core
| Permission | Test |
|---|---|
voxelbench.test.singlecorebenchmark | singleCoreBenchmark |
voxelbench.test.singlecoremax | singleCoreMax |
Tests gameplay
| Permission | Test |
|---|---|
voxelbench.test.chunkloading | chunkLoading |
voxelbench.test.mobspawn | mobSpawn |
voxelbench.test.hopper | hopper |
voxelbench.test.explosion | explosion |
voxelbench.test.lighting | lightingUpdate (alias lighting) |
voxelbench.test.worldsave | worldSave |
voxelbench.test.redstone | redstone |
voxelbench.test.blockphysics | blockPhysics |
voxelbench.test.chunkticking | chunkTicking |
voxelbench.test.collision | entityCollision (alias collision) |
voxelbench.test.tileentity | tickingTileEntity (alias tileentity) |
voxelbench.test.mobai | mobAI |
voxelbench.test.mobpathfinding | mobPathfinding |
voxelbench.test.villager | villagerTrading (alias villager) |
voxelbench.test.bonemealgrowth | boneMealGrowth |
voxelbench.test.liquidphysics | liquidPhysics |
voxelbench.test.combatsimulation | combatSimulation |
voxelbench.test.projectilestorm | projectileStorm |
voxelbench.test.entitycramming | entityCramming |
voxelbench.test.playerworldload | playerWorldLoad |
Tests d'extension
Un test ajouté par un autre plugin exige la permission déclarée par son auteur, s'il en a déclaré une. Un test déclaré sans permission ne demande que voxelbench.use.
Ces nœuds protègent
/bench testet les boutons de test de l'interface. Une suite entière est autorisée par un seul nœud, et non test par test :/bench startexécute le benchmark standard sousvoxelbench.start, et les tests d'un profil personnalisé s'exécutent sousvoxelbench.custom(ouvoxelbench.start), plusvoxelbench.stresslimitpour un profil de stress limit. Un joueur qui peut lancer un profil lance tous les tests qu'il contient.
Permissions Dynmap
Ces permissions contrôlent qui peut voir les couches VoxelBench sur l'interface web de Dynmap.
| Permission | Description |
|---|---|
voxelbench.dynmap | Toutes les couches Dynmap |
voxelbench.dynmap.view | Déclarée, mais utilisée par aucune couche dans l'exemple de markers.yml des Intégrations ; voxelbench.dynmap couvre toutes les couches |
voxelbench.dynmap.heatmap | Heatmap de densité d'entités |
voxelbench.dynmap.alerts | Marqueurs d'alerte de performance |
voxelbench.dynmap.testzones | Zones de test actives |
Note : les permissions Dynmap nécessitent une configuration supplémentaire dans
plugins/dynmap/markers.yml. Voir Intégrations - Dynmap pour les détails.
Mise à jour depuis la 1.8.1 ou antérieure
Jusqu'à VoxelBench 1.8.1, la plupart de ces permissions étaient déclarées mais pas vérifiées. Elles sont désormais appliquées. Les opérateurs et les joueurs qui ont * ne sont pas concernés ; pour les autres :
- Nœuds des commandes.
voxelbench.usesuffisait pour/bench start,stop,gui,info,reports,stresslimit,reloadetmonitor. Un groupe qui n'avait reçu quevoxelbench.useperd l'accès à ces commandes : accordez-lui les nœuds dont il a besoin, par exemplevoxelbench.startetvoxelbench.stop. - Nouveaux nœuds.
/bench linkexige désormaisvoxelbench.link,/bench zones tpetzones cleanexigentvoxelbench.world, et l'écran des réglages exigevoxelbench.settings. - Tests. Chaque test vérifie maintenant son nœud, y compris ceux qui se lançaient avec
voxelbench.useseule (lightingUpdate,entityCollision,tickingTileEntity,villagerTradingsous leur identifiant canonique, ainsi queprojectileStorm,entityCramming,playerWorldLoad,singleCoreBenchmarketsingleCoreMax). - Tests déplacés.
mobPathfinding,redstoneetblockPhysicspassent devoxelbench.test.singlecoreàvoxelbench.test.gameplay, leur catégorie. Un groupe à quivoxelbench.test.singlecoreavait été accordée pour les lancer a désormais besoin devoxelbench.test.gameplayou des nœuds individuels ;voxelbench.test.singlecorecouvre maintenantsingleCoreBenchmarketsingleCoreMax.
Exemples LuckPerms
Donner un accès complet à un groupe admin
/lp group admin permission set voxelbench.* true
Autoriser un groupe à lancer des tests mais pas des benchmarks complets
/lp group moderator permission set voxelbench.use true
/lp group moderator permission set voxelbench.test true
/lp group moderator permission set voxelbench.stop true
/lp group moderator permission set voxelbench.gui true
/lp group moderator permission set voxelbench.info true
Laisser un groupe de staff gérer le tableau de bord web
/lp group staff permission set voxelbench.use true
/lp group staff permission set voxelbench.monitor.web true
Permettre à tous les joueurs de vérifier le TPS
/lp group default permission set voxelbench.use true
Cela donne accès aux commandes qui ne demandent rien d'autre que voxelbench.use : /bench tps, mspt, status, version, help, ping, la liste des zones et la liste des tests.