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 .wav format 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 .wav audio 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"
Not an official Minecraft product. Not approved by or associated with Mojang Studios or Microsoft.
Type a query to search documentation...
Link copied to clipboard!