Pular para o conteúdo

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.

ComandoDescriçã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.
refreshReescaneia a pasta resources/.
listLista os resources e seus estados.
statusSinô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.
quitSinônimo de shutdown.
exitSinônimo de shutdown.
helpMostra o resumo dos comandos.

Se o nome informado não é um resource, mas uma categoria, o comando é aplicado a todos os resources dentro dela:

Terminal window
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 log

Essa 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.

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 rejected

Rejected 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 respawn

Os 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.

FormaEfeito
acEquivale a ac status.
ac statusSe 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 policyLista 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:

Terminal window
ac policy movement-speed warn
ac policy combat-aim-snap kick 5 10000
ac shadow on

O 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.

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.

TeclaEfeito
← / →Move o cursor um caractere.
Ctrl + ← / →Pula uma palavra para trás ou para a frente.
Home / EndVai para o início ou para o fim da linha.
Backspace / DeleteApaga o caractere antes ou depois do cursor.
Ctrl + Backspace / DeleteApaga a palavra antes ou depois do cursor.
↑ / ↓Percorre os comandos digitados antes nesta sessão.
EnterExecuta 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.

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({...}, " "))
end
end)