Compatibilité
Logiciels serveur
Testé à chaque release sur la matrice ci-dessous. Les entrées
soft-skip sont détectées par le plugin et annoncées dans le log de
démarrage ; les tests qui ne peuvent pas tourner sur le runtime sont
reportés comme SKIPPED plutôt que comptés comme échecs.
| Logiciel | Versions | Statut |
|---|---|---|
| Paper | 1.17 → 26.1 | Première classe. Smoketest CI à chaque version mineure. |
| Spigot | 1.17 → 26.1 | Première classe. Surface API identique à Paper pour les parties utilisées. |
| Folia | 1.20+ | Première classe. L'abstraction scheduler route toutes les tâches via le regional scheduler Folia. |
| Purpur | 1.20+ | Hérite de la compat Paper. Les gamerules Purpur-spécifiques sont contournés. |
| Pufferfish | 1.20+ | Hérite de la compat Paper. |
| Mohist | 1.20.1+ | Hybride Forge+Bukkit. La génération de monde plat passe par un ChunkGenerator Bukkit custom (voir Runtimes hybrides). |
| Arclight | 1.20.1, 1.20.4 | Hybride Forge+Bukkit. Même chemin flat-world que Mohist. |
| Banner, NeoTenet, Magma, CatServer, Cardboard | Variées | Détectés comme hybrides ; même enveloppe de compatibilité que Mohist/Arclight. Certaines entrées sont soft-skip en CI sur bugs upstream. |
Support Folia
VoxelBench inclut une abstraction de scheduler personnalisée qui détecte automatiquement Folia et utilise ses schedulers region-threaded. Aucune configuration supplémentaire n'est nécessaire.
Versions Minecraft
| Plage | Java requis |
|---|---|
| 1.17 → 1.20.4 | Java 16 minimum (Java 17 recommandé) |
| 1.20.5 → 1.21.x | Java 21 |
| 26.1.x | Java 25 LTS |
Le plugin compile contre l'API Spigot 1.17.1 et utilise des
adaptateurs runtime (MaterialCompat, EntityTypeCompat,
EnchantmentCompat, PotionEffectCompat, GameRule.getByName(...))
pour que le même JAR tourne sur toutes les versions supportées sans
recompilation. Voir Runtimes hybrides si vous
utilisez Mohist/Arclight.
Nous recommandons Java 21 pour les meilleures performances. Les versions récentes de Java incluent des améliorations significatives du garbage collection et du JIT qui impactent directement les résultats de benchmark.
Dépendances optionnelles
Ces plugins sont optionnels. VoxelBench les détecte et s'intègre automatiquement lorsqu'ils sont présents.
| Plugin | Version | Utilité |
|---|---|---|
| PlaceholderAPI | 2.10+ | Placeholders personnalisés pour scoreboards, tab lists |
| Dynmap | 3.0+ | Couches cartographiques (heatmap d'entités, alertes de performance) |
| Spark | 1.10+ | Métriques avancées de profilage CPU |
| DiscordSRV | 1.25+ | Notifications Discord des résultats de benchmark |
Aucune configuration supplémentaire n'est nécessaire pour ces intégrations. Elles sont activées par défaut lorsqu'elles sont détectées. Vous pouvez désactiver des intégrations spécifiques dans config.yml :
integrations:
dynmap:
enabled: false
spark:
enabled: false
discordsrv:
enabled: false
Limitations connues
Proxys (BungeeCord / Velocity)
VoxelBench s'exécute sur les serveurs backend individuels, pas sur le proxy lui-même. Installez-le sur chaque serveur backend que vous souhaitez benchmarker.
La vérification du serveur (/bench verify) nécessite que le port de jeu du serveur soit directement accessible depuis Internet pour la vérification SLP.
Hébergement mutualisé
Certains hébergeurs mutualisés restreignent :
- Les connexions HTTPS sortantes : Nécessaires pour soumettre les résultats à voxelbench.com
- Le binding de ports : Nécessaire pour le tableau de bord web de monitoring
- Les E/S disque : Peut affecter la précision du test de disque
Vérifiez avec votre hébergeur si vous rencontrez des problèmes.
Serveurs virtuels (VPS/Cloud)
Les environnements virtualisés peuvent afficher des résultats de benchmark inconsistants en raison de :
- Ressources CPU partagées avec d'autres locataires
- E/S disque virtualisées
- Performance réseau variable
Pour les résultats les plus précis, utilisez du matériel dédié. Les résultats VPS restent utiles pour comparer des configurations chez le même hébergeur.