DiscordSocialSpy Remastered – Async Command Logger icon

DiscordSocialSpy Remastered – Async Command Logger -----

A 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)
Resource Information
Author:
----------
Total Downloads: 54
First Release: Jan 10, 2026
Last Update: Mar 8, 2026
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings