Console do servidor
O console do servidor aceita comandos enquanto o servidor está no ar. Ele é a forma de recarregar um resource sem derrubar os jogadores.
Comandos
Seção intitulada “Comandos”| Comando | Descrição |
|---|---|
start <nome> | Inicia um resource parado. |
stop <nome> | Para um resource em execução. |
restart <nome> | Para e inicia de novo: VM Lua nova e assets reempacotados. |
ensure <nome> | Inicia se estiver parado, reinicia se já estiver rodando. |
refresh | Reescaneia a pasta resources/. |
list | Lista os resources e seus estados. |
status | Sinônimo de list. |
ac [subcomando] | Inspeciona e ajusta o anticheat. Sem argumentos, equivale a ac status. |
shutdown [motivo] | Desliga o servidor, disparando o onShutdown antes. O motivo é opcional. |
quit | Sinônimo de shutdown. |
exit | Sinônimo de shutdown. |
help | Mostra o resumo dos comandos. |
Aplicando a uma categoria inteira
Seção intitulada “Aplicando a uma categoria inteira”Se o nome informado não é um resource, mas uma categoria, o comando é aplicado a todos os resources dentro dela:
restart [gameplay]O console coloca todos os resources da categoria na fila e responde imediatamente com a quantidade enfileirada:
restart [gameplay]: 5 resource(s) queued; failures land in the logEssa resposta não é uma contagem de sucessos. Os jobs rodam depois; qualquer falha aparece no log do servidor.
Quando o nome não é nem resource nem categoria, o console sugere rodar refresh seguido de list.
refresh
Seção intitulada “refresh”Reescaneia resources/ procurando pastas novas, alteradas ou removidas. Resources cuja pasta desapareceu são parados e descartados.
O relatório traz quatro números:
refresh: 2 added, 1 updated, 0 removed, 1 rejectedRejected são resources cujo mtaxmanifest.lua não passou na validação — o motivo do erro é impresso junto.
3 resource(s): running accounts running spawn (gameplay) stopped respawnOs estados possíveis são running, starting, stopped e failed. A categoria, quando existe, aparece entre parênteses.
Lê e altera o anticheat com o servidor no ar. As mudanças feitas aqui não são gravadas no server.cfg: elas valem até o próximo restart.
| Forma | Efeito |
|---|---|
ac | Equivale a ac status. |
ac status | Se está ligado, se está em modo sombra, o caminho da trilha e todos os jogadores com ficha. |
ac violations <jogador> | Detalhamento por violação de um jogador conectado. |
ac policy | Lista todas as violações com ação, limite e janela. |
ac policy <violação> | Limite e janela de uma violação específica. |
ac policy <violação> <ação> [limite] [janelaMs] | Altera a política. |
ac shadow [on|off] | Lê ou alterna o modo sombra. |
A ação é uma entre ignore, log, warn ou kick:
ac policy movement-speed warnac policy combat-aim-snap kick 5 10000ac shadow onO ac status responde uma linha por jogador com ficha:
anticheat: on trail: logs/anticheat.log Kalel: 12 violation(s), 3 kind(s)O nome usado em ac violations é comparado com os jogadores conectados, então o servidor precisa estar no ar e o jogador online.
Editando o prompt
Seção intitulada “Editando o prompt”No Windows, o prompt > é um editor de linha: as linhas de log continuam rolando acima dele sem atrapalhar o que você está digitando, e a linha pode ser editada em qualquer ponto, não só no fim.
| Tecla | Efeito |
|---|---|
← / → | Move o cursor um caractere. |
Ctrl + ← / → | Pula uma palavra para trás ou para a frente. |
Home / End | Vai para o início ou para o fim da linha. |
Backspace / Delete | Apaga o caractere antes ou depois do cursor. |
Ctrl + Backspace / Delete | Apaga a palavra antes ou depois do cursor. |
↑ / ↓ | Percorre os comandos digitados antes nesta sessão. |
Enter | Executa a linha. |
Quando a entrada não vem de um console interativo do Windows — no Linux, ou quando o stdin é redirecionado ou vem de um pipe —, o servidor lê linhas simples e deixa a edição por conta do terminal.
Comandos dos resources
Seção intitulada “Comandos dos resources”Um comando que não é nenhum dos acima é repassado aos manipuladores registrados com addCommandHandler no lado do servidor.
Como o console não é um jogador, o parâmetro source do manipulador chega como false:
addCommandHandler("say", function(source, cmd, ...) if source == false then -- veio do console do servidor outputDebugString("console: " .. table.concat({...}, " ")) endend)