API
Listeyi sunucuna çek, tek tek adresleri kontrol et ve sunucunun engellediklerini raporla. Her çağrı HTTPS üzerinden JSON'dur.
MCSec eklentisi
The easiest way: one plugin for Spigot, Paper, BungeeCord, Waterfall and Velocity. It downloads the list, refuses listed addresses at login and reports join floods, ping floods, chat spam bots and crash books by itself.
- MCSec.jar and put it in the
pluginsfolder of your proxy (best) or server. sürümünü indir - Start the server once, then put your API key in
plugins/MCSec/config.properties(api-key=). - Run
/mcsec reload./mcsec statusshows the list size and what was refused and reported.
Commands (permission mcsec.admin): /mcsec status, /mcsec reload, /mcsec check <player|ip>, /mcsec report <player|ip> <category> [evidence]. Set mode=log to only watch for a while before refusing anyone.
Anahtarın
Sunucunun API anahtarını Panel → API ve entegrasyonlar bölümünden al. MCSec'i yalnızca CraftRank'te yayında olan sunucular kullanabilir. Anahtarı adreste değil, bir başlıkta gönder:
X-API-Key: your-32-character-key
Bir adresten on dakikada yirmi yanlış anahtar gelirse o adres on dakika bekler.
Listeyi çek
GET https://craftrank.org/api/mcsec?a=blocklist&min=75
GET https://craftrank.org/api/mcsec?a=blocklist&min=60&format=txt
GET https://craftrank.org/api/mcsec?a=blocklist&category=crash-exploit
min is the lowest confidence to include, 40 to 100 (default 75). format=txt gives one address per line; IPv6 entries are /64 ranges. Pull at most once a minute on Free (every 15 seconds on Pro, every 10 on Network); every few minutes is enough for most servers. Firewall formats are under Formatlar.
{"min":75,"count":2,"generated":1793567000,
"addresses":[{"ip":"203.0.113.7","ref":"MCT-7F3A9C","score":92,"category":"bot-join-flood","last":1793566880}, …]}
Tek bir adresi kontrol et
GET https://craftrank.org/api/mcsec?a=check&ip=203.0.113.7
Dakikada en fazla 120 sorgu. Yanıtta listed, score, ref ve kategoriler bulunur.
Bir saldırganı raporla
POST https://craftrank.org/api/mcsec?a=report
ip=203.0.113.7&category=bot-join-flood&evidence=46 joins in 60 s with 46 names
Birçoğu için tek çağrıda en fazla 100 gönder:
POST https://craftrank.org/api/mcsec?a=bulk
Content-Type: application/json
{"reports":[{"ip":"203.0.113.7","category":"crash-exploit","evidence":"oversized book packet, 2.1 MB","time":1793566880}]}
Yalnızca sunucunun kendisinin engellediklerini raporla. Kanıtı birkaç kelimeyle yaz: ne görüldü ve ne kadar. Saldırının kendisini (payload, exploit metni) ve adres, link veya e-posta adresi ekleme; kanıt herkese açık olduğu için bunlar silinir. Aynı adres ve kategori için on dakika içindeki raporlar tek sayılır. Sunucu başına saatte en fazla 2.000 rapor. Raporları biriktir ve her rapor için ayrı çağrı yerine birkaç saniyede bir bulk ile gönder: bir adresten dakikada yaklaşık 90'dan fazla çağrıyı site güvenlik duvarı yavaşlatır.
Kategoriler
| category | Ad | Nedir |
|---|---|---|
bot-join-flood | Bot giriş akını | Tek bir adres veya aralıktan giren çok sayıda sahte oyuncu. |
ping-flood | Ping ve durum akını | Saniyede yüzlerce kez gönderilen sunucu listesi pingleri. |
query-flood | Query akını | Yük bindirmek veya trafiği yansıtmak için kullanılan UDP query paketleri. |
ddos | Ağ akını (DDoS) | Sunucuyu çevrimdışı bırakmayı amaçlayan ham trafik. |
crash-exploit | Çökertme açığı | Sunucuyu çökertmek için hazırlanmış paketler: kitaplar, NBT, chunk'lar. |
packet-spam | Paket spam'i | Normalin çok üstünde hareket, sohbet veya tıklama paketleri. |
login-brute-force | Giriş kaba kuvvet saldırısı | /login veya /register'da çok sayıda yanlış şifre. |
rcon-brute-force | RCON kaba kuvvet saldırısı | RCON portunda şifre denemesi. |
server-scanner | Sunucu tarayıcı | İnterneti açık sunucu aramak için tarayan botlar. |
port-scan | Port taraması | Aynı makinedeki çok sayıda portu yoklama. |
forwarding-bypass | Yönlendirme atlatma | BungeeCord veya Velocity'yi atlamak için doğrudan arka sunucuya girme. |
remote-code | Uzaktan kod denemesi | İsimlerde veya sohbette Log4Shell ve benzeri yükler. |
chat-spam | Sohbet spam botları | Girer girmez reklam, link veya hakaret yazan botlar. |
proxy-abuse | Açık proxy veya VPN kötüye kullanımı | Tekrarlanan saldırılar veya ban atlatma için kullanılan çıkış noktaları. |
website-attack | Web sitesi saldırısı | Sunucunun web sitesine, mağazasına veya oy sayfalarına saldırılar. |
panel-attack | Hosting paneli saldırısı | Oyun panellerine giriş denemeleri veya açık istismarı. |
Puan nasıl hesaplanır
Son 30 günde bir adresi raporlayan her sunucu puanına katkı yapar. Diğer sunucular aynı adresleri raporladıkça (güveni), adresi birkaç kez raporladıkça ve raporlar yeni oldukça sunucunun etkisi artar; bir haftalık rapor yarım sayılır. Çökertme açıkları ve uzaktan kod denemeleri taramalardan daha çok sayılır.
- Tek bir sunucu bir adresi asla 55'in üstüne çıkaramaz. Reddetmek için birkaç sunucu gerekir.
- Ev ve mobil bağlantılar 60 veya altında kalır ve adresleri değiştiği için 3 gün rapor gelmezse listeden çıkar.
- 40 ve üstü listelenir. 75 ve üstünü varsayılanı kullanan sunucular reddeder.
- Bir kayıt 14 gün rapor gelmezse biter.
Formatlar
Liste çağrısına format= ekle. port=25565, güvenlik duvarı formatlarını tek bir porta sınırlar.
| format | Neler alırsın |
|---|---|
json | The default: every address with its reference, score, category and last report. |
txt | Satır başına bir adres. |
csv | A spreadsheet: ip, ref, score, category, last_report. |
ipset | For ipset restore: sets mcsec (IPv4) and mcsec6 (IPv6). |
nftables | For nft -f: a table inet mcsec that drops listed addresses. |
iptables, ip6tables | For iptables-restore -n: a chain MCSEC; jump to it from INPUT. |
crowdsec | For cscli decisions import -i file.json: 24-hour bans. |
curl -s -H "X-API-Key: $KEY" "https://craftrank.org/api/mcsec?a=blocklist&min=75&format=nftables&port=25565" | nft -f -
Pro ve Network çağrıları
These calls come with the paid plans.
GET https://craftrank.org/api/mcsec?a=history&ip=203.0.113.7 (Pro)
GET https://craftrank.org/api/mcsec?a=changes&since=0 (Network)
POST https://craftrank.org/api/mcsec?a=check_bulk {"ips":["203.0.113.7", …]} (Network, up to 500)
The changes feed returns addresses that joined or left the list, or crossed 75; pass the next number back as since. A call your plan does not include answers 402 plan_required.
Hatalar
401 bad_key, 403 not_active, 403 blocked, 400 bad_ip / bad_category / not_reportable (özel adresler, arama motorları ve Cloudflare asla listelenmez), 402 plan_required, 429 rate_limited ve Retry-After başlığı.