Table of content
Panoramica
Roliserver è dedicato a ospitare diversi giochi sullo stesso computer. Le comunità dei giocatori RPG possono offrire questo servizio ai loro utenti.
Primo avvio
Raccomandiamo caldamente di avviare roliserver in questo modo:
roliserver -p config.conf
Genera un file di configurazione vuoto chiamato «config.conf» (cambia il nome, se vuoi).
:::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()
Cambia i valori in base alle tue esigenze. L'ordine degli elementi non è importante.
File di configurazione
Password
Definisci la password di accesso al server. Ogni password memorizzata in questo file deve essere cifrata col metodo Sha3_512. Non preoccuparti, è molto facile da fare.
Per prima cosa, avvia il server col parametro -g.
$ roliserver -g
Ti chiede di digitare la password. Quindi stampa la versione cifrata della tua password.
P9d63VIxEvincVCutARz0W86GFFX36h0zWEIUomzusZmnv3krtcEsXzZWKKXXv6Ivag+8fR2a7tRWoaaIu3L1w==
Puoi copiare/incollare questa chiave nel tuo file.
Rolisteam offre uno strumento grafico per generare la password con Sha3_512.
Attenzione: accertati di eseguire il server con Qt5.9 o superiore. Sha3_512 non funziona correttamente sulle versioni precedenti di Qt. Potresti riscontrare difficoltà di collegamento al server.
Port
Definisce la porta di connessione. La porta standard è la 6660 ma è possibile cambiarla.
ConnectionMax
Definisce il numero massimo di client che il server può accettare.
ChannelCount
Definisce il numero di canali al primo avvio del server.
Fondamentalmente, definisce il numero di giochi che il tuo server è in grado di ospitare in contemporanea.
Password dell'amministratore
Definisce la password per proteggere l'autenticazione come amministratore del server. La password è ancora cifrata in Sha3_512.
L'amministratore può espellere utenti, aggiungere/eliminare canali e molte altre cose.
LogLevel
È un valore espresso in numeri che definisce il livello voluto di dettagli del registro.
Valori possibili:
- 1 : Errore
- 2 : Debug
- 3 : Avviso
- 4 : Informazioni
Al livello Errore, il server mostra solo messaggi di errore.
Il livello Debug è utile quando vuoi migliorare il server, aggiungere funzionalità e altro ancora.
Il livello Avviso mostra un messaggio di avviso relativo a dati o comportamenti inattesi.
Infine, il livello Informazioni fornisce i dettagli sulle operazioni che il server sta eseguendo.
Prima di inviare una segnalazione di errore, è buona pratica eseguire l'applicazione col livello Informazioni (4) in modo da fornire alla squadra quante più informazioni possibili.
DeepInspectionLog
Registra ogni evento del server. L'attivazione di questa opzione può rallentare un po' il server.
Valori possibili:
- vero
- falso
LogFile
Imposta il percorso in cui viene scritto il registro.
Esempio
LogFile=/var/log/roliserver.log
ThreadCount
Definisce il totale di thread massimi che il server può utilizzare.
TimeToRetry
Tempo di attesa (in millisecondi) tra due tentativi di ascolto della porta.
Il server ascolta qualsiasi connessione sulla porta definita in questo file. In rare occasioni, questo passaggio potrebbe non riuscire. Probabilmente perché un altro server è in ascolto di questa porta. Roliserver quindi prova più volte.
TryCount
Definisce quante volte il server tenterà di ascoltare la porta. Se questo numero viene raggiunto, il server esce in stato di errore.
TimeStart
Definisce il tempo giornaliero in cui il server permette la connessione.
Va scritto in questo modo: hh:mm - Le ore vanno indicate con due cifre, come i minuti.
Esempi: 8pm
20:00
6am
06:00
TimeEnd
Definisce l'ora in cui il server smette di accettare.
Va scritto in questo modo: hh:mm - Le ore vanno indicate con due cifre, come i minuti.
Esempi: 8pm
20:00
6am
06:00
IpBan
Definisce un elenco di indirizzi IP bloccati.
Esempio: un elenco con tre indirizzi
80.80.80.80,127.9.9.1,10.10.10.10
IpMode
ipv4 o ipv6, o entrambi.
Non ancora utilizzato.
MaxMemorySize
Imposta il valore della dimensione massima che il server deve memorizzare. Raggiunto questo limite, tutti i canali svuotano i loro dati.
Esempio:
:::ini
MaxMemorySize=8G #Define the size at 8 Gibibyte
MaxMemorySize=8M #Define the size at 8 Mebibyte
Esempio di file .conf funzionante:
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
Questa configurazione utilizzerà 0000 come password. Ti consigliamo di creare la tua password con il programmino di creazione password presente nel client Rolisteam.
Distribuzione in SystemD
Creiamo il nostro file del servizio
$ sudo touch /etc/systemd/system/roliserver.service
Quindi copiamolo e incolliamolo in 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
Poi abilitiamo e avviamo il servizio:
:::shell
$ sudo systemctl enable roliserver.service
$ sudo systemctl start roliserver.service