SVCAIModeration
AI-powered real-time Simple Voice Chat moderation and audio evidence logging engine.
SVCAIModeration
SVCAIModeration is an automated voice moderation plugin that integrates directly with Simple Voice Chat (SVC). It captures real-time proximity audio streams, transcribes player speech via AI speech-to-text engines (Whisper / Groq / OpenAI), analyzes transcripts against configurable moderation policies, issues progressive strikes, and delivers audio evidence packages directly to staff Discord channels.
Supported Platforms
- Minecraft Version: 1.20 through 1.21.4+
- Server Engines: Paper, Purpur, Folia
- Required Dependency:
voicechat(Simple Voice Chat by henkelmax)
Core Features
- Proximity Audio Stream Interception: Hooks into Simple Voice Chat's audio pipeline to capture audio buffers per active speaker.
- Fast Cloud Speech-to-Text: Encodes raw audio to 16-bit PCM
.wavformat and transcribes speech using low-latency Groq Whisper or OpenAI Whisper APIs. - LLM Toxicity Classifier: Analyzes transcribed text using structured JSON prompts to categorize violations (Slurs, Hate Speech, Threats, Harassment, Inappropriate Behavior).
- Automated Strike System: Escalates punishments based on past offense counts (e.g. 1st strike warning → 2nd strike 1-hour mute → 3rd strike 7-day ban).
- Discord Evidence Embeds: Dispatches rich Discord embeds containing case IDs, player UUIDs, transcribed quotes, and attached
.wavaudio recordings for staff review.
Commands and Permissions
| Command | Purpose | Permission |
|---|---|---|
/svcai status |
View active voice sessions and API latency | svcai.admin |
/svcai reload |
Reload configuration, API keys, and strike rules | svcai.admin |
/svcai test |
Send a synthetic voice packet to test API pipelines | svcai.admin |
Key Permissions
svcai.admin: Access to status dashboards and moderation commands.svcai.bypass: Exempts specific players or staff from audio recording and AI analysis.
Configuration Reference
The configuration file is located at plugins/SVCAIModeration/config.yml:
# =====================================================
# SVCAIModeration Configuration
# =====================================================
# AI Provider Settings (Groq or OpenAI)
provider:
type: GROQ # GROQ or OPENAI
api-key: "gsk_your_groq_api_key_here"
transcription-model: "whisper-large-v3"
classification-model: "llama-3.3-70b-versatile"
# Audio buffer settings
audio:
min-speech-seconds: 1.5
max-speech-seconds: 15.0
silence-cutoff-ms: 800
# Moderation Rules and Punishment Commands
rules:
SLUR:
strikes:
1: "mute {player} 15m [AI Moderation] Slur usage (1st Offense) | Case: {evidence_id}"
2: "mute {player} 1h [AI Moderation] Slur usage (2nd Offense) | Case: {evidence_id}"
3: "ban {player} 7d [AI Moderation] Slur usage (3rd Offense) | Case: {evidence_id}"
HATE_SPEECH:
strikes:
1: "msg {player} &cWarning: Hate speech is prohibited in voice chat. (Case: {evidence_id})"
2: "ban {player} 3d [AI Moderation] Hate speech | Case: {evidence_id}"
THREAT:
strikes:
1: "mute {player} 2h [AI Moderation] Threats (1st Offense) | Case: {evidence_id}"
2: "ban {player} 7d [AI Moderation] Threats (2nd Offense) | Case: {evidence_id}"
# Staff Discord webhook for evidence recordings
discord:
webhook-url: "https://discord.com/api/webhooks/your_webhook_here"