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, hello et helllo comptent 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 :

  1. Le message n’est pas transmis au reste du serveur.
  2. 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 :