DiscordSocialSpy Remastered – Async Command Logger
2.0.0A fully async, secure, and configurable command logger that sends selected in-game commands to Disco
EN
DiscordSocialSpy – Async Event & Command Logger
A high-performance, fully asynchronous Discord command logging and filtering system for Paper 1.20+ and Java 21.
This plugin forwards selected private commands (such as /msg, /tell, /w), sign placements/edits, and filters regular chat to a Discord channel via webhook — without impacting the main server thread.
Ideal for staff teams who need real-time monitoring, anti-ad, and anti-swear capabilities while keeping the server safe and completely lag-free.
Features
Fully Asynchronous
All processing (queue, dispatch, retries) runs off the main server thread.
Zero TPS drop, even under incredibly heavy load.
Advanced Content Filtering (Anti-Swear & Anti-Ad)
Filter commands, signs, and regular chat all at once!
Supports Regex (for blocking IPs and Domains) and Plain Text exact word blocking.
Blocked messages are cancelled in-game, and "Blocked Alerts" are sent directly to your Discord!
Discord prefixes like [BLOCKED] and [BLOCKED CHAT] are fully customizable via language files.
Sign Logging & In-Game Notifications
Captures all text written on signs and logs them to Discord.
Staff members can enable in-game notifications for sign placements and click the chat message to instantly teleport to the sign's location!
Exact Command Matching
Only exact registered commands are logged.
Example:
Command Logged?
/w Yes
/w Hi Yes
/whisper No
/warp No
Fixes false positives from prefix-matching plugins.
Anti-Spam Protection
Prevents spam from flooding your Discord logs:
Detects repeated identical messages
Stops logging after 3 repeats
Only one warning per player
Warning text is fully editable via lang files
Language System
Two language files included: en.yml and tr.yml.
Features:
Auto-load based on config language: en
Auto-repair damaged language files
Safe fallback to EN if invalid
Fully configurable text messages and discord prefixes
Async Tab Completion
Command suggestions are now cached asynchronously:
Faster tab complete
No main thread blocking
Shows “loading…” while cache builds
Customizable Command Filters
Choose exactly which commands to log:
logged-commands:
- msg
- tell
- w
Permission-Based Exclusion
Players with this permission bypass logging:
exclude-permission: "discordspy.bypass"
Safe Webhook Handling
Security-focused design:
Webhook URL never exposed to players
JSON escape protection
allowed_mentions disabled to prevent @everyone ping abuse
No reflective invocation
Fully async processing
Installation
Download the plugin
Place it in /plugins/
Restart the server
Edit config.yml
Run:
/discordsocialspy reload
Commands
Command Description
/discordsocialspy reload - Reloads configuration & language files
/dss cmd add/remove - <command> - Adds/removes the command you want to log.
Requirements
Paper 1.20+
Java 21
(Paper recommended due to async scheduler compatibility)
TR
DiscordSocialSpy – Asenkron Komut & Olay Günlükleyici
Paper 1.20+ ve Java 21 uyumlu, tamamen asenkron ve yüksek performanslı Discord komut loglama ve filtreleme sistemi.
Seçtiğiniz komutların (örn: /msg, /tell, /w) içeriklerini, sunucudaki tabelaları ve genel sohbeti Discord’a güvenli şekilde iletir.
Tüm işlemler asenkron olduğundan sunucuyu asla kasmaz ve TPS düşürmez. Yetkili ekibiniz için mükemmel bir koruma ve loglama aracıdır!
Özellikler
Tam Asenkron İşleme
Kuyruk, gönderim ve retry mekanizması tamamen main thread dışında çalışır.
Gelişmiş İçerik Filtreleme (Anti-Küfür ve Anti-Reklam)
Komutları, tabelaları ve genel sohbeti aynı anda güçlü bir filtre testinden geçirin!
IP veya sunucu adresleri için Regex desteği; küfürler veya istenmeyen kelimeler için Düz Metin kelime engelleme seçeneği sunar.
Tespit edilen ihlaller oyunda engellenir ve anında Discord sunucunuza [BLOCKED] uyarısı ile loglanır!
Discord'a atılan bu "[BLOCKED]" başlığını dil dosyalarınızdan dilediğinizce tasarlayabilirsiniz.
Tabela Loglama & Sunucu İçi Bildirimler
Oyuncuların koyduğu veya düzenlediği tüm tabelaları Discord'a gönderir.
Aktif yetkililer oyun içindeyken tabela konulduğu an sohbete bir bıldırım alır, bildirime tıklayarak anında tabelanın olduğu koordinata ışınlanabilir!
Kesin Komut Eşleşmesi
Artık yalnızca tam eşleşen komutlar loglanır.
Komut Loglanır mı?
/w
/w Merhaba
/whisper
/warp
Spam Koruması
Aynı komutu 3 kez tekrar eden oyuncu Discord'da spam yaratmaz:
Loglanmaz
Konsola sadece 1 kez uyarı düşer
Uyarı metni lang dosyasından düzenlenebilir
Dil Sistemi
en.yml ve tr.yml dil dosyaları kurulu gelir.
language: tr ile tek satırdan seçilebilir
Bozuk dil dosyalarını otomatik onarır
EN diline güvenli şekilde düşer (çökmez)
Asenkron Tab-Complete
Komut önerileri ve liste tamamlamaları arka planda hazırlanır ve main threadi bloklamaz.
Loglanacak Komutları Belirleme
logged-commands:
- msg
- tell
- w
Yetki ile Hariç Tutma
exclude-permission: "discordspy.bypass" iznine sahip kişiler loglanmaz ve filtrelere yakalanmaz.
Güvenli Webhook İşleme
Webhook URL asla oyunculara görünmez
JSON escape koruması vardır
allowed_mentions kapalıdır (everyone ping'i atılarak sunucu patlatılamaz)
Dosya/RCE (Uzaktan Kod Çalıştırma) riski yoktur
HTTP istekleri tam asenkrondur
Config Örneği
############################################################
# DISCORD SOCIAL SPY #
############################################################
# ----------------------------------------------------------
# Language / Dil
# ----------------------------------------------------------
# TR: Pluginin kullanacağı dil dosyası.
# en = İngilizce
# tr = Türkçe
# Bu ayarı değiştirdikten sonra /discordsocialspy reload yapın.
#
# EN: Language file used by the plugin.
# en = English
# tr = Turkish
# Run /discordsocialspy reload after changing this setting.
language: "en"
# ----------------------------------------------------------
# Webhook URL
# ----------------------------------------------------------
# TR: Discord webhook URL’nizi buraya yazın.
# Geçerli bir webhook adresi olmadan mesajlar gönderilemez.
#
# EN: Put your Discord webhook URL here.
# Messages will not send if this value is empty.
webhook: "PUT_YOUR_DISCORD_WEBHOOK_URL_HERE"
# ----------------------------------------------------------
# Username Override
# ----------------------------------------------------------
# TR: Discord’da gözükecek kullanıcı adını belirler.
# Boş bırakılırsa Discord varsayılan kullanıcı adını kullanır.
#
# EN: Username displayed in Discord messages.
# If left empty, Discord will use its default name.
username: "SocialSpy"
# ----------------------------------------------------------
# Avatar URL
# ----------------------------------------------------------
# TR: Discord’da mesaj atan kullanıcının avatar URL'si.
# PNG, JPG ve GIF desteklenir.
#
# EN: URL of the avatar shown in Discord messages.
# Accepts PNG, JPG, GIF.
avatar_url: " https://www.spigotmc.org/data/resource_icons/131/131648.jpg"
# ----------------------------------------------------------
# Prefix
# ----------------------------------------------------------
# TR: Her mesajın başına eklenen bir metin.
# Örnek: [Spy] Oyuncu1: /msg Oyuncu2 Merhaba
#
# EN: Prefix added to every logged message.
# Example: [Spy] Player1: /msg Player2 Hello
prefix: "[Spy] "
message-prefix: "[DSS] "
sign-prefix: "[Sign] "
# ----------------------------------------------------------
# Sign Webhook
# ----------------------------------------------------------
# Opsiyonel: Sadece tabelaların düşeceği farklı bir Discord kanalı webhook.
sign-webhook: ""
############################################################
# COMMAND FILTERING #
############################################################
# ----------------------------------------------------------
# Logged Commands
# ----------------------------------------------------------
# TR: Discord’a gönderilecek komutları listeleyin.
# Sadece listedeki komutlar loglanır (/msg, /tell, /w vb.)
# Örneğin oyuncu /msg yazarsa Discord'a gönderilir.
#
# EN: Commands to capture and send to Discord.
# Only commands listed here will be logged (/msg, /tell, /w etc.)
# For example, /msg executed by a player will be logged.
logged-commands:
- msg
- tell
- w
# ----------------------------------------------------------
# Excluded Permission
# ----------------------------------------------------------
# TR: Bu izne sahip oyuncular loglanmaz.
# Moderatörler veya yöneticiler için bypass izni olarak kullanılır.
#
# EN: Players with this permission will NOT be logged.
# Useful for staff members or admins.
exclude-permission: "discordspy.bypass"
############################################################
# FILTER SETTINGS #
############################################################
filter:
enabled: true
check-chat: true
regex:
- "(?i)\\b(?:mc|play|oyna|craft)\\.[a-z0-9-]+\\.(?:com|net|org|tc|xyz|me)\\b"
- "\\b(?:[0-9]{1,3}\\.){3}[0-9]{1,3}(?::[0-9]{1,5})?\\b"
words:
- "aternos"
- "oyna."
- "play."
- "mc."
- "craft."
- ":255"
############################################################
# ASYNC SETTINGS #
############################################################
async:
# --------------------------------------------------------
# Sender Threads
# --------------------------------------------------------
# TR: Discord’a mesaj göndermek için kullanılan thread sayısı.
# -1: Sunucu CPU çekirdeklerinin yarısını kullanır.
# Çok yüksek değer sunucu CPU kullanımını artırabilir.
#
# EN: Number of threads used for sending messages to Discord.
# -1: Uses half of available CPU cores.
# Setting too high can increase CPU usage.
sender_threads: -1
# --------------------------------------------------------
# Dispatcher Threads
# --------------------------------------------------------
# TR: Kuyruğu işleyen thread sayısı.
# Bu değer message kuyruk hızını belirler.
#
# EN: Number of threads used to process the message queue.
# Controls how fast queued messages are sent out.
dispatcher_threads: -1
# --------------------------------------------------------
# Queue Size
# --------------------------------------------------------
# TR: Henüz gönderilmemiş mesajların maksimum sayısı.
# Sunucu çok fazla komut loglarsa kuyruğun dolmasını engeller.
#
# EN: Maximum number of queued messages not yet sent.
# Prevents memory overload on very busy servers.
queue_size: 5000
# --------------------------------------------------------
# Maximum Retries
# --------------------------------------------------------
# TR: Discord mesaj gönderimi başarısız olursa kaç kez tekrar denensin?
# 0 = tekrar yok
# 3 = önerilen değer
#
# EN: Number of times to retry sending after failure.
# 0 = no retry
# 3 = recommended
max_retries: 3
# --------------------------------------------------------
# Retry Interval
# --------------------------------------------------------
# TR: Retry denemeleri arasında beklenecek saniye miktarı.
# EN: Seconds to wait between retry attempts.
retry_interval: 2
# --------------------------------------------------------
# Rate Limit Wait Time
# --------------------------------------------------------
# TR: Discord 429 rate-limit hatası verdiğinde kaç saniye beklenmeli?
# Discord genellikle 2–5 saniye ister.
#
# EN: Seconds to wait after Discord rate-limit error (429).
# Discord usually needs 2–5 seconds.
rate_limit_wait: 3
############################################################
# SIGN LOGGING #
############################################################
log-signs: true
log-signs-to-console: false
sign-notify: false
############################################################
# DEBUG SETTINGS #
############################################################
# ----------------------------------------------------------
# Debug Mode
# ----------------------------------------------------------
# TR: Debug modu aktifken plugin her HTTP isteğini ve yanıtını konsola yazar.
# Hataları tespit etmek için kullanışlıdır fakat normal kullanımda kapalı tutun.
#
# EN: When enabled, the plugin logs all HTTP requests and responses.
# Useful for debugging but should be off in production.
debug: false
Kurulum
Plugin’i indir
/plugins/ klasörüne ekle
Sunucuyu başlat
config.yml dosyasını kendi Webhook'unuza göre düzenleyin
Oyunda, /discordsocialspy reload çalıştırın.
Komutlar
Komut Açıklama
/dss reload - Ayarları ve dil dosyalarını yeniler.
/dss cmd add/remove - <komut> - Loglanmasını istediğin komutu hızlıca ekler/kaldırır.
Gereksinimler
Paper 1.20+
Java 21
(Asenkron API gereksinimi nedeniyle Paper önerilir)
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta