Filtre de chat (Veritédoux)
Veritédoux est le filtre de chat de Verité. Il lit chaque message qu’un joueur envoie et décide si ce message doit atteindre le reste du serveur. Lorsqu’un message enfreint une règle, Verité l’arrête avant que quiconque d’autre ne le voie et indique à l’expéditeur que son message n’a pas été transmis.
Le filtre fonctionne automatiquement une fois Verité installé. Sur le chat Minecraft standard, il n’y a rien à configurer. Si votre serveur utilise un plugin qui intercepte ou restyle le chat lui-même, voir Intégration d’un chat personnalisé afin que les messages passent tout de même par le filtre.
Cette page explique ce que le filtre attrape et comment ses principales parties fonctionnent. Pour les clés de configuration exactes et leurs valeurs par défaut, voir la Référence de la configuration.
Ce que le filtre attrape
Chaque message est classé dans l’un de ces résultats :
| Résultat | Signification |
|---|---|
| Propre | Le message est autorisé et transmis normalement. |
| Bloqué | Contenu ordinaire enfreignant les règles. Le message est abandonné et l’expéditeur voit l’avis de blocage. |
| Grossièretés | Jurons, jugés par langue et par dialecte. Désactivé par défaut afin que les serveurs qui permettent les jurons occasionnels ne soient pas affectés. |
| Abus | Contenu visant à nuire à une autre personne ou à la cibler. |
| Automutilation | Contenu pouvant se rapporter au suicide ou à l’automutilation. Traité avec attention, non comme une infraction sanctionnable. Voir Contenu d’automutilation. |
Lorsqu’un message est arrêté, seul l’expéditeur est notifié. Le message n’est simplement pas transmis à quiconque d’autre. Verité ne réduit jamais au silence, n’expulse ni ne bannit un joueur de lui-même pour un message filtré. Décider quoi faire d’un joueur signalé est laissé à votre personnel et à vos règles de modération.
L’avis de blocage et l’avis de répétition sont configurables. Voir chat.filter.block.message et chat.filter.repeat.message dans la Référence de la configuration.
Langues prises en charge
Verité analyse le contenu dans six langues :
- Anglais
- Espagnol
- Français
- Portugais
- Allemand
- Italien
Chaque langue peut être activée ou désactivée indépendamment, et au sein de chaque langue vous choisissez quelles catégories s’exécutent : détection de l’automutilation, détection de l’abus, détection des insultes et grossièretés. Les grossièretés sont désactivées par défaut pour chaque langue.
L’espagnol, le français et le portugais prennent aussi en charge des dialectes régionaux, de sorte que les grossièretés sont jugées contre la bonne liste régionale de mots plutôt qu’une seule liste générique. L’espagnol couvre des variétés telles que l’Espagne, le Mexique, l’Argentine, le Chili, la Colombie et plus encore ; le français couvre la France et le Canada ; le portugais couvre l’européen et le brésilien. Ces interrupteurs régionaux résident sous chaque langue dans la configuration.
Verité détermine dans quelle langue chaque partie d’un message est écrite, de sorte qu’une insulte est jugée par la langue des mots qui l’entourent. Cela importe sur les serveurs multilingues où un seul message peut changer de langue en cours de route.
Couverture des langues à ce jour
La détection est la plus forte en anglais. Les autres langues sont prises en charge et peuvent être activées, mais l’anglais reçoit la couverture la plus complète.
Messages dans d’autres langues
Deux réglages spéciaux décident de ce qui arrive au texte hors de l’ensemble pris en charge :
unknown.lang: un message écrit dans une langue que Verité reconnaît comme non prise en charge.undeterminable: un message dont la langue ne peut pas être déterminée (par exemple, des messages très courts ou de purs symboles).
Les deux sont autorisés par défaut. Si vous préférez bloquer tout ce que le filtre ne peut pas analyser pour son contenu, vous pouvez activer block.unsupported.languages dans la section avancée. Avec ceci activé, les messages dans une langue que Verité ne prend pas encore en charge sont bloqués.
Contourner l’évitement
Les joueurs qui veulent faire passer du contenu interdit devant un filtre le déguisent souvent. Veritédoux normalise un message avant la correspondance afin que les astuces courantes ne fonctionnent pas. Chacune de ces passes peut être activée ou désactivée dans la configuration, et toutes sont activées par défaut.
| Astuce | À quoi cela ressemble | Comment Verité la gère |
|---|---|---|
| Homoglyphes | Lettres cyrilliques, pleine largeur ou en gras mathématique qui ressemblent à des lettres normales | Repliées vers des lettres en clair avant la correspondance |
| Entités | Codes de caractères de style HTML tenant lieu de lettres | Décodés vers les lettres qu’ils représentent |
| Obfuscation | e!v!i!l ou lettres espacées |
Réparées en le vrai mot |
| Segmentation | Mots collés ensemble sans espaces | Rescindés en de vrais mots |
| Empreinte | Lettres transposées, comme l’échange de deux lettres dans une insulte | Appariées par empreinte de lettres |
La passe d’empreinte de lettres ne s’applique qu’aux mots d’au moins six lettres, et elle se retire pour les mots qu’une langue autorise légitimement, de sorte que les mots ordinaires qui se réarrangent par hasard en autre chose ne sont pas attrapés.
Les polices Unicode décoratives sont gérées séparément. Activer keep.chat.readable bloque les messages écrits principalement dans des polices fantaisistes qui s’affichent mais rendent le chat difficile à lire. Les emojis ne sont pas affectés par ce réglage.
Symboles et emojis
Certains contenus ne sont pas des mots du tout : symboles interdits, ou emojis disposés pour épeler quelque chose. Verité effectue une seconde passe sur les symboles et emojis d’un message, vérifiant les symboles uniques, les symboles répétés et les combinaisons d’emojis ordonnées ou en miroir. Cela attrape le contenu symbolique qu’une vérification basée sur les mots survolerait. Le texte en clair est laissé aux vérifications de langue.
Détection des répétitions et du spam
Messages répétés
La détection des répétitions empêche un joueur d’inonder le chat avec le même message ou un message quasi identique. Elle est désactivée par défaut et activée avec block.repeat.messages.
Lorsqu’elle est activée, Verité mémorise les messages récents d’un joueur et compare chaque nouveau message à ceux-ci :
- Les répétitions exactes sont attrapées même déguisées. La comparaison ignore la casse, les accents et les lettres répétées, de sorte que
HELLO,helloethelllocomptent tous comme le même message. - Les quasi-répétitions sont attrapées lorsqu’un nouveau message est suffisamment similaire à un récent, même s’il n’est pas identique. Le degré de proximité qui compte comme correspondance est défini par
block.repeat.similarity.threshold(une valeur de 0 à 1, où 1 signifie identique).
Vous contrôlez combien de messages récents sont mémorisés (block.repeat.history.size) et jusqu’à quel point dans le passé un message compte encore comme une répétition (block.repeat.window.ms). Une répétition bloquée affiche l’avis de répétition plutôt que l’avis de blocage ordinaire. Voir la Référence de la configuration pour chaque clé de répétition.
Historique et serveurs très fréquentés
Régler à la fois la taille de l’historique et la fenêtre temporelle sur illimité signifie que l’historique mémorisé d’un joueur ne cesse de croître. Sur un serveur très fréquenté, gardez au moins l’un des deux borné.
Spam et publicités
La détection du spam utilise le tokenizer de Verité pour repérer les messages qui se lisent comme des arnaques ou des publicités et les bloquer avant que les joueurs ne les voient. Elle est désactivée par défaut et activée avec block.possible.spam.
Cette vérification est sur inscription car aucun détecteur de spam n’est parfait. Il peut manquer une arnaque toute nouvelle, et il peut occasionnellement signaler un message légitime qui sonne fortement promotionnel. Lorsqu’elle est activée, elle utilise un modèle d’arnaque dédié là où c’est possible, et se rabat sur une vérification plus légère sinon.
Contenu d’automutilation
La détection de l’automutilation existe pour protéger les gens, non pour les punir. Lorsqu’un message est attrapé comme contenu d’automutilation, Verité fait deux choses :
- Le message n’est pas transmis au reste du serveur.
- L’expéditeur reçoit un avis de soutien fixe en anglais.
L’avis de soutien indique à l’expéditeur que son message n’a pas été envoyé, note qu’il peut reformuler et réessayer si c’était une erreur, offre un encouragement non moralisateur à se confier à quelqu’un de confiance ou à un service de crise local, conseille de contacter les services d’urgence en cas de risque immédiat, et renvoie à un annuaire international de ressources de crise sur findahelpline.com.
C’est une fonctionnalité de sécurité, non une infraction de modération
L’automutilation et l’abus sont rapportés séparément des infractions ordinaires aux règles précisément pour qu’ils puissent être traités différemment. Nous recommandons fortement de ne pas sanctionner automatiquement un joueur pour un message d’automutilation. Traitez-le comme un signal de bien-être, non comme une infraction de chat.
L’avis d’automutilation ne peut pas être modifié
Contrairement à l’avis de blocage ordinaire, le message de soutien à l’automutilation est fixe et non configurable. Cela garde les conseils de crise exacts et complets. L’avis est toujours transmis en anglais afin que la formulation reste fiable pour tout le monde.
La détection de l’automutilation est activée par langue via self.harm.detection, qui est activé par défaut pour chaque langue prise en charge.
Configurer le filtre
Chaque réglage décrit ici réside dans la section chat.filter du config.yml. Toutes les clés vrai ou faux et numériques présentes ici peuvent être lues et modifiées depuis le jeu avec /verite config. Pour la liste complète des clés et des valeurs par défaut, voir la Référence de la configuration.
Pour les développeurs
Si vous construisez une intégration, un système de chat personnalisé ou un Skript qui doit faire passer du texte par le filtre, voir :
- Intégration d’un chat personnalisé pour brancher le filtre dans un plugin qui gère le chat lui-même.
- API développeur pour l’API publique du filtre.
- Intégration Skript pour la syntaxe Skript.