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 aquest servei als seus usuaris.

Primera execució

Recomanem fermament iniciar el roliserver com segueix:

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

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

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

$ roliserver -g

Us demana que escrigueu la contrasenya. A continuació, s'imprimeix la versió encriptada de la contrasenya.

P9d63VIxEvincVCutARz0W86GFFX36h0zWEIUomzusZmnv3krtcEsXzZWKKXXv6Ivag+8fR2a7tRWoaaIu3L1w==

Després podeu copiar/enganxar aquesta clau al fitxer.

El Rolisteam ofereix una eina gràfica per a obtenir 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

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

ConnectionMax

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

ChannelCount

Defineix el nombre de canals al primer inici del servidor.
Bàsicament, això defineix el nombre de jocs que el servidor pot acceptar al mateix temps.

Contrasenya de l'administrador

Defineix 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 defineix 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 sigui possible.

DeepInspectionLog

Registra cada esdeveniment del servidor. L'activació d'aquesta opció pot fer que el servidor vagi més lent.

Valors possibles:

  • true
  • false

LogFile

Estableix el camí on s'escriu el registre.

Exemple

LogFile=/var/log/roliserver.log

ThreadCount

Defineix 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 aquest fitxer. En ocasions rares, aquest pas pot fracassar. Probablement, perquè un altre servidor ja està escoltant aquest port. Així doncs, el roliserver ho intentarà diverses vegades

TryCount

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

TimeStart

Defineix 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

Defineix 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

Defineix 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

Estableix el valor de la mida màxima que el servidor ha d'emmagatzemar. Quan s'arriba al límit, tots els canals deixen anar les seves 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

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

Desplegament al SystemD

Creem el nostre fitxer de servei

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

Després copieu i enganxeu això 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