Grim Anticheat — plugin anticheat para Minecraft
O Grim Anticheat (GrimAC) é um plugin anticheat de código aberto para servidores Minecraft que simula a movimentação do jogador para…
O Grim Anticheat (GrimAC) é um plugin anticheat de código aberto para servidores Minecraft que simula a movimentação do jogador para detectar modificações não autorizadas.
Grim Anticheat — plugin anticheat para Minecraft
Java: 17 ou mais recente
Intervalo de versões suportadas do Minecraft: 1.8 – 26.1.2
Versão do plugin: 2.3.74
O Grim Anticheat (GrimAC) é um anticheat de servidor de código aberto para Minecraft sob a licença GPL-3.0. O plugin funciona com base no princípio de simulação dos movimentos do jogador, em vez de compará-los com padrões de comportamento fixos, o que o diferencia da maioria dos equivalentes gratuitos.
A tarefa principal é detectar modificações não autorizadas no cliente que deem uma vantagem injusta em combate, movimento ou interação com blocos. O plugin em si não bane o jogador — ele registra a violação e transfere a execução da punição para outro plugin (LiteBans, AdvancedBan ou qualquer comando personalizado via configuração).
Abordagem: previsão de movimento em vez de padrões
Os anticheats gratuitos clássicos funcionam usando padrões de comportamento pré-gravados. Este método tem uma limitação óbvia: cada atualização de modificação potencialmente burla a detecção até que um novo padrão seja adicionado ao banco de dados.
Em vez disso, o GrimAC contém um Movement Simulation Engine (Motor de Simulação de Movimento). O próprio servidor calcula onde o jogador poderia estar em um tick de jogo específico, levando em consideração os blocos ao redor, efeitos de poção, teias de aranha, colunas de bolhas, barcos, porcos, striders, elytras e dezenas de outras situações. Se o cliente enviar coordenadas que estão além do possível, a verificação de Simulation é acionada, calculando o offset em blocos.
Além disso, o plugin mantém uma cópia pessoal do mundo para cada jogador. As chunks são compactadas para 16–64 KB usando paletas, o que torna o cache leve o suficiente mesmo com mais de 200 jogadores online. Essa arquitetura permite processar com segurança blocos falsos colocados por outros plugins por meio de pacotes.

Saída do comando /grim help no chat
Verificações
As verificações são divididas em grupos funcionais. Os nomes são retirados do código-fonte — o administrador os vê em /grim verbose e em mensagens de webhook. Os nomes em si não são os nomes das modificações proibidas — trata-se de uma classificação interna do plugin.
Movimento
Simulation — a verificação principal. Detecta qualquer mudança na posição do jogador que não corresponda a uma trajetória fisicamente possível: aceleração não permitida, movimento sem suporte, movimento através de blocos.
Timer, TimerLimit, NegativeTimer, VehicleTimer — registram a aceleração do tempo interno do cliente. Esta é a base sobre a qual são construídas as modificações para consumo acelerado de itens e tiro com arco. O limite de detecção é de cerca de 1.005× a velocidade normal do tempo — mais preciso do que a maioria dos equivalentes gratuitos.
NoFall — falsificação do estado de queda. A modificação envia um onGround=true falso para cancelar o dano de queda; a verificação detecta isso.
Phase — movimento através de blocos sólidos. Comportamento básico de modificações que permitem atravessar paredes ou entrar em áreas protegidas.
Combate
Reach — ataque além da distância permitida.
Hitboxes — ataque fora da hitbox real do alvo.
Knockback, Explosion — o cliente ignora o impulso de golpes ou explosões.
Aim, Interact — rotação incorreta da cabeça antes de um golpe, interações fisicamente impossíveis.
Pacotes e Colocação de Blocos
BadPackets, PacketOrder, Crash — ordem incorreta de pacotes, tentativas de travar (crash) o servidor com pacotes malformados intencionalmente.
NoSlow — o jogador não desacelera ao consumir alimentos, atirar com arco, usar um escudo ou rastejar em teias de aranha.
Grupo de verificações de colocação de blocos — detectam a colocação de um bloco sem a possibilidade física de fazê-lo: longe demais, em uma direção inacessível, no ar sem suporte.
Baritone — padrão de movimento de bots auxiliares automatizados.
Exploit — exploits específicos, como o abuso de Sprint-Jump com elytra.
Principais Comandos de Administrador
Comando | Finalidade |
| Lista de comandos com descrições curtas |
| Ativar ou desativar o recebimento de alertas no chat |
| Mostrar cada flag sem buffer e limites |
| Versão do cliente, marca (Vanilla/Fabric/Lunar/Forge), sensibilidade do mouse, status do FastMath |
| Histórico paginado de sessões e violações do banco de dados |
| Entrar no modo espectador e teletransportar-se para o jogador |
| Retornar à posição anterior |
| Baixar o log de depuração de um ID de flag específico |
| Recarregar todas as configurações, redefinir violações ativas |
| Modo desenvolvedor: previsão vs movimento real com offset |
| Testar o webhook do Discord sem esperar por uma violação real |

Saída do comando /grim profile no chat — versão do cliente, marca, sensibilidade do mouse e status do FastMath do jogador
Notificações e Punições
Cada verificação possui seu próprio contador de violações, que diminui gradualmente com o tempo. Isso é fundamental: um pequeno lag ou uma falha acidental não se acumula em um banimento permanente; a reação só é acionada por uma violação estável. A reação em si é definida pelo administrador — para cada grupo de verificações, é especificado em qual violação e com que frequência executar o comando.
A lógica é a seguinte: indica-se o número da violação após a qual a reação é ativada e o intervalo — com que frequência ela se repetirá depois. A entrada 100:0 kick %player% significa que o jogador será expulso (kick) exatamente na centésima violação, e o comando não será executado novamente. A entrada 5:3 [alert] funcionará na quinta violação, depois na oitava, na décima primeira e assim por diante — o alerta será enviado ao chat do jogo para os jogadores com permissão de acesso.
O lugar do comando pode ser ocupado por uma tag de serviço do próprio Grim ([alert] — mensagem no chat, [log] — gravação no console e banco de dados, [webhook] — envio para o Discord, [proxy] — transferência para outros servidores backend), ou por qualquer comando de console do servidor. Nos placeholders estão disponíveis o apelido (nick) do jogador, o nome da verificação e o número de violações — placeholders padrão. Graças a isso, o Grim se conecta a um plugin de banimento externo sem pontes adicionais.
Webhooks do Discord
Para o envio de notificações no Discord, o GrimAC possui uma integração integrada. A aparência da mensagem é totalmente configurável — desde a cor do embed até quais campos exibir. Na mensagem final, são visíveis o apelido do jogador, o nome da verificação, o número de violações, a versão e marca do cliente, o ping atual e o tps do servidor no momento do evento. Canais normais e canais de fórum do Discord são suportados. A configuração deve ser testada com antecedência — o comando /grim testwebhook envia uma mensagem de teste sem esperar por uma violação real.
Mods de Cliente Incompatíveis
A wiki oficial mantém uma lista separada de mods que quebram as mecânicas vanilla ou causam falsos positivos. A lista não é exaustiva — ela é atualizada na página Known incompatible client mods na wiki do plugin no GitHub. Se um jogador começar a gerar alertas em massa com um ping estável e sem sinais de trapaça, a primeira hipótese é um mod de cliente desta lista.
Armazenamento do Histórico de Violações
O GrimAC mantém um banco de dados de histórico vinculado a sessões. Uma sessão é uma única conexão do jogador com o servidor. O comando /grim history <jogador> mostra: quando o jogador entrou, quanto tempo durou a sessão, quantas violações ocorreram, a partir de qual cliente e o detalhamento por verificações.
Backends suportados: SQLite (por padrão, arquivo local data/history.v1.db), MySQL, PostgreSQL, MongoDB, Redis. O SQLite é suficiente para um único servidor. Para uma rede com várias instâncias do Grim, é necessário um backend de rede com um banco de dados compartilhado — MySQL ou Postgres normalmente.
Há também uma política de retenção (retention) — limpeza automática de registros antigos. Por padrão, as sessões duram 90 dias e as violações, 365 dias. Isso é configurável ou pode ser desativado.

Saída de /grim history no chat
Configuração
As configurações estão distribuídas em vários arquivos YAML na pasta plugins/Grim/
Parâmetros que realmente merecem atenção na primeira configuração:
Parâmetro | Arquivo | O que faz |
| config.yml | Limite de offset em blocos após o qual a Simulation é considerada uma violação. Menor é mais rigoroso, maior causa mais falsos positivos (false-positives) em lags. |
| config.yml | Extensão da hitbox além do limite vanilla. 0.0005 registra excedentes a partir de 3.0005 blocos. |
| config.yml | Pacote adicional no final de cada tick para detecção mais precisa de Reach. Útil em servidores PvP 1.8; em outros, gera tráfego desnecessário. |
| config.yml | Ativa verificações experimentais. Se não for necessário, é melhor não ativar. |
| config.yml | Quantos segundos de timeout até a expulsão (kick) automática do jogador. |
| config.yml | Expulsar (kick) clientes em versões problemáticas do Forge 1.18.2–1.19.3. |
| config.yml | Transmitir alertas entre servidores backend por meio de um proxy. Requer bungee-plugin-message-channel no Velocity. |
| database.yml | Interruptor principal para salvar o histórico. |
| database.yml | Onde gravar as violações: sqlite, mysql, postgres, mongo, redis, none. |
Os demais parâmetros em config.yml (coeficientes de decaimento, tetos (ceilings), limites de ping para mecânicas específicas como impulso de fogos de artifício (firework boost)) calibram finamente o equilíbrio entre a rigidez de detecção e o conforto de jogadores com ping ruim. A maioria dos administradores os deixa nos valores padrão — eles foram selecionados pelo autor do plugin como um compromisso entre precisão e tolerância a ping alto.
Conclusão
O Grim Anticheat detecta a maioria das violações comuns de movimento, combate e processamento de pacotes por meio da previsão de movimentos possíveis, em vez de compará-los com padrões. Graças a isso, o plugin é resistente a novas versões das mesmas modificações. Limitação real: não há verificações heurísticas para mira automática (aimbot) com base na motricidade do mouse e cliques automáticos (autoclicker) baseados na frequência de cliques — estes são prometidos na ramificação Premium, que ainda não foi lançada. O GrimAC é adequado para servidores onde há uma real motivação para instalar modificações proibidas — arenas PvP, redes de minijogos, servidores de sobrevivência com recursos caros, servidores de anarquia. Para uma pequena sobrevivência criativa com 10 amigos, o plugin é redundante — sem risco sério de violações, o motor de previsão simplesmente consome recursos do servidor.
Instalação
Uma instalação típica leva cerca de 5 minutos. O fluxo é o mesmo; só mudam o loader e o build correspondente.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











