Resolva problemas comuns
Resource não inicia
Está com problemas para iniciar o seu produto? Clique aqui
Configurar o resource
Está com dúvidas de como configurar algo no sistema? Clique aqui

Sobre o sistema
O Whitelist System é um sistema completo de entrada controlada para servidores MTA. Ele bloqueia o acesso de jogadores que ainda não passaram pelo processo de whitelist, com suporte a aplicação pelo jogo, pelo Discord ou pelos dois combinados. Com as funções exportadas, você pode:- Verificar manualmente se um player tem whitelist aprovada (útil ao trocar de personagem, reconectar, etc.);
- Aprovar um player na whitelist diretamente via script (útil para sistemas de staff, painéis administrativos, bots externos, etc.);
- Remover/resetar a whitelist de um player para que ele refaça o processo;
- Obter o Discord ID de um player que passou pela whitelist (útil para cruzar dados com sistemas de Discord).
Funções Exportadas
Server-side
- verifyPlayerAccount ->
Verifica se o player tem whitelist e abre o painel caso não tenha - approveWhitelistPlayer ->
Aprova manualmente um player na whitelist - removeWhitelistPlayer ->
Remove/reseta a whitelist de um player - getPlayerDiscordID ->
Retorna o Discord ID do player (se disponível)
verifyPlayerAccount
Side:server
Syntax
player(player): jogador a ser verificado.
- Consulta o banco de dados pelo serial do player.
- Se o status for
'approved', executa o callbackconfig.events.onJoinCity.server(player)liberando o acesso. - Se o status for diferente de
'approved'(ou o player nunca fez whitelist), abre o painel de whitelist para ele. - Esta função é chamada automaticamente nos eventos
onPlayerJoineonPlayerLoginquandoconfig.events.verifyOnJoinouconfig.events.verifyOnLoginsãotrue. Use a export para chamadas manuais.
- Não há retorno explícito. A ação ocorre via callbacks e triggers client-side.
approveWhitelistPlayer
Side:server
Syntax
player(player): jogador a ser aprovado.
- Atualiza o status na tabela
whitelist_playerspara'approved'. - Atualiza o status da tentativa (
whitelist_attempts) comaditionalInfos.approved_by = 'admin'. - Fecha o painel de whitelist do player e executa
config.events.onJoinCity.server(player). - Se o player já estiver aprovado ou não tiver registro, envia uma notificação de erro.
- Não há retorno explícito. O resultado é enviado via notificação ao player.
removeWhitelistPlayer
Side:server
Syntax
player(player): jogador que terá a whitelist removida/resetada.
- Remove o registro do player da tabela
whitelist_players. - Limpa os dados em memória do player (código de segurança, tentativa ativa, etc.).
- Após remover, chama
verifyPlayerAccountautomaticamente — o player verá o painel de whitelist novamente como se nunca tivesse feito. - O histórico de tentativas (
whitelist_attempts) não é apagado — apenas o vínculo do player é removido.
- Não há retorno explícito. O player recebe uma notificação e o painel reabre.
getPlayerDiscordID
Side:server
Syntax
player(player): jogador alvo.
- Retorna o Discord ID armazenado em cache para o player (preenchido no momento da aprovação via bot do Discord).
- O cache é carregado ao iniciar o resource (para players já online) e ao verificar a conta durante o
onPlayerLogin/onPlayerJoin. - Se o player não tiver passado pela whitelist via Discord, ou ainda não tiver sido verificado na sessão atual, retorna
false.
stringcom o Discord ID do player, ex:"123456789012345678".falsese o Discord ID não estiver disponível.
Observações
- Todas as exports só funcionam após o resource ser iniciado e a licença validada.
- A export
verifyPlayerAccounté chamada automaticamente pelo sistema conforme as configuraçõesverifyOnJoineverifyOnLogin. Use a export para casos manuais específicos. - Para aprovar players em lote ou por painel web, prefira usar
approveWhitelistPlayervia script server-side no momento em que o player estiver online. - O Discord ID só fica disponível no cache enquanto o player estiver online. Para consultas offline, acesse diretamente o banco de dados na coluna
discordIDda tabelawhitelist_players.