
React - Performance intelligente du serveur
GITHUB • DOCUMENTATION • DISCORD
Ce qu'est réellement React
React est trois choses qui fonctionnent ensemble.
1. Une couche de mesure. Plus de 140 choses concernant votre serveur sont mesurées en continu : le timing des ticks et ses percentiles, la collecte des déchets, le retard du planificateur, les entités par type, les chunks, les hoppers, le redstone, les fluides, la physique, le ping des joueurs, et le coût de chaque gestionnaire d'événements d'autres plugins.
2. Des contrôles qui agissent sur ces mesures. 48 fonctionnalités de performance et 19 ajustements, chacun configuré indépendamment, chacun lisant le même signal de pression. Ils réduisent le travail lorsque le serveur est sous charge et le restaurent à un comportement par défaut une fois que le serveur a les ressources nécessaires.
3. Un endroit pour le voir. Votre barre d'action, les cartes en jeu et les murs de cartes, PlaceholderAPI, ou une API web authentifiée. Les mêmes chiffres, quatre surfaces.
Fonctionnalités de performance
Les contrôles sont regroupés par le type de travail serveur qu'ils gèrent. Chaque groupe est configuré indépendamment.
Budgets de charge serveur
Ajuste la distance de simulation et le travail des entités lorsque le serveur est sous pression.
Distance de vue dynamique et distance de simulation, avec une période de grâce de démarrage pour ne pas effondrer votre distance de vue pendant que le serveur démarre.
Gouverneurs de portée d'activation et de portée de suivi qui réduisent les plages par monde sous charge et les restaurent lors de la récupération.
Budget de recherche de chemin pour les mobs éloignés des joueurs, qui obtiennent un budget de recherche de chemin plus petit, de sorte que chaque recherche de chemin coûte moins sans changer le comportement des mobs.
Gouverneur de tick aléatoire, réduction de la vue AFK, budgets de tick par monde.
Budgets par monde
Chaque monde obtient son propre état NORMAL, PRESSURE ou PANIC avec ses propres seuils. Un monde occupé ne bride plus les mondes calmes. La recherche de chemin, les plages d'activation, le sommeil des entités et la contre-pression des objets en lisent tous.
Activité mondiale
Répartit le travail des chunks, des spawn, des fermes et des portails à travers l'activité normale du serveur.
Quarantaine des chunks et scoring des chunks chauds isolent les chunks qui entraînent réellement le coût des ticks.
Limiteur de burst de spawn avec retour en arrière des générateurs, de sorte qu'un broyeur limité cesse de réessayer et d'annuler chaque cycle.
Cache de lumière des générateurs, lissage du burst de ferme, lissage du trafic des portails.
Avance rapide des cultures, qui ne fonctionne que lorsque le serveur est calme et rattrape les chunks dormants lorsqu'ils se réveillent.
Objets et conteneurs
Réduit les analyses d'inventaire répétées et contrôle l'accumulation d'objets.
Index des objets des hoppers, React garde un index spatial des objets tombés et des positions des hoppers et consomme des objets au-dessus d'un hopper avant que l'analyse par tick de vanilla ne s'exécute.
Cooldown des hoppers inactifs s'étendant sous charge.
Seau de jetons des hoppers, contre-pression des objets, empilement des objets.
Le batching des fours et des brassages saute des ticks sous pression, puis avance rapidement la dette pour que les compteurs rattrapent.
Physique et redstone
Contrôle le travail répétitif des circuits, des explosions, de la gravité et des générateurs.
Isolation des circuits et un gouverneur de clock redstone pour les horloges incontrôlées.
Batching des paquets d'explosion pour les explosions au même tick qui fusionnent en un seul paquet par cluster. Les dégâts, la destruction de blocs et le recul restent inchangés.
Gestion des blocs tombants, mises à jour des fluides et de la neige.
Entités et spawn
Empilement des mobs, réduction des entités, prévention de la foule.
Sommeil adaptatif des entités avec cycle de devoir AI, les mobs dans la bande de distance intermédiaire tournent à travers les slots de conscience au lieu d'être soit complètement éveillés soit complètement endormis.
Attache de minecart, arrêt dur des entités.
REMARQUE Il existe plusieurs fonctionnalités qui sont définies pour surveiller uniquement par défaut pour les paramètres que nous pensons que la plupart des joueurs pourraient vouloir désactiver, nous vous encourageons vivement à passer en revue les fichiers de configuration et à jouer avec les paramètres.
Ajustements
Ajustements ciblés pour les blocs, les entités, les objets, les hoppers et les serveurs vides.
Blocs et fluides Blocs tombants, colonnes verticales, feu, propagation des fluides, mises à jour de la neige. fluides rapides accélère les fluides en utilisant des ticks natifs supplémentaires limités et se dégrade en un mode passif si le hook du serveur n'est pas disponible.
Entités et véhicules Prévention de la foule, arrêt dur des entités, limite des projectiles, rayon de joueur des générateurs, frein inactif des véhicules, bulleur d'entités.
Chutes et hoppers Fusion des orbes d'expérience, chutes directes, accélérateur de désapparition des objets, indexation des hoppers, limites de travail des hoppers, incinération.
Sécurité du serveur Un mode de sommeil pour serveur vide optionnel, derrière sa propre porte explicite.
Surveillance
Les mesures configurées du serveur peuvent être affichées dans le jeu via une carte tenue, la sortie de commande, plusieurs cartes empilées ensemble via des cadres d'objets dans une grille ou via l'API Web.
Barre d'action
\/react monitor place vos mesures choisies dans votre barre d'action pendant que vous jouez. Accroupissez-vous et faites défiler pour changer de groupe, double accroupissez-vous pour verrouiller. React enchérira pour la barre d'action aux côtés d'autres plugins Volmit plutôt que de se battre pour elle, et reviendra à sa propre barre de boss lorsqu'il la perd.
Cartes
\/react map dessine toute mesure sur une carte tenue ou une carte dans un cadre d'objet.
Les cartes survivent aux redémarrages. Une carte React porte un jeton et se rebinde à son rendu lors du chargement de chunk et après un redémarrage.
Cartes géantes. Des cadres adjacents contenant des cartes du même rendu se combinent en un seul affichage en mosaïque. Les grilles se reforment en direct et la rotation des cadres s'aligne.
Le contenu s'étend plutôt que de zoomer. Un mur plus haut liste plus de lignes, un mur plus large ajoute des colonnes, et les cartes thermiques élargissent leur zone échantillonnée et passent à des cellules plus fines.
Diagnostics de mur vous indiquent quels murs ont été détectés, leur taille, et pourquoi un a été rejeté ; écart, cadre tourné, carte dupliquée, cartes mélangées.
Espaces réservés
Chaque mesure est accessible via PlaceholderAPI sous %react_sampler.<id>%, plus des raccourcis nommés pour les communs. Nécessite PlaceholderAPI.
Hubs de catégorie
Le navigateur de cartes et le sélecteur d'échantillonneur s'ouvrent en tant que catégories plutôt qu'une longue liste plate, avec un compte d'entrées sur chacune. Les catégories pour les plugins que vous n'avez pas n'apparaissent tout simplement pas.
Ce qui est mesuré
Santé du serveur Timing des ticks et percentiles, taux de pics de ticks, charge du processus et du système, mémoire, pause de collecte des déchets et pourcentage de temps, retard du planificateur.
Activité mondiale Joueurs, entités par type, chunks, entités de blocs, sauvegardes, redstone, hoppers, fluides, physique.
Activité des plugins Coût des gestionnaires d'événements par plugin, propre file d'attente de tâches de React, et métriques en direct de tout autre plugin Volmit que vous avez installé.
Diagnostics et opérations
Les enregistrements aident à identifier le travail coûteux. Les actions des opérateurs fournissent une réponse contrôlée.
Cartes thermiques et superpositions
Il y en a neuf : pression des entités, activité redstone, débit des hoppers et des conteneurs, coût de chargement et de génération des chunks, échantillonneur de chunks, origine des pics de ticks, impact des joueurs, plus des superpositions de pression Adapt et Iris.
Avec rien qui se passe, vous obtenez un "aucune activité à proximité" explicite plutôt qu'un bruit amplifié, et un chunk actif se rend comme chaleur intermédiaire plutôt que rouge maximum.
Cartes de coût par plugin
Chaque plugin tiers sur votre serveur obtient sa propre carte montrant diverses informations, ajoutée automatiquement lorsque le plugin est activé et supprimée lorsqu'il est désactivé. Rien à ajouter ou à changer dans la configuration.
Enregistrement d'incidents
React garde un score composite d'incidents et rapporte les entrées pondérées qui sont produites, vous permettant de le lire après qu'un pic se soit produit.
Actions des opérateurs
purge-entities, purge-chunks, collect-garbage, quarantine-hot-chunks, trim-entities-by-age-priority, hopper-network-normalize, prewarm-critical-chunks, et incident-playbook pour des contrôles puissants sur ce que vous souhaitez ajuster.
React respecte les marqueurs de protection des entités d'autres plugins partout où il touche aux entités : empilement, réduction, prévention de la foule, incinération, purges et quarantaine. Les invocations et marqueurs de capacité d'autres plugins ne sont jamais fusionnés ou détruits.
Benchmarks et environnement
\/react benchmark donne des scores relatifs de processeur, de mémoire et de disque sur une seule échelle où 100 est une machine de référence. Il fonctionne sur le thread principal du serveur. Ceux-ci sont pour comparer les exécutions sur la même machine, pas pour évaluer le matériel.
\/react environment info imprime un rapport matériel complet : CPU, mémoire, disques, interfaces réseau, affichages, capteurs. Il télécharge également un résumé de ce rapport (versions, CPU, mémoire et totaux de disque) vers un service de paste externe et renvoie un lien.
Santé du pont et des pairs
\/react bridge status montre quels hooks natifs ont été chargés sur votre serveur et pourquoi certains d'entre eux ne l'ont pas été.
\/react integration status montre si chaque plugin Volmit détecté répond encore.
Auto-test
\/react test run teste la surveillance, le rendu de carte, le cycle de vie des fonctionnalités, la suite d'actions et la santé du pont, et produit un rapport dans plugins\/React\/test-outputs. Ne faites PAS exécuter cela sur un serveur de production avec des joueurs actifs.
Commandes
La commande racine est \/react, aliasé \/re.
Les paramètres optionnels se lient par nom. Les valeurs sont écrites sous la forme name=value. Les paramètres requis acceptent un bare value. La complétion par tabulation suggère la forme correcte.
\/react monitor Toggle le moniteur de la barre d'action
\/react map [renderer=<id>] Lier une carte à une mesure
\/react set-player-view-distance <distance> Définir votre propre distance de vue
\/react config gui Éditeur de configuration en jeu
\/react config monitor Modifier votre propre mise en page de moniteur
\/react chunk sample Lectures pour le chunk dans lequel vous vous trouvez
\/react chunk worst Voyager vers le chunk le plus coûteux
\/react action purge-entities [radius=0] [world=ALL]
\/react action purge-chunks [world=ALL]
\/react action collect-garbage
\/react action quarantine-hot-chunks [max-chunks=24] [min-score=90] [world=ALL]
\/react action trim-entities-by-age-priority [max-entities=600] [min-age-seconds=300] [world=ALL]
\/react action hopper-network-normalize [max-chunks=20] [min-hopper-updates=25] [world=ALL]
\/react action prewarm-critical-chunks [max-chunks=40] [neighbor-radius=1] [world=ALL]
\/react action incident-playbook [include-gc=true] [tier=-1] [world=ALL]
\/react action audit Lister les actions disponibles
\/react integration status Santé des plugins pairs
\/react bridge status Santé des hooks natifs
\/react benchmark cpu | drive | memory | all
\/react environment info
\/react test run [full=true] [json=true] Auto-test avec un rapport écrit
\/react web pair <label> [role=admin] Mint un jeton d'accès
\/react web list
\/react web revoke id=<id>
\/react reload
\/react version
\/react help [page]Notes
purge-entities'sradiusest limité à 10 en interne, donc un nombre plus grand ne fera pas ce que vous attendez.La plupart des groupes et des feuilles ont de courts alias
\/react action pe,\/react m,\/react bench all.\/react cse résout enchunk, pasconfigles deux déclarent cet alias et chunk l'emporte. Utilisez\/react cfgpour le groupe de configuration.\/react helpparcourt l'arbre complet avec des descriptions, des types de paramètres, des valeurs par défaut et un exemple pour chacun. Tous cliquables.
Configuration & Permissions
Chaque fonctionnalité de React est entièrement configurable et chaque option est documentée dans les fichiers de configuration.
plugins\/React\/config.toml Langue, journalisation, métriques, mise en page du moniteur
plugins\/React\/feature\/<id>.toml Un fichier par fonctionnalité de performance
plugins\/React\/tweak\/<id>.toml Un fichier par ajustement
plugins\/React\/action\/<id>.toml Un fichier par action d'opérateur
plugins\/React\/sampler\/<id>.toml Un fichier par mesure
plugins\/React\/player-settings\/ État du moniteur par joueur
plugins\/React\/languages\/overrides\/ Vos propres remplacements de langue
plugins\/React\/web.toml Ressource web de liaison et accès
plugins\/React\/web\/tokens.toml Jetons d'accès web émisreact.use Utiliser la commande racine \/react op
react.* Toutes les commandes React opRechargement à chaud Modifiez un fichier, enregistrez-le, et React l'applique. Un fichier invalide ou à moitié écrit est rejeté plutôt qu'appliqué, et votre configuration en direct reste active. De nouvelles options se fusionnent dans vos fichiers existants au chargement, donc une mise à jour ne réinitialise jamais vos modifications.
Quelques options nécessitent un redémarrage du serveur pour être mises à jour (notées dans la description de la configuration) comme le fait que les métriques bStats soient activées ou désactivées et le changement des paramètres pour le serveur web.
\/react config gui ouvre un éditeur en jeu, avec : Performance et Charge, Entités et Mobs, Redstone et Circuits, Hoppers et Stockage, Monde et Blocs, Diagnostics et HUD. Il existe des profils préétablis à un clic Désactivé, Léger, Équilibré et Élevé , et un onglet Avancé avec l'arbre complet si vous le souhaitez.
Remplacements par monde sont pris en charge pour affiner encore plus les paramètres.
Langues 17 langues sont traduites de l'anglais standard par défaut à choisir.
Pour changer, définissez language dans plugins\/React\/config.toml
language = "en_US"
de_DE Allemand (Allemagne)
es_ES Espagnol (Espagne)
fi_FI Finnois (Finlande)
fr_FR Français (France)
he_IL Hébreu (Israël)
it_IT Italien (Italie)
ja-JP Japonais (Japon)
ko_KR Coréen (Corée du Sud)
lt_LT Lituanien (Lituanie)
nl_NL Néerlandais (Pays-Bas)
pl_PL Polonais (Pologne)
pt_PT Portugais (Portugal)
ru_RU Russe (Russie)
tr_TR Turc (Turquie)
vi_VI Vietnamien (Vietnam)
zh_CN Chinois (Simplifié)
zh_TW Chinois (Traditionnel)API Web
Désactivé par défaut Activez-le dans plugins\/React\/web.toml et il se lie à 127.0.0.1:9696. L'activation et le changement de port nécessitent un redémarrage du serveur pour prendre effet.
Il sert des ressources authentifiées pour les métriques, les journaux, les cartes thermiques, les incidents, les fonctionnalités, les ajustements, la configuration, les mondes et les actions, plus des flux de métriques et de journaux en direct.
L'accès se fait par jeton, minté dans le jeu :
\/react web pair <label> [role=viewer|operator|admin]
Trois rôles : viewer lit, operator peut exécuter, admin peut exécuter des actions destructrices et écrire une configuration globale. Les jetons fonctionnent immédiatement, sans redémarrage. Les actions destructrices nécessitent à la fois le rôle d'administrateur et une confirmation explicite.
Lisez ceci avant de l'exposer.
Le rôle par défaut est
admin. Exécuter\/react web pair serversans rôle sera défini sur admin. Passez toujoursrole=viewerà moins que vous ne le vouliez autrement.TLS n'est pas implémenté
web.tomlcontient des clés TLS, mais les définir n'encrypte pas l'écouteur. Si vous avez besoin qu'il soit accessible en dehors de l'hôte, mettez-le derrière un proxy inverse qui termine TLS.Un
corsOriginsvide signifie que toute origine est autorisée. Combiné avec l'exigence de jeton qui est survivable, mais définissez-le si cela vous tient à cœur.
Les exécutions d'actions à distance et l'émission ou la révocation de jetons sont écrites dans un journal d'audit uniquement ajoutable.
Autres plugins Volmit
Tous les plugins de Volmit prennent en charge React, permettant des hooks et une surveillance supplémentaires que vous n'obtiendriez normalement pas par défaut.
Iris 18 tableaux de bord couvrant la génération, le moteur, le cycle de vie, le cache et les signaux de pré-génération, plus des cartes de partage de chunks de biome et de monde et une superposition de pression de génération.
Adapt Opérations de capacité, charge de session, latence de politique, et une carte classant les capacités actives par coût mesuré.
Trous de ver Portails, projections, observateurs, temps de rendu, trafic et pairs de maillage.
HoloUi, HiddenOre, BileTools Catalogues de métriques de première fois, chacun avec sa propre carte de tableau de bord.
Chacun obtient sa propre catégorie dans le hub de cartes, et ils n'apparaissent que lorsque le plugin est réellement installé et en bonne santé.
Compatibilité
React prend en charge Paper, Purpur, Leaf, Folia, Canvas, Spigot sur Java 25.
Folia est correctement implémenté, pas seulement déclaré. Le travail est dispatché au planificateur de région, d'entité ou global qui le possède, la propriété est vérifiée avant qu'un moniteur n'écrive, et les murs de carte, les analyses de cadre et la réparation d'inventaire s'exécutent tous sur le bon thread de région.
Leaf & Purpur est pris en charge en tant que fork de Paper.
Spigot est pris en charge, cependant quelques fonctionnalités ne fonctionneront pas sans avoir l'un des autres jars de serveur comme la distance de vue dynamique, la réduction de vue AFK et les ajustements Shorthand.
\/react bridge status vous dit exactement quels hooks ont été résolus et lesquels ne l'ont pas été, donc un fallback est visible plutôt que silencieux.
Prêt à créer quelque chose d'incroyable ?
Rejoignez la communauté MCModels et commencez à construire vos projets de rêve dès aujourd'hui.







