Table of content

Aperçu

Roliserver est dédié à l'hébergement de plusieurs jeux sur le même ordinateur. Les communautés de joueurs de RPG peuvent offrir ce service à leurs utilisateurs.

Première course

Nous recommandons fortement de démarrer roliserver comme suit :

roliserver -p config.conf

Il génère un fichier de configuration vide nommé "config.conf" (changez le nom si vous le souhaitez).

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

Modifiez la valeur selon vos besoins. L'ordre des éléments n'a pas d'importance.

Fichier de configuration

Mot de passe

Définissez un mot de passe pour accéder au serveur. Chaque mot de passe stocké dans ce fichier doit être chiffré avec la méthode Sha3_512. Ne vous inquiétez pas, c'est vraiment facile à faire.

Tout d'abord, démarrez le serveur avec le paramètre -g.

$ roliserver -g

Il vous demande de taper le mot de passe. Ensuite, il affiche la version chiffrée de votre mot de passe.

P9d63VIxEvincVCutARz0W86GFFX36h0zWEIUomzusZmnv3krtcEsXzZWKKXXv6Ivag+8fR2a7tRWoaaIu3L1w==

Ensuite, vous pouvez copier/coller cette clé dans votre fichier.

Rolisteam propose un outil graphique pour générer des mots de passe avec Sha3_512.

Avertissement : assurez-vous d'exécuter le serveur avec Qt5.9 ou une version supérieure. Sha3_512 ne fonctionne pas correctement sur les versions plus anciennes de Qt. Vous pourriez rencontrer des difficultés pour vous connecter au serveur.

Port

Définissez le port de connexion, le port habituel est 6660 mais il peut être modifié.

ConnexionMax

Définissez le nombre maximum de clients que le serveur autorise.

Nombre de chaînes

Définissez le nombre de canaux lors du premier démarrage du serveur.
En gros, cela définit le nombre de parties que votre serveur peut accepter en même temps.

Mot de passe administrateur

Définissez un mot de passe pour protéger l'authentification en tant qu'administrateur serveur. Le mot de passe est toujours chiffré en Sha3_512.

L'administrateur peut expulser des utilisateurs, ajouter/supprimer des chaînes et bien d'autres choses encore.

Niveau de journalisation

Le niveau de journalisation est une valeur numérique qui définit le niveau de détails que vous souhaitez connaître.

Valeur possible :

  • 1 : Erreur
  • 2 : débogage
  • 3 : Avertissement
  • 4 : Informations

Au niveau d'erreur, le serveur n'affiche que les messages d'erreur.
Le niveau de débogage est utile lorsque vous souhaitez améliorer le serveur, ajouter des fonctionnalités, etc.
Le message Avertissement affiche des informations sur des données ou comportements inattendus.
Enfin, le niveau d'information fournit des détails sur ce que fait le serveur.

Avant de soumettre une demande de correction de bogue, il est bon de lancer l'application avec le niveau d'information comme niveau de journalisation afin de fournir à l'équipe autant d'informations que possible.

JournalDInspectionApprofondie

Enregistrez tous les événements du serveur. Activer cette option peut ralentir le serveur.

Valeur possible :

  • vrai
  • faux

Fichier journal

définir le chemin où les journaux sont écrits.

Exemple

FichierJournal=/var/log/roliserver.log

Nombre de fils

Définissez le nombre maximum de threads que le serveur peut utiliser.

TempsPourRéessayer

Temps d'attente (en millisecondes) entre deux tentatives d'écoute du port.

Le serveur écoute toutes les connexions sur le port défini dans ce fichier. Dans de rares occasions, cette étape peut échouer. Probablement parce qu'un autre serveur écoute déjà sur ce port. Ainsi, roliserver réessaiera plusieurs fois.

Nombre d'essais

Définissez combien de fois le serveur tentera d'écouter le port. Si ce nombre est atteint, le serveur se termine avec un statut d'erreur.

Heure de début

Définissez l'heure de la journée à laquelle le serveur autorise la connexion.

Il devrait être écrit comme : hh:mm Les heures doivent être définies par deux chiffres comme les minutes.

Exemples : 20h

20:00

6h

06:00

Fin du temps

Définissez le moment où le serveur cesse d'accepter.

Il devrait être écrit comme : hh:mm Les heures doivent être définies par deux chiffres comme les minutes.

Exemples : 20h

20:00

6h

06:00

IpBan

définir une liste d'adresses IP interdites.

Exemples : une liste avec 3 adresses

80.80.80.80, 127.9.9.1, 10.10.10.10

Mode IP

ipv4 ou ipv6 ou les deux.

Il n'est pas encore utilisé.

TailleMaxMémoire

Définissez la valeur de la taille maximale que le serveur doit stocker. Lorsque la limite est atteinte, tous les canaux perdent leurs données.

Exemple :

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

Exemple de fichier .conf fonctionnel :

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

Le mot de passe courant est 0000. Nous recommandons d'en changer en utilisant l'utilitaire dans Rolisteam.

Déployer sur SystemD

Créons notre fichier de service

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

Puis copiez-collez ceci dans 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

Puis activez et lancez le service :

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