Roliserver fr en 

Explication

Roliserver est un serveur conçu pour héberger plusieurs parties de Rolisteam en même temps, grâce à un systeme de canaux (salons). Ainsi, il est possible d’offrir ce service à votre communauté.

Cette page explique comment configurer le Roliserver.

Premier lancement

Nous recommendons de lancer le serveur une première fois, afin de générer un fichier de configuration propre:

roliserver -p config.conf

Le fichier généré s’appelle config.conf. Vous pouvez changer le nom si vous le souhaitez.

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

Il convient ensuite de modifier ce fichier en fonction de vos besoins. L’ordre des éléments n’est pas important et peut changer entre la version générée et l’exemple ci-dessus.

Les champs

Password

Le champ password permet de définir le mot de passe d’accès au serveur. Ce mot de passe doit être transmit à toutes les personnes souhaitant se connecter à votre serveur. Pour des raisons de sécurité, le mot de passe n’est pas conservé “en clair”. Il est chiffré en utilisant la méthode: Sha3_512. Pour convertir votre mot de passe, il existe deux méthodes. Rolisteam offre un panneau dans le menu Réseau qui permet de faire cette conversion. Sinon vous pouvez appeler le serveur en ligne de commande avec le paramètre -g.

$ roliserver -g

Si vous saisissez 0000 comme mot de passe. Le serveur doit vous donner:

tnjOmGIvYntbNcoej2VvG9M1RdJCtZ8BWjHek4r6OvvmhThbjjzJ/zfYwq+G7r/TGe7WWr20vkGBzULuTzcPYQ==

(Attention: Si ce n’est pas la cas, cela signifie que le serveur tourne avec une ancienne version de Qt)

En suite, il suffit de copier/coller cette clé dans votre fichier de configuration.

Port

Définit le port tcp de connexion, Par défaut le port est le 6660 mais vous pouvez le changer.

ConnectionMax

Définit la capacité maximume du serveur en personnes connectées.

ChannelCount

Définit le nombre de canaux. Cela signifie que cela définit également le nombre de parties simultanées possibles sur votre serveur.

Admin Password

Définit le mot de passe pour s’authentifier en tant qu’administrateur du serveur. Il convient de générer un mot de passe en Sha3_512 (comme expliqué dans la section password.

L’administrateur peut expulser un joueur, ajouter/détruire un canal etc…

LogLevel

Le niveau de log définit le niveau d’information que vous souhaitez rendre visible dans le fichier de log. La valeur est un nombre.

Valeurs possibles:

  • 1 : Error
  • 2 : debug
  • 3 : Warning
  • 4 : Information

En Error, le serveur ne préviendra qu’en cas d’erreur.
En debug, il affichera des versions utiles si vous souhaitez modifier le code du serveur. En Warning, le serveur prévient en cas de données étranges et de comportements inattendus.
En Information, le serveur donne autant de détails qu’il peut.

Si vous constatez un problème et que vous souhaitez prévenir l’équipe. Il est conseilé de venir avec un fichier de log en information.

DeepInspectionLog

Active les logs profonds du serveur. Attention, cette option peut ralentir grandement les performences du serveur.

Valeurs possibles:

  • true
  • false

(true => vrai et false => faux)

LogFile

Définit le chemin du fichier de log.

Exemple

LogFile=/var/log/roliserver.log

ThreadCount

Définit le nombre maximum de thread utilisable par le serveur.

TimeToRetry

Au démarrage, le serveur se mets en mode “écoute” sur le port défini. Si cela échoue, le serveur réessaie plusieurs fois avant de s’arrêter en erreur. Le temps définit ici est le temps à attendre avant un nouvel essai.

TryCount

Définit le nombre d’essais d’écoute du port avant de sortir en échec. Sortir signifie que le serveur s’arrête.

TimeStart

L’heure à partir de laquelle, les connexions sont acceptées.

Le format: hh:mm Les heures et les minutes doivent être écrites sur deux chiffres.

Exemples:

20:00

(20h)

06:00

(6h)

TimeEnd

Le temps de fin d’acceptation des connexions.

Exemples:

20:00 (20h)

06:00 (6h)

IpBan

Si vous souhaitez banir une ou plusieurs adresses IP. Il suffit de les ajouter dans ce champs.

Exemples: Ici, nous avons 3 adresses banies.

80.80.80.80,127.9.9.1,10.10.10.10

IpMode

Ce champs n’est pas encore utilisé.

MaxMemorySize

Le serveur garde en mémoire beaucoup d’information quand une partie à lieu pour accélérer la reprise du jeu en cas de déconnexion ou autre. Cette fonctionnalité demande beaucoup de mémoire. Nous ponvons demander au serveur de vider sa mémoire si cela devient trop gros.

Exemple:

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

Exemple d’un fichier complet:

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

Quand votre fichier de configuration est près, vous pouvez le tester en lancant:

roliserver -c config.conf Vous pouvez essayer de vous connecter à votre serveur. Si tout s’est bien passé, nous pouvons passer à l’étape suivante: Le lancement automatique.

Créez un service SystemD

Il faut créer un fichier de service systemd.

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

Puis vous pouvez ajouter ce contenu dans le fichier roliserver.service:

[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

Les dernières étapes consistent à activer le service et à la démarrer.

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

Deployer avec Docker

Le cas Windows