Vulcan Anti-Cheat : une protection avancée pour votre serveur Minecraft
Vulcan est l'un des anti-cheats payants les plus précis pour Minecraft. Il analyse les paquets réseau bruts, propose plus de 100 vérifications différentes et permet de régler finement les seuils de sanction. Si vous voulez empêcher les tricheurs de gâcher la partie de vos joueurs, Vulcan est l'un des meilleurs choix du marché.
Qu'est-ce que Vulcan Anti-Cheat
Vulcan Anti-Cheat est un plugin payant pour serveurs Minecraft. Apparu d'abord sur SpigotMC, il s'est vite distingué par son approche de la détection. Au lieu de vérifier le comportement du joueur côté monde (par exemple s'il se déplace trop vite), il analyse les paquets réseau bruts échangés entre le client et le serveur. Il peut ainsi repérer les cheats beaucoup plus tôt, avant qu'ils n'affectent la partie.
Le plugin s'adresse aux serveurs PvP, aux serveurs survie avec des joueurs actifs et aux réseaux de serveurs où la triche est un vrai problème. Les petits serveurs entre amis n'ont sans doute pas besoin d'un outil aussi élaboré : une option gratuite comme Grim suffira. Mais si vous gérez un serveur avec des centaines de joueurs par jour et des plaintes régulières à propos de killaura ou de speed, Vulcan vaut son prix.
Vulcan prend en charge les versions de Minecraft de la 1.7 à la 1.21.x, ce qui est rare parmi les anti-cheats, la plupart se concentrant uniquement sur les versions récentes. La prise en charge de la 1.8 est particulièrement importante pour les serveurs PvP, car une bonne partie de la communauté PvP préfère encore le combat de la 1.8.
Cheats détectés
Vulcan comprend plus de 100 vérifications distinctes réparties en catégories. Le tableau ci-dessous présente les plus importantes :
| Cheat | Description | Catégorie |
|---|---|---|
| KillAura | Attaque automatique de joueurs et de mobs sans viser, souvent avec un angle ou une rotation invalide | Combat |
| Reach | Attaque depuis une portée supérieure aux 3 blocs autorisés | Combat |
| AutoClicker | Clics de souris à une cadence qu'aucun humain ne peut atteindre (au-dessus de ~20 CPS) | Combat |
| Velocity | Annulation du recul après un coup reçu, ce qui donne un avantage injuste en PvP | Combat |
| Speed | Déplacement plus rapide que ce qui est autorisé, à la marche comme en sprint | Déplacement |
| Fly | Vol sans autorisation : vol complet, mais aussi plané, sur-place ou bhop | Déplacement |
| NoFall | Suppression des dégâts de chute par manipulation des paquets de position | Déplacement |
| Scaffold | Pose automatique de blocs sous ses pieds en marchant dans le vide | Construction |
| Timer | Accélération du jeu par manipulation du tick du client, ce qui fait que le joueur se déplace et attaque plus vite | Déplacement |
| X-Ray | Vision à travers les blocs opaques, ce qui permet de repérer minerais et joueurs à travers les murs | Monde |
| Phase / NoClip | Traversée de blocs solides, de murs et de sols | Déplacement |
| AimBot | Visée automatique de la tête des joueurs avec une précision et une vitesse de rotation invraisemblables | Combat |
| Criticals | Coups critiques forcés sans sauter | Combat |
| AntiKnockback | Blocage de l'effet de recul après un coup, similaire au hack Velocity | Combat |
| Blink | Retenue des paquets puis envoi groupé, ce qui donne l'impression que le joueur se téléporte | Déplacement |
La liste complète des vérifications figure dans la documentation de Vulcan. Vous pouvez désactiver ou configurer chaque vérification séparément, ce qui est très utile quand l'une d'elles provoque de fausses alertes pour des joueurs honnêtes.
Comment fonctionne la détection par paquets
Les anti-cheats traditionnels vérifient le comportement du joueur après que le serveur a traité le mouvement, par exemple en comparant la position du joueur au tick précédent et au tick actuel. Cette approche a un défaut sérieux : le temps que le tricheur soit détecté, il a déjà volé des ressources, tué quelques joueurs ou effectué des actions illégales.
Vulcan procède autrement. Il s'enregistre comme écouteur de paquets réseau au niveau du protocole de ProtocolLib et analyse chaque paquet avant que le serveur ne le traite. Il peut ainsi repérer les anomalies directement dans les données envoyées par le client :
- Paquets de position/regard (Position/Look) : Vulcan vérifie si les changements de position sont physiquement possibles compte tenu de la vitesse du joueur, des blocs alentour et de ses effets de statut. Un hack de timer envoie ces paquets à une cadence différente de 20 par seconde, ce qui est détectable immédiatement.
- Paquets d'attaque (Use Entity) : KillAura et Reach laissent des traces caractéristiques : attaques sous un angle qu'aucun humain ne pourrait réaliser, rotation de la tête incohérente avec la direction du déplacement et coups portés au-delà de la portée autorisée.
- Paquets d'interaction : un AutoClicker génère une série de paquets à intervalles réguliers. Le clic humain est toujours irrégulier, donc Vulcan analyse la variance du temps entre les clics.
- Paquets de confirmation de transaction : les systèmes de compensation du lag de Minecraft utilisent des paquets Transaction pour la synchronisation. Certains cheats manipulent ces paquets, et Vulcan le détecte.
Le système repose sur des niveaux de violation : chaque comportement suspect ajoute des points de violation. Une sanction n'est appliquée qu'une fois un seuil configuré franchi, ce qui réduit fortement les fausses alertes causées par un pic de lag ponctuel d'un joueur.
Configuration
Après l'installation, Vulcan crée le dossier plugins/Vulcan/ avec plusieurs fichiers de configuration. Le plus important est config.yml :
# Réglages généraux
prefix: "&c[Vulcan] &r"
debug: false
verbose: false
# Réglages des alertes pour les joueurs ayant la permission vulcan.alerts
alerts:
enabled: true
format: "&c{player} &7flagged for &c{check} &7({vl})"
# Intégration avec d'autres plugins
hooks:
geyser: true # Détecter les joueurs Bedrock (Geyser)
viaversion: true # Prise en charge de plusieurs versions de client Chaque vérification a son propre fichier de configuration ou sa propre section dans checks.yml. Voici un exemple de configuration pour KillAura :
KillAura:
A:
enabled: true
max-violations: 5
punishment: "ban {player} 7d KillAura"
B:
enabled: true
max-violations: 10
punishment: "kick {player} KillAura detected" Chaque vérification peut avoir plusieurs variantes (A, B, C...) : des algorithmes de détection différents pour un même type de cheat. Vous pouvez définir des seuils et des sanctions différents pour chaque variante. Par exemple, une variante avec un max-violations bas attrape les cheats flagrants, tandis qu'une variante avec un seuil élevé attrape les modifications plus discrètes.
Commandes d'admin disponibles après l'installation :
/vulcan alerts: active ou désactive les alertes pour vous/vulcan kick <player>: expulse manuellement un joueur/vulcan ban <player>: bannit manuellement un joueur/vulcan logs <player>: l'historique des violations d'un joueur/vulcan reload: recharge la configuration sans redémarrage/vulcan debug <player>: mode debug pour un joueur précis
Sanctions et alertes
Vulcan propose trois niveaux de réaction aux cheats détectés, que vous pouvez configurer librement :
Alertes pour les admins
Les joueurs ayant la permission vulcan.alerts (généralement les modérateurs et les admins) reçoivent des messages en temps réel dans le chat. Un message contient le nom du joueur, le nom de la vérification du cheat et le niveau de violation actuel (VL). Un modérateur peut ainsi surveiller un suspect avant que le joueur ne soit sanctionné automatiquement.
Sanctions automatiques
Une fois le seuil de VL configuré franchi, Vulcan exécute la commande définie dans la configuration. Vous pouvez définir n'importe quelle commande : expulsion, bannissement, mute, notification Discord via DiscordSRV, ou même une commande personnalisée de votre plugin de bannissement (LiteBans, AdvancedBan, BanManager) :
punishment: "litebans ban {player} 30d #Automatic ban - {check} detected" Escalade des sanctions
Vous pouvez mettre en place un système de sanctions à plusieurs niveaux : une expulsion à 5 VL, un bannissement temporaire de 24 h à 15 VL, un bannissement définitif à 30 VL. Cela fonctionne bien, car un joueur honnête touché par un lag aléatoire cumulera peut-être 1 à 2 VL sans jamais atteindre un seuil de sanction, alors qu'un tricheur atteint rapidement le bannissement.
Les journaux de violations sont stockés dans une base de données (SQLite par défaut, MySQL/MariaDB en option). Cela permet une analyse a posteriori : vous pouvez consulter l'historique d'un joueur et décider si un bannissement était justifié.
Vulcan face aux autres anti-cheats
Plusieurs anti-cheats populaires existent sur le marché. Voici comment Vulcan se positionne par rapport à eux :
| Plugin | Prix | Détection | Faux positifs | Développement actif |
|---|---|---|---|---|
| Vulcan | ~20 EUR | Très bonne | Faibles (avec configuration) | Oui |
| Grim | Gratuit | Bonne (open source) | Moyens | Oui |
| Spartan | ~20 EUR | Moyenne | Plus élevés | Oui |
| Matrix | ~15 EUR | Bonne | Moyens | Oui |
| NoCheatPlus | Gratuit | Basique | Élevés | Limité |
Vulcan contre Grim
Grim est un anti-cheat gratuit et open source dont la technologie de détection est proche de celle de Vulcan : il repose lui aussi sur l'analyse des paquets. Grim a toutefois un cycle de publication plus lent et peut être moins stable sur les serveurs très fréquentés. Vulcan est un produit plus mûr, avec un meilleur support et une configuration plus étendue. Si votre budget est serré, Grim est une alternative raisonnable. Si vous pouvez dépenser 20 EUR, Vulcan vous épargnera bien des soucis.
Vulcan contre Spartan
Spartan est un plugin plus ancien, avec une longue histoire. Il compte plus d'avis en ligne et une large base d'utilisateurs, mais parmi les admins de serveurs Minecraft, Vulcan est généralement considéré comme plus précis dans la détection et moins sujet aux faux positifs. Spartan a un panneau de configuration un peu plus simple, ce qui peut être un argument pour les admins moins expérimentés.
Vulcan contre Matrix
Matrix est particulièrement populaire auprès des grands réseaux. Vulcan et Matrix sont comparables en prix et en qualité, et le choix entre les deux dépend souvent des préférences et de l'expérience de chaque admin. Il vaut la peine de tester les deux sur un serveur de test avant de décider.
Performances
Les anti-cheats ont la réputation de dévorer les TPS (ticks par seconde), si bien que les performances sont un facteur important dans le choix. Vulcan est écrit pour limiter le surcoût en performances :
- Vérifications asynchrones : la plupart des vérifications s'exécutent de façon asynchrone et ne bloquent pas le thread principal du serveur. L'exception concerne les vérifications qui ont besoin d'accéder au monde (par exemple inspecter les blocs autour du joueur), qui doivent s'exécuter de façon synchrone.
- Initialisation différée : les instances de vérification d'un joueur sont initialisées à sa connexion, pas au démarrage du serveur.
- Périmètre configurable : vous pouvez désactiver les cheats que vous ne voulez pas détecter (par exemple X-Ray, si vous utilisez un plugin anti-xray distinct), ce qui réduit la charge.
Sur un serveur de 50 joueurs, le surcoût de Vulcan est généralement inférieur à 0,5 TPS. Avec 200 joueurs et plus, il vaut la peine de surveiller les TPS et d'éventuellement désactiver les vérifications les plus coûteuses. Utilisez la commande /vulcan timings en jeu pour voir quelles vérifications prennent le plus de temps.
Il nécessite ProtocolLib, une dépendance obligatoire. ProtocolLib est lui-même léger, mais gardez à l'esprit que chaque plugin supplémentaire qui écoute les paquets (DiscordSRV, Citizens, autres anti-cheats) augmente le surcoût.
Prix et licence
Vulcan est un plugin premium, il n'est donc pas gratuit. Le prix actuel est d'environ 20 EUR, en achat unique sur SpigotMC. Après l'achat :
- Vous avez accès à toutes les futures mises à jour de la version achetée
- La licence couvre un serveur (ou un réseau de serveurs sous une même marque)
- Vous pouvez télécharger le fichier .jar directement depuis SpigotMC après vous être connecté à un compte avec une licence active
- Vous avez accès au canal de support sur le Discord officiel de Vulcan
La licence est liée à votre compte SpigotMC, pas à un serveur. Si vous avez plusieurs serveurs dans le même réseau, un seul achat devrait suffire, mais vérifiez les conditions d'utilisation avant de déployer sur davantage d'instances.
Il n'existe ni version gratuite ni période d'essai. Avant de dépenser de l'argent, nous vous conseillons de parcourir le forum officiel du plugin sur SpigotMC, où des admins partagent leurs expériences, aussi bien positives que leurs problèmes de faux positifs sur certaines versions.
Si 20 EUR, c'est trop, envisagez Grim Anti-Cheat comme alternative gratuite, ou configurez soigneusement le NoCheatPlus gratuit avec quelques réglages supplémentaires. Aucun anti-cheat gratuit n'égalera la qualité de Vulcan, mais ils offriront une protection de base.
Conseils pour les admins
- Ne bannissez pas automatiquement à un VL bas : fixez le seuil de bannissement haut (par exemple 20 à 30 VL) et, à un VL bas (5 à 10), contentez-vous d'expulser avec un avertissement. Ainsi, un joueur honnête avec un pic de lag passager n'est pas chassé définitivement du serveur.
- Donnez la permission vulcan.alerts aux modérateurs : les alertes en temps réel permettent aux modérateurs de surveiller manuellement un suspect avant une sanction automatique. La commande
/vulcan alertsactive et désactive les alertes pour un modérateur. - Intégrez-le à votre plugin de bannissement : au lieu d'utiliser la commande
/banintégrée, intégrez Vulcan à LiteBans ou AdvancedBan. Ainsi, les bannissements de Vulcan apparaissent dans l'historique d'un joueur avec ses autres sanctions. - Testez sur un serveur de test avant de modifier quoi que ce soit : modifier les seuils de VL peut radicalement changer le nombre de fausses alertes. Testez toujours sur un serveur de test avec quelques joueurs avant de passer en production.
- Désactivez la vérification X-Ray si vous avez OreAnnouncer : si vous utilisez un plugin dédié à la détection de X-Ray (par exemple OreAnnouncer), désactivez cette vérification dans Vulcan pour éviter les alertes en double et le gaspillage de ressources.
- Mettez à jour ProtocolLib en même temps que Vulcan : un ProtocolLib obsolète est une cause fréquente de bugs et de crashs. Mettez toujours les deux plugins à jour ensemble, surtout lors du passage à une nouvelle version de Minecraft.
- Activez la journalisation MySQL sur les gros serveurs : SQLite, utilisé par défaut, peut devenir un goulot d'étranglement avec beaucoup de joueurs. Sur les serveurs de plus de 100 joueurs par jour, configurez une connexion MySQL dans config.yml.
- Indiquez aux joueurs comment faire appel : même le meilleur anti-cheat bannit parfois à tort des joueurs honnêtes. Prévoyez une procédure claire de demande de débannissement (Discord, forum, formulaire) et mentionnez-la dans le message de bannissement.
Compatibilité
Vulcan fonctionne sur les plateformes de serveur suivantes :
- Paper 1.8 - 1.21.x : la plateforme principale et la mieux prise en charge
- Spigot 1.8 - 1.21.x : compatibilité complète
- Purpur : fonctionne, c'est un fork de Paper
- Folia : prise en charge expérimentale (consultez le changelog avant de déployer)
- BungeeCord / Velocity : Vulcan s'installe séparément sur chaque serveur backend, pas comme plugin de proxy
Dépendances requises :
- ProtocolLib : obligatoire, doit correspondre à la version de Minecraft du serveur
Conflits connus et remarques :
- Un autre anti-cheat en même temps : faire tourner deux anti-cheats (par exemple Vulcan + NoCheatPlus) provoque des conflits dans le traitement des paquets et des faux positifs en double. N'en utilisez qu'un seul.
- Geyser (joueurs Bedrock) : Vulcan intègre la prise en charge de Geyser. Activez l'option
hooks.geyser: truedans config.yml pour appliquer des seuils distincts aux joueurs Bedrock. - ViaVersion : si votre serveur accepte des clients de versions différentes, activez
hooks.viaversion: true. ViaVersion modifie la structure de certains paquets et, sans cette option, de fausses alertes sont possibles pour les joueurs avec un client plus ancien. - CitizensAPI / PNJ : assurez-vous que les PNJ de Citizens sont exclus des vérifications, car leurs déplacements peuvent déclencher des alertes de speed/fly.
Pour en savoir plus sur la gestion des plugins de votre serveur : EssentialsX, LuckPerms. Vue d'ensemble de tous les plugins : catalogue des plugins.