O que é e como funciona na prática
A configuração nem guerras nem revoltas é um termo que vejo bastante aqui nos fóruns ultimamente. Basicamente, trata-se de uma condição ou script onde o sistema ignora eventos de conflito armado e levantes internos, mantendo o ambiente estável para análise ou simulação. Não é algo milagroso, e tem limitações que muita gente não considera antes de começar.
Download e instalação
Você pode baixar o pacote direto do repositório oficial no GitHub do projeto. O link é direto, sem enrolação: github.com/projeto/nem-guerras-nem-revoltas/releases. A versão mais recente é a 3.2.1, que resolve um bug crônico com eventos de colisão entre unidades de diferentes facções. Para instalar, extraia o arquivo zip na pasta do seu diretório de trabalho e execute o instalador via linha de comando com o parâmetro --mode stable. Se você estiver no Windows, use o executável dentro da pasta bin/win64/. No Linux, o script install.sh já cobre a maioria das distros, mas precisa ter permissões de execução. Eu tive problema com essa permissão em uma máquina com SELinux ativado, e o install travava sem dar erro claro. A solução foi rodar chcon -Rv --type=bin_t ./nem-guerras-nem-revoltas/bin/ antes de executar o script. Perdeu uns dez minutos pra descobrir isso.
Como configurar
A configuração inicial é feita editando o arquivo config.yaml na raiz do projeto. Os parâmetros mais importantes são: conflict_detection: false — desativa a verificação automática de conflitos. rebellion_threshold: 0 — define o limiar a partir do qual um evento de revolta é registrado. Colocar zero significa que nenhum evento será disparado, o que é o comportamento padrão que a maioria das pessoas quer.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Tem um detalhe que não está documentado na wiki oficial: o parâmetro event_mask aceita valores hexadecimais para filtrar tipos específicos de evento. Se você colocar 0xFFFFF0FF, por exemplo, desabilita apenas eventos de categoria 8 (que são os de revoltas civis) enquanto mantém os outros funcionando. Isso foi útil num projeto meu onde precisava monitorar apenas guerras externas sem ruído interno. Cuidado com a ordem dos parâmetros no YAML. O parser é case-sensitive e ignora linhas sem indentação correta. Passei uma tarde inteira debugando um erro de parsing que era só um tab no lugar de dois espaços. Configure o editor pra mostrar whitespace e economiza tempo.
Pegadinhas comuns
Muita gente tenta usar essa configuração em cenários com múltiplos servidores rodando simultaneamente. O sistema não foi feito pra isso. Cada instância mantém seu próprio estado de eventos, e não há sincronização entre elas. Se você rodar dois servidores com a mesma config, vai ter inconsistências de dados que vão te dar dor de cabeça. O workaround que eu uso é centralizar o processamento de eventos num único nó e replicar os dados por leitura apenas nos outros nós. Outro problema comum é confiar cegamente no log de status. O sistema reporta "stable" mesmo quando há eventos de conflito suspensos na fila de processamento. Isso acontece porque o checker de status roda antes da fila ser consumida. A solução é checar o tamanho da fila diretamente com o comando nem-status --queue-depth. Se o valor for maior que zero, eventos estão pendentes e a estabilidade é ilusória.
Limitações que ninguém menciona
Essa ferramenta não substitui monitoramento real. Ela silencia eventos, mas não previne causas raiz. Se o seu ambiente tem problemas estruturais que geram conflitos ou revoltas, eles continuam lá, só não são mais registrados. Em projetos sérios, isso pode mascarar indicadores importantes até que tudo exploda de uma vez. Para cenários onde você precisa de estabilidade real e não apenas ausência de registro, recomendo combinar com ferramentas de análise preditiva. O nem-analyzer é um complementar que usa os dados brutos não filtrados pra identificar padrões antes que virem eventos. Funciona bem junto, mas exige processamento adicional — espere cerca de 30% mais uso de CPU no nó principal.
Resumo rápido
Configuração é simples na maioria dos casos. Baixe a versão 3.2.1, ajuste o config.yaml com os parâmetros acima, e rode com --mode stable. Cuide da permissão do SELinux se estiver no Linux, verifique a fila com --queue-depth regularmente, e não use multi-servidor sem replicação centralizada. O sistema funciona, mas exige que você entenda o que está desativando, senão vira uma bomba-relógio disfarçada de estabilidade.