Filtro chat (Veritédoux)

Veritédoux è il filtro chat di Verité. Legge ogni messaggio che un giocatore invia e decide se quel messaggio debba raggiungere il resto del server. Quando un messaggio infrange una regola, Verité lo ferma prima che chiunque altro lo veda e comunica al mittente che il suo messaggio non è stato consegnato.

Il filtro viene eseguito automaticamente una volta che Verité è installato. Sulla chat standard di Minecraft non c'è nulla da configurare. Se il tuo server usa un plugin che intercetta o ristilizza la chat da solo, vedi Integrazione della chat personalizzata così che i messaggi passino comunque attraverso il filtro.

Questa pagina spiega cosa cattura il filtro e come funzionano le sue parti principali. Per le chiavi di configurazione esatte e i loro valori predefiniti, vedi il Riferimento della configurazione.

Cosa cattura il filtro

Ogni messaggio viene classificato in uno di questi esiti:

Esito Significato
Clean Il messaggio è consentito e consegnato normalmente.
Bloccato Contenuto che infrange le normali regole. Il messaggio viene scartato e il mittente vede l'avviso di blocco.
Parolacce Turpiloquio, giudicato per lingua e dialetto. Disabilitato per impostazione predefinita così che i server che permettono un turpiloquio informale non ne siano influenzati.
Abuso Contenuto mirato a danneggiare o prendere di mira un'altra persona.
Autolesionismo Contenuto che può riguardare il suicidio o l'autolesionismo. Gestito con attenzione, non come un'offesa punibile. Vedi Contenuti di autolesionismo.

Quando un messaggio viene fermato, viene notificato solo il mittente. Il messaggio semplicemente non viene consegnato a nessun altro. Verité non muta, espelle né banna mai un giocatore per conto proprio per un messaggio filtrato. Decidere cosa fare con un giocatore segnalato è lasciato al tuo staff e alle tue regole di moderazione.

L'avviso di blocco e l'avviso di ripetizione sono configurabili. Vedi chat.filter.block.message e chat.filter.repeat.message nel Riferimento della configurazione.

Lingue supportate

Verité controlla i contenuti in sei lingue:

  • Inglese
  • Spagnolo
  • Francese
  • Portoghese
  • Tedesco
  • Italiano

Ogni lingua può essere attivata o disattivata indipendentemente, e all'interno di ogni lingua scegli quali categorie sono attive: rilevamento dell'autolesionismo, rilevamento dell'abuso, rilevamento degli insulti e parolacce. Le parolacce sono disattivate per impostazione predefinita per ogni lingua.

Spagnolo, francese e portoghese supportano anche dialetti regionali, così che le parolacce siano giudicate rispetto alla giusta lista di parole regionale anziché a un'unica lista generica. Lo spagnolo copre varietà come Spagna, messicana, argentina, cilena, colombiana e altre; il francese copre Francia e canadese; il portoghese copre europeo e brasiliano. Questi interruttori regionali risiedono sotto ogni lingua nella configurazione.

Verité determina in quale lingua è scritta ciascuna parte di un messaggio, così che un insulto sia giudicato dalla lingua delle parole attorno a esso. Questo conta sui server con lingue miste dove un singolo messaggio può cambiare lingua a metà.

Copertura delle lingue oggi

Il rilevamento è più forte in inglese. Le altre lingue sono supportate e possono essere abilitate, ma l'inglese riceve la copertura più completa.

Messaggi in altre lingue

Due impostazioni speciali decidono cosa succede al testo al di fuori dell'insieme supportato:

  • unknown.lang: un messaggio scritto in una lingua che Verité riconosce come non supportata.
  • undeterminable: un messaggio la cui lingua non può essere determinata (per esempio, messaggi molto brevi o simboli puri).

Entrambi sono consentiti per impostazione predefinita. Se preferisci bloccare tutto ciò che il filtro non può controllare a livello di contenuto, puoi abilitare block.unsupported.languages nella sezione avanzate. Con questo attivo, i messaggi in una lingua che Verité non supporta ancora vengono bloccati.

Aggirare l'evasione

I giocatori che vogliono far passare contenuti vietati oltre un filtro spesso li mascherano. Veritédoux normalizza un messaggio prima del matching così che i trucchi comuni non funzionino. Ciascuno di questi passaggi può essere attivato o disattivato nella configurazione, e tutti sono attivi per impostazione predefinita.

Trucco Come si presenta Come Verité lo gestisce
Omoglifi Lettere cirilliche, a larghezza intera o in grassetto matematico che sembrano quelle normali Ripiegate alle lettere semplici prima del matching
Entità Codici di carattere in stile HTML che stanno al posto delle lettere Decodificati nelle lettere che rappresentano
Offuscamento e!v!i!l o lettere spaziate Riparati nella parola reale
Segmentazione Parole incollate insieme senza spazi Divise nuovamente in parole reali
Fingerprinting Lettere trasposte, come lo scambio di due lettere in un insulto Corrisposte tramite il fingerprint delle lettere

Il passaggio del fingerprint delle lettere si applica solo a parole di almeno sei lettere, e si fa da parte per le parole che una lingua legittimamente consente, così che le parole ordinarie che per caso si riorganizzano in qualcos'altro non vengano catturate.

I font unicode decorativi sono gestiti separatamente. Attivare keep.chat.readable blocca i messaggi scritti prevalentemente in font elaborati che si renderizzano ma rendono la chat difficile da leggere. Gli emoji non sono influenzati da questa impostazione.

Simboli ed emoji

Alcuni contenuti non sono affatto parole: simboli vietati, o emoji disposti per comporre qualcosa. Verité esegue un secondo passaggio sui simboli e sugli emoji in un messaggio, controllando singoli simboli, simboli ripetuti e combinazioni di emoji ordinate o speculari. Questo cattura contenuti a simboli che un controllo basato sulle parole salterebbe. Il testo semplice è lasciato ai controlli linguistici.

Rilevamento di ripetizioni e spam

Messaggi ripetuti

Il rilevamento delle ripetizioni impedisce a un giocatore di inondare la chat con lo stesso messaggio o con uno quasi identico. È disattivato per impostazione predefinita e abilitato con block.repeat.messages.

Quando abilitato, Verité ricorda i messaggi recenti di un giocatore e confronta ogni nuovo messaggio con essi:

  • Le ripetizioni esatte vengono catturate anche quando mascherate. Il confronto ignora maiuscole, accenti e lettere ripetute, così HELLO, hello e helllo contano tutti come lo stesso messaggio.
  • Le quasi-ripetizioni vengono catturate quando un nuovo messaggio è abbastanza simile a uno recente, anche se non identico. Quanto vicino conta come corrispondenza è impostato da block.repeat.similarity.threshold (un valore da 0 a 1, dove 1 significa identico).

Controlli quanti messaggi recenti vengono ricordati (block.repeat.history.size) e fino a quanto indietro nel tempo un messaggio conta ancora come ripetizione (block.repeat.window.ms). Una ripetizione bloccata mostra l'avviso di ripetizione anziché l'avviso di blocco ordinario. Vedi il Riferimento della configurazione per ogni chiave delle ripetizioni.

Cronologia e server affollati

Impostare sia la dimensione della cronologia sia la finestra temporale su illimitato significa che la cronologia ricordata di un giocatore continua a crescere. Su un server affollato, mantieni limitata almeno una delle due.

Spam e pubblicità

Il rilevamento dello spam usa il tokenizer di Verité per individuare i messaggi che si leggono come truffe o pubblicità e bloccarli prima che i giocatori li vedano. È disattivato per impostazione predefinita e abilitato con block.possible.spam.

Questo controllo è opt-in perché nessun rilevatore di spam è perfetto. Può mancare una truffa nuovissima, e può occasionalmente segnalare un messaggio legittimo che per caso suona fortemente promozionale. Quando abilitato usa un modello dedicato per le truffe dove disponibile, e ricade su un controllo più leggero altrimenti.

Contenuti di autolesionismo

Il rilevamento dell'autolesionismo esiste per proteggere le persone, non per punirle. Quando un messaggio viene catturato come contenuto di autolesionismo, Verité fa due cose:

  1. Il messaggio non viene consegnato al resto del server.
  2. Il mittente riceve un avviso di supporto fisso in inglese.

L'avviso di supporto comunica al mittente che il suo messaggio non è stato inviato, nota che può riformularlo e riprovare se era un errore, offre un incoraggiamento non giudicante a rivolgersi a qualcuno di cui si fida o a un servizio di crisi locale, consiglia di contattare i servizi di emergenza se c'è un rischio immediato, e collega una directory internazionale di risorse di crisi su findahelpline.com.

Questa è una funzionalità di sicurezza, non un'offesa di moderazione

L'autolesionismo e l'abuso sono riportati separatamente dalle normali infrazioni delle regole proprio così che possano essere gestiti diversamente. Sconsigliamo vivamente di punire automaticamente un giocatore per un messaggio di autolesionismo. Trattalo come un segnale di benessere, non come una violazione della chat.

L'avviso di autolesionismo non può essere modificato

A differenza dell'avviso di blocco ordinario, il messaggio di supporto per l'autolesionismo è fisso e non configurabile. Questo mantiene la guida di crisi accurata e completa. L'avviso viene sempre consegnato in inglese così che la formulazione resti affidabile per tutti.

Il rilevamento dell'autolesionismo è abilitato per lingua tramite self.harm.detection, che è attivo per impostazione predefinita per ogni lingua supportata.

Configurare il filtro

Ogni impostazione descritta qui risiede nella sezione chat.filter di config.yml. Ogni chiave vero o falso e numerica qui presente può essere letta e modificata da gioco con /verite config. Per l'elenco completo delle chiavi e dei valori predefiniti, vedi il Riferimento della configurazione.

Per gli sviluppatori

Se stai costruendo un'integrazione, un sistema di chat personalizzato o uno Skript che ha bisogno di far passare testo attraverso il filtro, vedi: