Agency-Reports: a ferramenta de denúncias do FiveM que funciona
O Agency-Reports corrige os três problemas das outras ferramentas de denúncias para FiveM: encaminhamento, contexto e acompanhamento da resolução.
Agency Scripts
Fundador e programador principal na Agency Scripts
O estado dos relatórios do FiveM em 2026
A maioria dos servidores ainda usa tickets no Discord ou um comando de chat dentro do jogo para denúncias de jogadores. Os dois métodos são falhos. O Discord não tem contexto do jogador, e um comando de chat perde tudo assim que o jogador que fez a denúncia se desconecta. Os admins acabam tendo que bancar os detetives quando deveriam atuar como árbitros. Agency-Reports é a ferramenta que gostaríamos de ter quando cuidávamos da equipe do nosso próprio servidor.
Contexto capturado automaticamente
Quando um jogador envia uma denúncia, capturamos automaticamente as coordenadas, os IDs dos jogadores próximos, a arma equipada, o veículo e os últimos 60 segundos do chat. Os admins veem a cena, não apenas a acusação. Só isso já reduz o tempo de investigação pela metade.
Encaminhamento inteligente
As denúncias são encaminhadas à equipe com base no tipo, na prioridade e nos membros da equipe online no momento. Casos de trapaça vão para admins técnicos, disputas de RP vão para admins de RP, e casos de assédio vão para quem estiver de plantão. Denúncias feitas quando a equipe está offline ficam na fila e geram alertas no Discord. Chega de perguntar no chat da equipe: "alguém está cuidando disso?"
Acompanhamento da resolução
Cada denúncia tem um status: aberta, atribuída, em investigação, resolvida ou encerrada. Os admins registram notas sobre a resolução, que ficam anexadas à denúncia para sempre. Seis meses depois, quando o mesmo jogador faz outra denúncia, o histórico está a um clique de distância. É assim que equipes de moderação profissionais atuam em MMOs. Já estava na hora de isso chegar ao FiveM.
Ciclo de feedback dos jogadores
Quando uma denúncia é resolvida, quem a enviou recebe uma mensagem curta explicando o que aconteceu. Mesmo que a resposta seja "analisada, nenhuma ação necessária", os jogadores sentem que foram ouvidos, em vez de serem ignorados. Comunidades que se sentem ouvidas permanecem leais, esse é o verdadeiro mecanismo de retenção por trás de boas ferramentas de moderação.
Instalação e configuração
Agency-Reports requer oxmysql para persistir o histórico de denúncias. Importe reports.sql , coloque a pasta do recurso e adicione ensure agency-reports a server.cfg. Conecte seu webhook do Discord em config.lua para encaminhar alertas quando estiver offline. Na primeira inicialização, as regras de encaminhamento são inicializadas com base na sua configuração, sem necessidade de configuração adicional do banco de dados.
Os jogadores abrem a interface de denúncias no jogo com uma tecla configurável (padrão: F9 ou um comando de chat). O painel de administração é uma interface separada, acessível apenas a jogadores com permissões de administrador.
Opções de configuração
O config.lua controla o encaminhamento, a retenção e o comportamento da interface:
- Categorias de denúncia, defina quantas categorias quiser (trapaça, assédio, disputa de RP, relato de bug etc.), cada uma com regras de encaminhamento próprias.
- Encaminhamento para a equipe, cada categoria é encaminhada para níveis de permissão específicos. Trapaça para administradores técnicos, disputas de RP para moderadores de RP etc.
- Lista de captura automática, define quais dados de contexto são capturados automaticamente (coordenadas, jogadores próximos, últimos 60s de chat, veículo, arma). Ative ou desative cada campo individualmente.
- Webhook do Discord, URL para encaminhar denúncias quando estiver offline. Denúncias sem nenhum administrador online que corresponda à rota são enviadas ao Discord.
- Modelos de mensagem de resolução, personalize a mensagem que os jogadores recebem quando a denúncia é encerrada.
- Denúncia anônima, defina se quem denuncia pode enviar uma denúncia sem revelar sua identidade a outros jogadores (os administradores sempre veem quem fez a denúncia).
Compatibilidade com frameworks
Agency-Reports funciona com QBCore, ESX e standalone. O único componente que interage com o framework é a verificação de permissões para acessar o painel de administração. Em configurações standalone, implemente Config.IsAdmin(src, level) em config.lua. Todo o armazenamento de denúncias, encaminhamento e interface são independentes de framework.
Por que isso importa para o roleplay
Toda denúncia de jogador que não é resolvida representa uma quebra de confiança. Quando um jogador faz uma denúncia e nunca recebe retorno, ele acaba tentando resolver a situação por conta própria (agravando o problema) ou se afasta totalmente do servidor. Agency-Reports fecha esse ciclo de feedback com o sistema de mensagens de resolução, os jogadores sabem que sua denúncia foi recebida e processada, mesmo que o resultado não tenha sido o esperado.
O sistema de captura de contexto é um multiplicador prático da capacidade de moderação. Administradores que chegam a uma cena cinco minutos depois para investigar contam com todo o contexto da situação: onde cada um estava, o que foi dito e o que a pessoa acusada estava carregando. Eles dedicam tempo a tomar decisões, não a reconstruir os acontecimentos. Essa redução no tempo de investigação aumenta diretamente o número de denúncias que uma equipe de administradores consegue tratar por hora.
O acesso ao histórico de seis meses é um recurso frequentemente ignorado que protege as comunidades a longo prazo. Identificar padrões ao longo de meses de histórico de denúncias ajuda a detectar jogadores que abusam das regras aos poucos, em vez de forma descarada: aquele infrator moderado que faz três denúncias por mês e recebe três denúncias contra si, sempre ficando abaixo do limite para uma ação. O histórico torna esse padrão visível.
Perguntas frequentes
Os jogadores podem anexar capturas de tela ou vídeos como evidência em uma denúncia?
Os jogadores podem anexar um URL para evidências externas (Imgur, YouTube, Medal.tv). O envio direto de arquivos para o servidor não é compatível por motivos de segurança e armazenamento. As denúncias vinculadas ao Discord incluem o URL da evidência na notificação do Discord para facilitar a análise.
O que acontece com as denúncias quando o jogador que as enviou se desconecta?
As denúncias permanecem no banco de dados, independentemente do status de conexão do jogador. Todo o contexto capturado no momento da denúncia (coordenadas, chat etc.) é armazenado. Os administradores podem investigar e resolver denúncias depois que quem as enviou sair, e a mensagem de resolução é entregue na próxima vez que o jogador entrar.
Podemos integrar Agency-Reports ao nosso bot de tickets atual?
Sim, por meio do encaminhamento via webhook do Discord. Se o seu bot de tickets lê mensagens de um canal do Discord, configure o webhook para esse canal e as denúncias aparecerão como mensagens do Discord que o bot poderá processar. Para uma integração mais direta, o resource dispara um evento do lado do servidor agency-reports:onNewReport que qualquer script do lado do servidor pode escutar.
Existe um recurso para fechar em massa eventos de denúncias em massa?
Sim. O painel de administração inclui seleção múltipla na lista de denúncias. Administradores sênior podem selecionar várias denúncias, aplicar uma única nota de resolução e fechá-las em lote. Útil após eventos no servidor que geram denúncias duplicadas sobre o mesmo incidente.
Requisitos
- Servidor FiveM (QBCore, ESX ou standalone)
- oxmysql
- Conta cfx.re com uma licença válida do Agency-Reports
- URL do webhook do Discord (para alertas quando estiver offline)
Integração de novos membros da equipe com Agency-Reports
Novos moderadores se beneficiam especialmente do fluxo de trabalho estruturado do Agency-Reports. O sistema os orienta durante o processo de investigação sem exigir treinamento extensivo. Um novo moderador que assume sua primeira denúncia recebe automaticamente todo o contexto. Ele não precisa perguntar "o que aconteceu?", porque os dados pré-capturados respondem a isso antes mesmo de ele digitar uma palavra.
A exigência de uma nota de resolução (opcional, mas incentivada pela configuração) é uma ferramenta de treinamento. Escrever "revisei as imagens, o jogador claramente violou a regra 3.2, apliquei banimento de 24h" como nota de resolução obriga o moderador a explicar seu raciocínio. Essa explicação melhora a qualidade das decisões ao longo do tempo e cria um registro para escalonamentos ou recursos.
Para comunidades que estão migrando da moderação baseada em tickets do Discord para o Agency-Reports, use os dois sistemas em paralelo por duas a quatro semanas. Deixe a equipe usar o que preferir enquanto acompanha o tempo de resolução e a satisfação de quem denunciou. Os dados geralmente mostram que o Agency-Reports resolve tickets mais rapidamente. Use essas evidências para incentivar a adoção voluntária, em vez de exigir a mudança.