Painel de administração abrangente e extensível para servidores FiveM baseados em QBCore e Qbox. Oferece gerenciamento completo de jogadores, veículos, inventário, sistema de permissões por grupos, Staff Chat, transmissão de tela ao vivo via WebRTC, ferramentas de desenvolvimento e arquitetura de plugins para módulos externos.
O mri_Qadmin fornece uma interface NUI completa para administradores, com sincronização de dados em tempo real (itens, veículos, recursos, empregos, gangues, peds, locais, ações, permissões e jogadores). As permissões são definidas exclusivamente no servidor (Lua), e o frontend renderiza o que o servidor envia — sem duplicação de lógica.
Visão geral do servidor: jogadores online, uptime, estatísticas financeiras (requer qadmin.action.info_admin), ações rápidas de anúncio e controle de chat.
Gerenciamento de estoque e spawning. Visualização em grid ou tabela com busca. Ações: spawnar temporário, dar permanente, deletar, consertar, abastecer, modificar, trocar placa, alterar estoque.
Editor de grupos com categorias dinâmicas vindas do servidor. Checkboxes por permissão, vinculação de principals (group.admin, job.police, etc.), e wizard guiado para criação de permissões complexas.
Sistema de logs com persistência em banco de dados, buffer em memória, webhooks Discord por categoria e filtros por resource. Configurável via painel sem reiniciar o resource.
Listagem de todos os resources do servidor com controle de start/stop/restart, ações rápidas por item, filtros por estado (rodando/parados) e um navegador de arquivos: explorar pastas, abrir e editar arquivos de texto em tempo real, além de criar e excluir arquivos/pastas.
Importante — escrita e o sandbox do FiveM. A partir dos artifacts > 25770, o FiveM bloqueia por padrão a escrita de um resource em arquivos de outro resource (proteção contra malware). A leitura/navegação funciona em todos os resources, mas salvar/criar/excluir só funciona:
nos arquivos do próprio mri_Qadmin; ou
em resources liberados explicitamente no server.cfg:
Uma linha por resource (o FiveM não suporta wildcard). Depois reinicie o mri_Qadmin para reavaliar.
Quando o resource não é gravável, o painel exibe um aviso "somente leitura" com a linha exata do add_filesystem_permission e desabilita os controles de escrita. A exclusão exige as permissões qadmin.action.change_resourceeqadmin.action.resource_delete.
Ferramentas de desenvolvedor: exibição de coordenadas, blips de todos os jogadores, scanner de entidades próximas, laser, modo mock para testes no browser.
As permissões são definidas exclusivamente em server/permissions.lua e enviadas para o frontend via data_sync.lua. O frontend apenas renderiza o que o servidor envia.
Cada grupo tem um conjunto de ACE permissions armazenadas no banco de dados e aplicadas via lib.addAce em cada reinício. Os grupos podem ser vinculados a principals do FiveM (group.admin, job.police, gang.ballas) para herança automática.
Status especial concedido via console. Ignora todas as verificações de permissão do Qadmin.
mri_qadmin.setmaster 1 # por ID onlinemri_qadmin.setmaster license:abcd... # por licençamri_qadmin.removemaster 1mri_qadmin.purgemasters # limpa todos do DB
Quando um plugin registra RegisterPlugin({ requiredPerms = {...} }), as permissões válidas (que contêm ponto e não são built-ins do FiveM) são automaticamente adicionadas ao editor de grupos sob uma categoria nomeada com o id do plugin. O grupo god recebe essas permissões dinamicamente.
Scripts externos podem adicionar páginas ao sidebar e registrar permissões no editor de grupos:
-- Chamado no server-side do plugin (ex: mri_Qspawn/server/main.lua)exports['mri_Qadmin']:RegisterPlugin({ id = 'mri_Qspawn', label = 'Spawns', icon = 'car', -- nome de ícone lucide-react resource = 'mri_Qspawn', htmlPath = 'web/build/index.html', -- opcional requiredPerms = { 'mri_Qspawn.admin', 'command' }, permDefs = { -- opcional: metadados por permissão { id = 'mri_Qspawn.admin', label = 'Administrador', desc = 'Acesso total ao painel de spawns' }, }, description = 'Gerenciador de spawns de veículos',})
O plugin aparece no sidebar para jogadores que têm qualquer uma das requiredPerms. A permissão command (built-in FiveM) é filtrada automaticamente e não aparece no editor de grupos — apenas permissões com ponto e fora do blocklist são registradas.
Para remover o plugin quando o resource para, o Qadmin faz isso automaticamente via onResourceStop.