API
Leve a lista ao seu servidor, verifique endereços avulsos e denuncie o que seu servidor bloqueia. Toda chamada é JSON via HTTPS.
O plugin MCSec
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.
- Baixar MCSec.jar and put it in the
pluginsfolder of your proxy (best) or server. - 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.
Sua chave
Use a chave de API do seu servidor em Painel → API e integrações. Só servidores ativos no CraftRank podem usar a MCSec. Envie a chave em um cabeçalho, nunca no endereço:
X-API-Key: your-32-character-key
Vinte chaves erradas de um endereço em dez minutos e esse endereço espera dez minutos.
Baixar a lista
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 Formatos.
{"min":75,"count":2,"generated":1793567000,
"addresses":[{"ip":"203.0.113.7","ref":"MCT-7F3A9C","score":92,"category":"bot-join-flood","last":1793566880}, …]}
Verificar um endereço
GET https://craftrank.org/api/mcsec?a=check&ip=203.0.113.7
Até 120 consultas por minuto. A resposta traz listed, score, ref e as categorias.
Denunciar um atacante
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
Para vários de uma vez, envie até 100 em uma chamada:
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}]}
Denuncie só o que seu servidor bloqueou. Escreva a evidência em poucas palavras: o que foi visto e quanto. Não cole o ataque em si (payloads, strings de exploit) nem endereços, links ou e-mails; eles são removidos, pois a evidência é pública. Denúncias do mesmo endereço e categoria em dez minutos contam como uma. Até 2.000 denúncias por hora por servidor. Junte as denúncias e envie com bulk a cada poucos segundos em vez de uma chamada por denúncia: mais de cerca de 90 chamadas por minuto de um endereço são freadas pelo firewall do site.
Categorias
| category | Nome | O que é |
|---|---|---|
bot-join-flood | Enxurrada de bots | Muitos jogadores falsos entrando de um endereço ou faixa. |
ping-flood | Flood de ping e status | Pings da lista de servidores enviados centenas de vezes por segundo. |
query-flood | Flood de query | Pacotes UDP de query usados para sobrecarregar ou refletir tráfego. |
ddos | Flood de rede (DDoS) | Tráfego bruto para derrubar o servidor. |
crash-exploit | Exploit de crash | Pacotes feitos para derrubar o servidor: livros, NBT, chunks. |
packet-spam | Spam de pacotes | Pacotes de movimento, chat ou clique muito acima do normal. |
login-brute-force | Força bruta no login | Muitas senhas erradas em /login ou /register. |
rcon-brute-force | Força bruta no RCON | Tentativas de senha na porta RCON. |
server-scanner | Scanner de servidores | Bots que varrem a internet atrás de servidores abertos. |
port-scan | Varredura de portas | Sondagem de muitas portas na mesma máquina. |
forwarding-bypass | Burlar o proxy | Entrar direto no backend para pular o BungeeCord ou Velocity. |
remote-code | Tentativa de código remoto | Log4Shell e payloads parecidos em nomes ou chat. |
chat-spam | Bots de spam no chat | Bots que postam anúncios, links ou ofensas logo ao entrar. |
proxy-abuse | Abuso de proxy aberto ou VPN | Nós de saída usados para ataques repetidos ou fugir de banimentos. |
website-attack | Ataque ao site | Ataques ao site, loja ou páginas de voto do servidor. |
panel-attack | Ataque ao painel de hospedagem | Tentativas de login ou exploits contra painéis de jogo. |
Como a pontuação funciona
Cada servidor que denunciou um endereço nos últimos 30 dias soma à pontuação. Um servidor conta mais quando outros denunciam os mesmos endereços (sua confiança), quando denunciou o endereço várias vezes e quando as denúncias são recentes; uma denúncia de uma semana conta metade. Exploits de crash e código remoto contam mais que varreduras.
- Um servidor sozinho nunca leva um endereço acima de 55. Recusar exige vários servidores.
- Conexões residenciais e móveis ficam em 60 ou menos e saem da lista após 3 dias sem denúncias, porque seus endereços mudam.
- A partir de 40 entra na lista. A partir de 75 é recusado por servidores no padrão.
- Um registro acaba após 14 dias sem denúncias.
Formatos
Adicione format= à chamada da lista. port=25565 limita os formatos de firewall a uma porta.
| format | O que você recebe |
|---|---|
json | The default: every address with its reference, score, category and last report. |
txt | Um endereço por linha. |
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 -
Chamadas do Pro e Network
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.
Erros
401 bad_key, 403 not_active, 403 blocked, 400 bad_ip / bad_category / not_reportable (endereços privados, buscadores e Cloudflare nunca entram na lista), 402 plan_required, 429 rate_limited com um cabeçalho Retry-After.