Guias / Servidores e desempenho
Whitelist, ban e op: os comandos de servidor que se comportam diferente do que você espera
Ativar a whitelist não expulsa quem já está online, /ban precisa de um motivo para ser útil, e o nível de op importa mais do que a lista de ops. Os detalhes que pegam os donos de servidor.
Os comandos de administração parecem simples e na maioria das vezes são. Os problemas vêm de três comportamentos que não são óbvios só pela sintaxe.
A whitelist não remove quem já está dentro — a menos que você mande
/whitelist on passa a valer a lista para novos logins. Se os jogadores já conectados serão expulsos é decidido por uma linha em server.properties:
enforce-whitelist=true
Por padrão ela vem como false, e enquanto estiver assim, jogadores fora da lista continuam conectados tanto por /whitelist on quanto por /whitelist reload. Coloque em true e on, reload e remove passam a expulsar os jogadores conectados que não estão na lista. Ativar a whitelist com a expulsão desligada e ir embora é o erro clássico.
Mais dois detalhes:
/whitelist add <name>resolve o nome pela API da Mojang em um servidor em modo online. Em um servidor em modo offline, ela adiciona à whitelist o UUID offline do nome, então não é preciso editar owhitelist.jsonna mão.- Operadores ignoram a whitelist por padrão, e é por isso que sua própria conta nunca prova que a whitelist funciona. Teste com uma segunda conta.
/ban quer um motivo, e /ban-ip é outra lista
/ban <player> [reason]
/ban-ip <address|player> [reason]
O motivo é opcional, e omiti-lo é um erro — é o que o jogador banido vê, e é o que o você do futuro vai ler em /banlist tentando lembrar o porquê. Sem ele, a entrada só diz "Banned by an operator".
/ban e /ban-ip gravam em arquivos separados (banned-players.json, banned-ips.json). Perdoar um não limpa o outro, e é essa a razão mais comum de um jogador "perdoado" continuar sem conseguir conectar. Use /pardon e /pardon-ip juntos.
Níveis de op, não só a lista de ops
/op concede nível 4 por padrão, que é acesso total, incluindo /stop. Os quatro níveis são reais e configuráveis em server.properties via op-permission-level:
| Nível | Concede |
|---|---|
| 1 | Ignorar a proteção do spawn |
| 2 | A maioria dos comandos de trapaça, blocos de comando |
| 3 | Gerenciamento de jogadores — kick, ban, op |
| 4 | Tudo, incluindo /stop |
Moderadores que precisam de /kick e /ban querem o nível 3, não o 4. Dar nível 4 para todo mundo que ajuda na moderação é assim que servidores são apagados por uma conta comprometida.
function-permission-level é separado e controla quais funções de datapack podem rodar — deixá-lo em 2 enquanto o nível de op é 4 é uma fonte comum de "minha função não faz nada".
Os comandos de lista
/banlist players, /banlist ips e o simples /banlist existem e imprimem no console em vez do chat se executados pelo terminal do servidor. /whitelist list mostra só os nomes, não os UUIDs — leia o whitelist.json quando precisar conferir a identidade.
Monte qualquer um deles com os argumentos na ordem certa no Server Admin Command Builder, que cobre ban, ban-ip, pardon, kick, op, deop e whitelist em um único formulário.