SVCAIModeration - Yowsef Studio v1.3

SVCAIModeration - The Ultimate Proximity Voice Chat AI Moderator
  • banner_variation_3.png
  • sv2.png
  • sva1png.png
  • svai.png
  • imaddge.png
  • banner_variation_3.png
  • sv2.png
  • sva1png.png
  • svai.png
  • imaddge.png
🎙️ SVCAIModeration
The World's First AI-Powered Proximity Voice Chat Moderator for Minecraft

placeholder_banner.png



✔ Folia · Paper · Spigot | ✔ 1.16.5 – 1.21.11+ | ✔ 100% Free API Tier | ✔ 50+ Languages



What is SVCAIModeration?

Conventional chat filters and word lists are trivially bypassed — a single letter swap defeats them entirely. SVCAIModeration takes a fundamentally different approach.

It hooks directly into Simple Voice Chat to intercept proximity voice audio in real-time, transcribes it using Whisper large-v3 (the same speech recognition model powering professional captioning services), then feeds the transcript through LLaMA 3.3 70B — a state-of-the-art large language model that understands context, intent, and nuance across over 50 languages.

A player saying "I'll destroy you" in the middle of a PvP fight? Clean. A player saying "I'll find where you live and hurt you"? Flagged, evidenced, and punished — automatically.

The entire pipeline runs fully asynchronously on dedicated thread pools, with zero impact on server TPS.




⭐ Core Feature Overview

🧠 1. Dual-Stage Hybrid Moderation Engine

SVCAIModeration uses a two-stage pipeline designed to be both instantaneous and intelligent:

Stage 1 — Static Keyword Filter (Zero latency)
Define exact words or phrases in your config that trigger instant punishment without calling any API. Zero latency, 100% deterministic, zero API cost. Use this for slurs you want immediately actioned.

Stage 2 — LLM Semantic Analysis (Fallback)
If Stage 1 doesn't match, the transcript is passed to LLaMA 3.3 70B for deep contextual analysis. The AI evaluates intent, tone, and meaning — not just words. It returns a structured violation type and a confidence score. Below your configured confidence threshold, no action is taken.

YAML:
custom-keywords:
  enabled: true
  triggers:
    "example-slur": "SLUR"   # instant, no API call needed
    "example-threat": "THREAT"




🌍 2. True Multi-Language Support

Whisper large-v3 natively transcribes speech in over 50 languages — Arabic, Spanish, Turkish, French, German, Portuguese, Russian, Japanese, and more. The LLM classifier then evaluates violations in whatever language was spoken. A slur shouted in Arabic is detected just as reliably as one in English.

Configure a language hint to improve short-clip accuracy:
YAML:
ai:
  language: "ar"   # Arabic — improves accuracy on short clips




⚖️ 3. Escalating Strike Ladder

Track each player's offense history persistently across server restarts. Configure a different punishment for each strike count, per violation type. When the defined strikes run out, the highest tier repeats.

YAML:
actions:
  SLUR:
    strikes:
      1: "msg {player} &c[SVCAI] Final warning — slurs are not tolerated. (Case: {evidence_id})"
      2: "mute {player} 1h [AI] Slur usage (2nd offense) | {evidence_id}"
      3: "ban {player} 7d [AI] Slur usage (3rd offense) | {evidence_id}"
  THREAT:
    strikes:
      1: "mute {player} 2h [AI] Threats (1st offense)"
      2: "ban {player} 7d [AI] Threats (2nd offense)"
  HARASSMENT:
    strikes:
      1: "msg {player} &cWarning: harassment is prohibited."
      2: "mute {player} 30m [AI] Harassment"
      3: "kick {player} [AI] Repeated harassment"

Placeholders: {player} {reason} {evidence_id}





📨 4. Discord Webhook — Rich Embeds + WAV Audio Attachments

Every confirmed violation fires an embed to your staff Discord channel. No separate bot required — just paste a webhook URL. Each embed includes:

  • Player name and UUID
  • Violation category with color-coded severity (🔴 slur/hate · 🟠 threat · 🟡 harassment/sexual)
  • The exact transcript text
  • The AI's reasoning in plain English
  • A unique Case ID for cross-referencing
  • The actual .wav audio file attached — undeniable audio evidence

All Discord delivery runs asynchronously on a dedicated I/O thread — never touching the main server thread.




📁 5. Persistent Evidence Storage with Auto-Cleanup

Every violation is saved to disk as a pair of files:

  • {evidence_id}.wav — the raw audio recording
  • {evidence_id}.json — metadata: player UUID, name, violation type, AI reason, timestamp

Configure automatic retention policies to keep your disk clean:
YAML:
moderation:
  evidence-retention-days: 30    # auto-purge files older than 30 days
  max-evidence-dir-mb: 500       # hard cap — oldest files deleted first if exceeded




🚦 6. Concurrency Control & API Protection

A configurable global semaphore caps simultaneous API calls to protect against rate-limit spikes. When the cap is hit, new voice clips queue and wait — never dropped, never lost. Retry logic with jitter and Retry-After header support handles temporary API errors gracefully.

YAML:
moderation:
  max-concurrent-api-calls: 3    # increase for high-traffic servers
  cooldown-ms: 3000              # min gap between analyses per player
  silence-timeout-ms: 1500      # submit clip after 1.5s of silence
  min-audio-duration-ms: 500    # ignore mic pops and coughs




🔇 7. Production-Safe Verbose Logging Toggle

By default, SVCAIModeration runs silently — only violations, errors, and API warnings appear in console. Enable verbose mode for debugging to see every transcript, confidence score, and LLM result live. Toggle it without restarting:

YAML:
logging:
  verbose: false   # set true for debug, false in production

Or toggle live in-game: /svcai debug — persists to config automatically.





🧵 8. Full Folia Compatibility

SVCAIModeration detects Folia at runtime via class introspection and switches scheduler implementations automatically. On Folia: GlobalRegionScheduler for sync tasks, AsyncScheduler for async timers. On Spigot/Paper: standard BukkitScheduler. No separate jar needed — one build, all platforms.





🔌 9. OpenAI-Compatible API Support

Not locked to Groq. Any OpenAI-compatible STT or LLM endpoint works:

  • Groq — recommended, free tier (For testing),Dev plan recommended, fastest
  • OpenAI — Whisper-1 + GPT-4o
  • OpenRouter.ai — access hundreds of models
  • Self-hosted — Ollama, LocalAI, or any compatible server

Configure json-mode per-provider for providers that don't support structured JSON output.





⚡ 3-Step Setup


1. Drop SVCAIModeration.jar into your /plugins folder alongside Simple Voice Chat.
2. Get a free API key from console.groq.com and paste it into config.yml under ai.api-key.
3. Restart your server. Voice chat is now monitored.

Run /svcai test and /svcai test toxic to verify both STT and LLM connections are working correctly before going live.





💻 Commands & Permissions


All commands require svcai.admin permission.


CommandDescription
/svcai statusView active STT/LLM models, voice buffer count, webhook state, and verbose mode status
/svcai statsReal-time stats: total transcripts, violations per category, average STT and LLM latency
/svcai cases [player]Browse saved violation cases with timestamps, category, and AI reason. Filter by player name
/svcai clear <caseId>Permanently delete a specific WAV recording and its JSON metadata sidecar
/svcai testRun a live diagnostic: submits a silent WAV to STT and a benign phrase to the LLM
/svcai test toxicSame test with a toxic phrase — verify the LLM correctly identifies a real violation
/svcai debugToggle verbose logging on/off live — no restart or reload needed
/svcai reloadReload config, re-compile keyword triggers, and refresh all cached settings

Permissions:
  • svcai.admin — Access to all commands and real-time violation alerts in chat (Default: OP)
  • svcai.bypass — Exempts this player from voice chat monitoring entirely (Default: none)

OP monitoring: Operators are monitored by default. Set monitor-operators: false to exempt them, or grant svcai.bypass to specific staff accounts.




⚙️ Full Configuration Reference

YAML:
# ---------------------------------------- #
#     SVCAIModeration — config.yml         #
# ---------------------------------------- #

ai:
  # Speech-to-Text endpoint (Groq Whisper = free)
  base-url: "https://api.groq.com/openai/v1/audio/transcriptions"
  api-key: "YOUR_GROQ_API_KEY_HERE"
  model: "whisper-large-v3"
  # Language hint: "en", "ar", "es", "auto" (auto-detect)
  language: "auto"

moderation:
  silence-timeout-ms: 1500       # Submit after 1.5s of silence
  max-speech-duration-sec: 10    # Force-submit after 10s regardless
  min-audio-duration-ms: 500     # Ignore clips shorter than 500ms (noise)
  max-evidence-dir-mb: 500       # Max disk usage for evidence folder
  evidence-retention-days: 30    # Auto-purge evidence older than 30 days
  cooldown-ms: 3000              # Min gap between API calls per player
  max-concurrent-api-calls: 3   # Increase for high player counts
  monitor-operators: true        # Monitor OPs (overridden by svcai.bypass)

  custom-keywords:
    enabled: true
    triggers:
      "example-word": "SLUR"     # Instant, zero-latency, zero API cost

  llm:
    base-url: "https://api.groq.com/openai/v1/chat/completions"
    api-key: ""                  # Leave blank to reuse ai.api-key
    model: "llama-3.3-70b-versatile"
    rolling-context: true        # Send last 5 transcripts for context (disable to save tokens)
    json-mode: true              # Set false for non-Groq/OpenAI providers
    min-confidence: 0.75         # Minimum AI confidence to trigger action (0.0–1.0)
    system-prompt: |
      You are a strict AI content moderator for a Minecraft server proximity voice chat.
      ... (full prompt in default config.yml)

  actions:
    SLUR:
      strikes:
        1: "msg {player} &c[SVCAI] Warning — slurs are prohibited. (Case: {evidence_id})"
        2: "mute {player} 1h [AI Moderation] Slur (2nd offense)"
        3: "ban {player} 7d [AI Moderation] Slur (3rd offense)"
    HATE_SPEECH:
      strikes:
        1: "msg {player} &c[SVCAI] Warning — hate speech is prohibited."
        2: "ban {player} 3d [AI Moderation] Hate speech"
    THREAT:
      strikes:
        1: "mute {player} 2h [AI Moderation] Threats (1st offense)"
        2: "ban {player} 7d [AI Moderation] Threats (2nd offense)"
    HARASSMENT:
      strikes:
        1: "msg {player} &c[SVCAI] Warning — harassment is prohibited."
        2: "mute {player} 30m [AI Moderation] Harassment"
        3: "kick {player} [AI Moderation] Repeated harassment"
    SEXUAL:
      command: "kick {player} [AI Moderation] Inappropriate content. {reason}"

discord:
  webhook-url: ""                # Paste webhook URL to enable rich embeds + WAV uploads

logging:
  verbose: false                 # Enable for debugging, disable in production



🤖 Violation Categories

The AI classifies every transcript into one of these categories:


CategoryWhat it catchesDiscord color
SLURRacial, ethnic, religious, or sexuality-based slurs in any language■ Deep red
HATE_SPEECHSystematic dehumanization or discrimination against a group■ Deep red
THREATDeath threats, doxxing, "I'll find where you live", real-world harm threats■ Orange
HARASSMENTTargeted personal attacks, relentless bullying directed at a specific person■ Yellow
SEXUALSexual harassment or explicit content directed at another player■ Yellow
NONEClean speech, gaming banter, competitive trash talk, casual swearingNo alert

The AI correctly ignores normal gaming phrases: "I'll kill you", "ez", "you're trash", "touch grass" — all NONE. Only genuine targeted violations are flagged.




📋 Requirements


  • Minecraft: 1.16.5 – 1.21.4+ (Spigot, Paper, or Folia)
  • Simple Voice Chat: Any recent release (modrinth)
  • Java: 17 or higher
  • API key: Free at console.groq.com — no credit card required




❓ FAQ


Does this work with Simple Voice Chat proximity groups / party mode?
Yes. SVCAIModeration hooks into the raw microphone packet event and captures all voice traffic regardless of channel configuration.

Can players know they're being monitored?
That's up to you. You can add a server rule or MOTD notice. The plugin itself operates silently from the player's perspective.

What happens if the API is down or slow?
All API calls have a 15-second timeout. On 429 rate-limits or 5xx errors, the plugin retries up to twice with exponential jitter backoff and respects Retry-After headers. If the API is fully unavailable, voice clips are silently skipped — no exceptions, no server impact.

Is the Groq free tier actually enough?
Yes, for most servers. Groq's free tier is generous. The plugin minimizes API calls through smart buffering (silence detection, minimum duration threshold, per-player cooldown, and short-clip skipping).

Can I use my own self-hosted model?
Yes. Point ai.base-url and moderation.llm.base-url at any OpenAI-compatible endpoint. Set json-mode: false if your provider doesn't support structured JSON output.

Does it impact TPS?
No. Every operation — transcription, LLM calls, evidence writes, Discord webhooks, strike persistence — runs on dedicated async thread pools. The main server thread is never blocked.




🔑 How to get my license ?

1 - sync your discord account in BBB to get Customer role.
2 - go to cmd channel and type /generate.
3 - Our discord bot will dm your license.
Note : If you did the command multiple times only last key will be work !




💬 Support & Community
Questions, bug reports, or feature requests — join the Discord.

👉 JOIN THE DISCORD SERVER 👈

SVCAIModeration is an independent resource and is not affiliated with or endorsed by Mojang, Microsoft, or the Simple Voice Chat project.

Latest reviews

Excellent plugin. Setup was straightforward and the developer is extremely responsive. I asked several technical questions before and after purchasing, and every time I received detailed answers and even new features were added based on feedback ❤️
Yowsef
Yowsef
Thank you for the review ❤️
Buy a license now
$9.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Enhanced
+ $5.00
Includes Standard support plus:
Installation & setup
Cosmetic customisation
Feature customisation
Priority support
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
488 Views
3 Purchases
4 Downloads
May 27, 2026 Published
Jun 1, 2026 Updated
5.00 star(s)
Average rating (1)
154.7 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. Yes
Type
  1. Chat
  1. Staff
  1. Anticheat
Game mode
  1. Survival
  1. BoxPVP
  1. Practice
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
A Minecraft plugin add-on that shows a tag as a placeholder to your other servers
Not yet rated
0 purchases
Ultimate Dialog menus - Quick actions - DonutSMP new menus
Not yet rated
0 purchases
Ultimate GeoIP Flags plugin (inspired from MCPVP.COM )
Not yet rated
0 purchases
Plugin that bans custom map arts and automatically sweeps them server-wide.
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,195 purchases
Share and earn
Refer this resource and earn a 10% commission.
488 Views
3 Purchases
4 Downloads
May 27, 2026 Published
Jun 1, 2026 Updated
5.00 star(s)
Average rating (1)
154.7 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. Yes
Type
  1. Chat
  1. Staff
  1. Anticheat
Game mode
  1. Survival
  1. BoxPVP
  1. Practice
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
A Minecraft plugin add-on that shows a tag as a placeholder to your other servers
Not yet rated
0 purchases
Ultimate Dialog menus - Quick actions - DonutSMP new menus
Not yet rated
0 purchases
Ultimate GeoIP Flags plugin (inspired from MCPVP.COM )
Not yet rated
0 purchases
Plugin that bans custom map arts and automatically sweeps them server-wide.
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,195 purchases
Top