Table of content

Vista general

El roliserver està dedicat a allotjar diversos jocs en el mateix ordinador. Les comunitats de jugadors de RPG poden oferir este servei als seus usuaris.

Primera execució

Recomanem fermament iniciar el roliserver com seguix:

roliserver -p config.conf

Genera un fitxer de configuració buit anomenat «config.conf» (canvieu el nom si voleu).

:::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()

Canvieu el valor en funció de les vostres necessitats. L'ordre dels elements no és important.

Fitxer de configuració

Contrasenya

Definix la contrasenya per a accedir al servidor. Totes les contrasenyes emmagatzemades en este fitxer s'han d'encriptar amb el mètode Sha3_512. No vos preocupeu, és molt fàcil de fer.

Primer, inicieu el servidor amb el paràmetre -g.

$ roliserver -g

Vos demana que escrigueu la contrasenya. A continuació, s'imprimix la versió encriptada de la contrasenya.

P9d63VIxEvincVCutARz0W86GFFX36h0zWEIUomzusZmnv3krtcEsXzZWKKXXv6Ivag+8fR2a7tRWoaaIu3L1w==

Després podeu copiar/apegar esta clau en el fitxer.

Rolisteam oferix una eina gràfica per a obtindre la contrasenya generada amb Sha3_512.

Avís: assegureu-vos d'executar el servidor amb les Qt5.9 o posteriors. El Sha3_512 en les versió anteriors de les Qt no funciona correctament. És possible que tingueu dificultats per a connectar-vos al servidor.

Port

Definix el port de connexió. El port habitual és 6660 però es pot canviar.

ConnectionMax

Establix el nombre màxim de clients que permet el servidor.

ChannelCount

Establix el nombre de canals al primer inici del servidor.
Bàsicament, açò definix el nombre de jocs que el servidor pot acceptar al mateix temps.

Contrasenya de l'administrador

Definix la contrasenya per a protegir l'autenticació com a administrador del servidor. La contrasenya encara està encriptada a Sha3_512.

L'administrador pot expulsar els usuaris, afegir/eliminar canals i moltes altres coses.

LogLevel

El nivell de registre és un valor numèric que definix el nivell de detalls que voleu conéixer.

Valors possibles:

  • 1: Error
  • 2: Depuració
  • 3: Avís
  • 4: Informació

A Nivell d'error, el servidor només mostra els missatges d'error.
El nivell de depuració és útil quan voleu millorar el servidor, afegir algunes característiques, etc.
El missatge Avís mostra els missatges sobre dades o comportaments inesperats.
Per fi, el Nivell d'informació dona detalls sobre el que està fent el servidor.

Abans d'omplir una sol·licitud d'error, és una bona pràctica executar l'aplicació amb el nivell d'informació com a nivell de registre per tal de donar a l'equip tanta informació com siga possible.

DeepInspectionLog

Registra cada esdeveniment del servidor. La selecció d'esta opció pot fer que el servidor vaja més lent.

Valors possibles:

  • true
  • false

LogFile

Establix el camí on s'escriu el registre.

Exemple

LogFile=/var/log/roliserver.log

ThreadCount

Establix el nombre màxim de fils que pot utilitzar el servidor.

TimeToRetry

Temps d'espera (en mil·lisegon) entre dos intents d'escoltar el port.

El servidor escolta qualsevol connexió en el port definit en este fitxer. En ocasions rares, este pas pot fracassar. Probablement, perquè un altre servidor ja està escoltant este port. Així doncs, el roliserver ho intentarà diverses vegades

TryCount

Definix quantes vegades el servidor intentarà escoltar el port. Si s'arriba fins a este número, el servidor acaba amb un estat d'error.

TimeStart

Establix l'hora del dia en què el servidor permet la connexió.

S'ha d'escriure com: hh:mm Les hores s'han de definir amb dos números, com els minuts.

Exemples: 8 pm

20:00

6am

06:00

TimeEnd

Establix l'hora en què el servidor deixa d'acceptar.

S'ha d'escriure com: hh:mm Les hores s'han de definir amb dos números, com els minuts.

Exemples: 8 pm

20:00

6am

06:00

IpBan

Definix una llista d'adreces IP prohibides.

Exemples: una llista amb 3 adreces

80.80.80.80,127.9.9.1,10.10.10.10

IpMode

ipv4 o ipv6 o both.

Encara no s'utilitza.

MaxMemorySize

Establix el valor de la mida màxima que el servidor ha d'emmagatzemar. Quan s'arriba fins al límit, tots els canals deixen anar les seues dades.

Exemple:

:::ini
MaxMemorySize=8G  #Define the size at 8 Gibibyte
MaxMemorySize=8M  #Define the size at 8 Mebibyte

Exemple d'un fitxer .conf que funciona:

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

Açò utilitzarà 0000 com a contrasenya, es recomana que creeu la vostra pròpia amb la utilitat de creació de contrasenyes disponible al client de Rolisteam.

Desplegament al SystemD

Creem el nostre fitxer de servei

$ sudo touch /etc/systemd/system/roliserver.service

Després copieu i apegueu açò al 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

A continuació, activeu i inicieu el servei:

:::shell
$ sudo systemctl enable roliserver.service
$ sudo systemctl start roliserver.service