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