Anwendungsfall
KI-Moderation für Spiele-Chats, in allen Sprachen deiner Spieler
Online-Spiele bringen Spieler aus vielen Ländern in dieselbe Lobby, und Trash-Talk kann in Sekunden zu Belästigung werden. VigiMod prüft jede Chatnachricht auf deinem Spielserver, liest die vorherigen mit, in 26 Sprachen, mit Regeln für dein Spiel.
Was es schwierig macht
Trash-Talk oder Belästigung?
„GG, zu einfach“ nach einer Runde ist normal; derselbe Spieler, der jemanden dafür angreift, wer er ist, nicht. Kontext und getrennte Kategorien halten den Unterschied.
Globale Lobbys
Eine Runde kann Spanisch, Portugiesisch, Deutsch und Italienisch mischen. Das Modell wurde mit 26 Sprachen trainiert.
Regeln deines Spiels
Cheat-Verkauf, Account-Handel oder Spoiler zur neuen Season sind Regeln deines Spiels, keine allgemeinen Kategorien.
So funktioniert es mit VigiMod
- 1
Dein Spielserver empfängt die Chatnachricht und behält die letzten Nachrichten des Raums oder der Runde.
- 2
Er sendet sie mit der Spieler-ID, dem Raum als scope und deinen Regeln an VigiMod.
- 3
Ist die Nachricht markiert, wird sie nicht verteilt; dein Server kann den Spieler verwarnen, stummschalten oder melden.
Regeln zum Kopieren
Sende sie im Feld rules: Jede kommt mit einer eigenen Bewertung zurück, wie eine eingebaute Kategorie.
{
"rules": {
"no-cheats": "Kein Verkauf oder Teilen von Cheats, Hacks oder Exploits",
"no-trading": "Kein Handel mit Accounts oder Items für echtes Geld",
"no-spoilers": "Keine Spoiler zur Story der neuen Season",
"no-boosting": "Keine Angebote für Boosting oder Rangverkauf"
}
}Beispiel
Ein Node.js-Chatserver mit WebSockets: Jede Nachricht wird geprüft, bevor sie an die anderen Spieler geht.
JavaScript (Node.js)
// npm install ws (Node 18+)
// A game chat server: each message is checked before it is sent to the room
import { WebSocketServer } from "ws";
const RULES = { "no-cheats": "No selling or sharing cheats, hacks or exploits" };
const recent = []; // the last messages of the room, sent as context
const wss = new WebSocketServer({ port: 8080 });
async function moderate(text, playerId) {
const res = await fetch("https://api.vigimod.com/moderate", {
method: "POST",
headers: { "X-API-Key": process.env.VIGIMOD_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ text, context: [...recent], rules: RULES, user_id: playerId, scope: "room-1" }),
signal: AbortSignal.timeout(2000),
}).catch(() => null);
return res?.ok ? res.json() : { flagged: false }; // slow or down: let the message through
}
wss.on("connection", (socket, req) => {
const playerId = req.headers["x-player-id"] ?? "guest"; // use your own authenticated player id
socket.on("message", async (data) => {
const text = data.toString().slice(0, 2000);
const result = await moderate(text, playerId);
if (result.flagged) {
socket.send(JSON.stringify({ type: "blocked", reason: "This message breaks the chat rules." }));
return;
}
recent.push(text);
if (recent.length > 10) recent.shift();
for (const client of wss.clients) client.send(JSON.stringify({ type: "chat", playerId, text }));
});
});Tipps
- Prüfe Nachrichten auf deinem Server, nie im Spiel-Client: Der API-Schlüssel darf nicht mit dem Spiel ausgeliefert werden.
- Nutze höhere toxic-Schwellen in kompetitiven Modi und niedrigere in Familienmodi: Schwellen lassen sich pro Anfrage ändern.
- Schlägt die Prüfung fehl oder dauert zu lange, lass die Nachricht durch und protokolliere sie, damit der Chat nicht stoppt.
Fragen
- Kann ich VigiMod direkt aus Unity oder Unreal aufrufen?
- Lege den API-Schlüssel nicht in den Spiel-Build: Ruf VigiMod von deinem Spielserver oder Backend auf, das dann entscheidet, was verteilt wird.
- Moderiert es Voice-Chat?
- Nein, nur Text. Wenn du Sprache in Text umwandelst, kannst du das Transkript wie jede Nachricht prüfen.
- Wie schnell ist es?
- Ein HTTP-Aufruf pro Nachricht. Gib ihm einen kurzen Timeout und lass die Nachricht durch, wenn es dauert; der Batch-Endpunkt prüft bis zu 20 Nachrichten in einem Aufruf.
- Eignet es sich für Spiele mit Kindern?
- Füge die optionale Kategorie child_safety (Beta) hinzu, die Versuche markiert, an Minderjährige heranzutreten, und leite diese Markierungen an eine Person in deinem Team weiter.
Weiterlernen
Alle Leitfäden- Grundlagen · 5 Min. LesezeitWarum Kontext bei der Chat-Moderation zähltDerselbe Satz kann harmlos oder schädlich sein, je nachdem, was davor kam. Wie der Gesprächskontext die Moderation verändert, mit echten Beispielen.
- Fortgeschritten · 7 Min. LesezeitPrecision, Recall und F1, erklärt mit Beispielen aus der ModerationDie Genauigkeit verdeckt das Problem. Was Precision, Recall und F1 messen, wie man sie in 30 Sekunden berechnet und welche für deine Community zählt.
- Grundlagen · 5 Min. LesezeitHuman in the Loop: wie KI und Moderatoren am besten zusammenarbeitenAutomatische Moderation ist schnell, Menschen verstehen Feinheiten. Wie man die Arbeit zwischen KI und Moderatoren aufteilt.
Teste es in deiner Community
Erstelle in zwei Minuten einen kostenlosen API-Schlüssel. Keine Karte, keine Testphase.