Table of content
Visão geral
O Roliserver é dedicado a hospedar vários jogos no mesmo computador. Comunidades de jogadores de RPG podem oferecer esse serviço aos seus usuários.
Primeira execução
Recomendamos enfaticamente que inicie o roliserver da seguinte forma:
roliserver -p config.conf
Ele gera um arquivo de configuração vazio chamado "config.conf" (altere o nome se desejar).
:::ini
[General]
AdminPassword=@Invalid()
ChannelCount=@Invalid()
ConnectionMax=@Invalid()
IpBan=@Invalid()
IpMode=@Invalid()
IpRange=@Invalid()
LogLevel=@Invalid()
DeepInspectionLog=@Invalid()
ThreadCount=@Invalid()
TimeEnd=@Invalid()
TimeStart=@Invalid()
TimeToRetry=@Invalid()
password=@Invalid()
port=@Invalid()
TryCount=@Invalid()
MaxMemorySize=@Invalid()
Altere o valor de acordo com suas necessidades. A ordem dos elementos não é importante.
Arquivo de configuração
Password
Define uma senha para acessar o servidor. Todas as senhas armazenadas neste arquivo devem ser criptografadas com o método Sha3_512. Não se preocupe, é muito fácil de fazer.
primeiro, inicie o servidor com o parâmetro -g.
$ roliserver -g
Ele irá pedir que você digite a senha. Então, imprimirá a versão criptografada da sua senha.
P9d63VIxEvincVCutARz0W86GFFX36h0zWEIUomzusZmnv3krtcEsXzZWKKXXv6Ivag+8fR2a7tRWoaaIu3L1w==
Em seguida, você pode copiar e colar essa chave no seu arquivo.
O Rolisteam oferece uma ferramenta gráfica para gerar senhas com Sha3_512.
Aviso: certifique-se de executar o servidor com Qt 5.9 ou superior. Sha3_512 em versões mais antigas do Qt não funciona corretamente. Você pode ter dificuldades para se conectar ao servidor.
Port
Define a porta de conexão. A porta usual é 6660, mas pode ser alterada.
ConnectionMax
Define o número máximo de clientes que o servidor permite.
ChannelCount
Define o número de canais na primeira inicialização do servidor.
Basicamente, isso define o número de jogos que seu servidor pode aceitar ao mesmo tempo.
Admin Password
Defina uma senha para proteger a autenticação como administrador do servidor. A senha ainda está criptografada em Sha3_512.
O administrador pode expulsar usuários, adicionar/excluir canais e muitas outras coisas.
LogLevel
O nível de registro é um valor numérico que define o nível de detalhes que você deseja gerar.
Valores possíveis:
- 1 : Erro
- 2 : Depuração
- 3 : Avisos
- 4 : Informações
No nível de Erro, o servidor exibe apenas a mensagem de erro.
O nível de Depuração é útil quando você deseja aprimorar o servidor, adicionar recursos e assim por diante.
Mensagens de Aviso exibem informações sobre dados ou comportamentos inesperados.
Por fim, o nível de Informações fornece detalhes sobre o que o servidor está fazendo.
Antes de enviar uma solicitação de bug, é uma boa prática executar o aplicativo com o nível de informações definido como nível de log para fornecer à equipe o máximo de informações possível.
DeepInspectionLog
Registra todos os eventos do servidor. Ativar esta opção pode tornar o servidor mais lento.
Valores possíveis:
- true
- false
LogFile
Define o caminho onde os registros de log serão gravados.
Exemplo
LogFile=/var/log/roliserver.log
ThreadCount
Define o número máximo de threads que o servidor pode usar.
TimeToRetry
Tempo de espera (em milissegundos) entre duas tentativas de escuta da porta.
O servidor escuta qualquer conexão na porta definida neste arquivo. Em raras ocasiões, esta etapa pode falhar. Provavelmente, porque outro servidor já está escutando esta porta. Portanto, o roliserver tentará escutar várias vezes.
TryCount
Defina quantas vezes o servidor tentará escutar a porta. Se esse número for atingido, o servidor será encerrado com um código de erro.
TimeStart
Define o horário do dia em que o servidor permite a conexão.
Deve ser escrito como: hh:mm. As horas devem ser definidas por dois números, bem como os minutos.
Exemplos: 8pm
20:00
6am
06:00
TimeEnd
Define o horário em que o servidor para de aceitar solicitações.
Deve ser escrito como: hh:mm. As horas devem ser definidas por dois números, bem como os minutos.
Exemplos: 8pm
20:00
6am
06:00
IpBan
Define uma lista de endereços IP proibidos.
Exemplos: Uma lista com 3 endereços
80.80.80.80,127.9.9.1,10.10.10.10
IpMode
ipv4 ou ipv6 ou ambos.
Ainda não está sendo usado.
MaxMemorySize
Define o valor do tamanho máximo que o servidor deve armazenar. Quando o limite for atingido, todos os canais descartarão seus dados.
Exemplo:
:::ini
MaxMemorySize=8G #Define the size at 8 Gibibyte
MaxMemorySize=8M #Define the size at 8 Mebibyte
Exemplo de arquivo .conf funcional:
AdminPassword=tnjOmGIvYntbNcoej2VvG9M1RdJCtZ8BWjHek4r6OvvmhThbjjzJ/zfYwq+G7r/TGe7WWr20vkGBzULuTzcPYQ== ChannelCount=8 ConnectionMax=50 IpBan=@Invalid() IpMode=@Invalid() IpRange=@Invalid() LogLevel=3 LogFile= ServerPassword=tnjOmGIvYntbNcoej2VvG9M1RdJCtZ8BWjHek4r6OvvmhThbjjzJ/zfYwq+G7r/TGe7WWr20vkGBzULuTzcPYQ== ThreadCount=8 TimeEnd=@Invalid() TimeStart=@Invalid() TimeToRetry=100 TryCount=10 port=6660
Isso usará 0000 como senha. Recomenda-se que você crie a sua própria com o utilitário de criação de senhas disponível no cliente rolisteam.
Implantação no SystemD
Vamos criar nosso arquivo de serviço
$ sudo touch /etc/systemd/system/roliserver.service
Em seguida, copie e cole isto em roliserver.service:
:::ini
[Unit]
Description=Rolisteam Server
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=#your_username#
ExecStart=/usr/local/bin/roliserver -c /home/#your_username#/.roliserver.conf
[Install]
WantedBy=multi-user.target
Em seguida, habilite e inicie o serviço:
:::shell
$ sudo systemctl enable roliserver.service
$ sudo systemctl start roliserver.service