Outils pour utilisateurs

Outils du site


kb:linux:generalites:installer_serveur_trackmania_avec_controleur

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
kb:linux:generalites:installer_serveur_trackmania_avec_controleur [2020/08/23 21:18] – créée beukb:linux:generalites:installer_serveur_trackmania_avec_controleur [2020/12/15 19:59] (Version actuelle) beu
Ligne 1: Ligne 1:
 ====== Installer serveur Trackmania avec contrôleur ====== ====== Installer serveur Trackmania avec contrôleur ======
  
-L'objectif est de monter de façon stable, un serveur Trackmania avec son controleur. Je vais prendre exemple de deux contrôleurs, **Maniacontrol** et **Pyplanet**.+L'objectif est de monter de façon stable, un serveur Trackmania avec son controleur. Je vais prendre exemple de deux contrôleurs, **ManiaControl** et **Pyplanet**. Il ne faut en choisir qu'un seul ! 
 + 
 +L'ensemble des manipulations sont faites sous Debian 10 Buster.
  
 Pour info, il vous faut obligatoirement une édition CLUB pour avoir un serveur. Pour info, il vous faut obligatoirement une édition CLUB pour avoir un serveur.
Ligne 10: Ligne 12:
  
 <code bash> <code bash>
-# mkdir /opt/server1+# mkdir -p /opt/server1/server
 </code> </code>
  
Ligne 33: Ligne 35:
 et il va falloir impérativement le modifier. Premièrement, dans la catégorie **authorization_levels**, il faut remplacer les trois valeurs **password**. Mettez un mot de passe aléatoire. et il va falloir impérativement le modifier. Premièrement, dans la catégorie **authorization_levels**, il faut remplacer les trois valeurs **password**. Mettez un mot de passe aléatoire.
  
-Ensuite, il va falloir lui fournir les identifiants de la plateforme de Nadeo. Connectez vous sur https://players.trackmania.com/ puis allez dans **Manage** , **Dedicated Servers** et cliquez sur **Create a new Dedicated Server Account**. Entrez un nom de serveur, cliquez sur **Submit**. Il de vrait vous retourner un mot de passe.+Ensuite, il va falloir lui fournir les identifiants de la plateforme de Nadeo. Connectez-vous sur https://players.trackmania.com/ puis allez dans **Manage** , **Dedicated Servers** et cliquez sur **Create a new Dedicated Server Account**. Entrez un nom de serveur, cliquez sur **Submit**. Il devrait vous retourner un mot de passe.
  
 Ce nom de serveur et ce mot de passe, il va falloir les mettre respectivement comme **login** et **password** de la section **masterserver_account**. Ce nom de serveur et ce mot de passe, il va falloir les mettre respectivement comme **login** et **password** de la section **masterserver_account**.
Ligne 47: Ligne 49:
 </code> </code>
  
-Puis modifiez le. Par défaut, il vous configure les 5 premières maps de la saison actuelle mais les fichiers de maps ne sont pas présentes dans votre serveur.+Puis modifiez-le. Par défaut, il vous configure les 5 premières maps de la saison actuelle mais les fichiers de maps ne sont pas présentes dans votre serveur.
  
-Je vous invite donc aller sur https://trackmania.exchange/ et de trouver une map qui vous plait, et de la télécharger sur le serveur, et donc d'ajuster la configuration de votre fichier **tracklist.txt**+Je vous invite donc à aller sur https://trackmania.exchange/ et de trouver une map qui vous plait, et de la télécharger sur le serveur, et donc d'ajuster la configuration de votre fichier **tracklist.txt**
  
-Maintenant on va créer un service systemd permettant de lancer un ou plusieurs serveur Trackmania. Pour cela il faut créer le fichier suivant : +Maintenant on va créer un service systemd permettant de lancer un ou plusieurs serveurs Trackmania. Pour cela il faut créer le fichier suivant : 
  
 <code ini /etc/systemd/system/trackmania@.service> <code ini /etc/systemd/system/trackmania@.service>
Ligne 62: Ligne 64:
 Type=simple Type=simple
    
-WorkingDirectory=/opt/%i+WorkingDirectory=/opt/%i/server
 SyslogIdentifier=tm2020-%i SyslogIdentifier=tm2020-%i
-ExecStart=/opt/%i/TrackmaniaServer /title=Trackmania /game_Settings=Matchsettings/tracklist.txt /dedicated_cfg=dedicated_cfg.txt /nodaemon+ExecStart=/opt/%i/server/TrackmaniaServer /title=Trackmania /game_Settings=Matchsettings/tracklist.txt /dedicated_cfg=dedicated_cfg.txt /nodaemon
 Restart=always Restart=always
    
Ligne 71: Ligne 73:
 </code>  </code> 
  
-et pour lancer votre serveur faite : +et pour lancer votre serveurfaite : 
  
 <code bash> <code bash>
Ligne 77: Ligne 79:
 </code> </code>
  
-Si vous avez un firewall, il vous faudra autoriser uniquement le port **server_port** configuré en TCP et UDP. Il n'est pas recommander d'ouvrir le port XMLRPC.+Si vous avez un firewall, il vous faudra autoriser uniquement le port **server_port** configuré en TCP et UDP. Il n'est pas recommandé d'ouvrir le port XMLRPC.
  
-Et pour finir, il va falloir l'ajouter dans le jeu. Dans votre CLUB (créez en un si vous en avez pas), cliquez sur le **+** puis **Salon** puis **Utilisez votre serveur**. Mettez un nom, et selectionnez dans la liste le login de serveur que vous venez d'utiliser.+Et pour finir, il va falloir l'ajouter dans le jeu. Dans votre CLUB (créez en un si vous en avez pas), cliquez sur le **+** puis **Salon** puis **Utilisez votre serveur**. Mettez un nom, et sélectionnez dans la liste le login de serveur que vous venez d'utiliser.
  
 Et voila, vous devriez pouvoir vous connecter a votre serveur. Et voila, vous devriez pouvoir vous connecter a votre serveur.
 +
 +==== Installation du contrôleur ManiaControl ====
 +
 +On va commencer par installer les packets nécessaires :
 +
 +<code bash>
 +# apt install mariadb-server php-cli php-mysql php-curl php-xmlrpc php-zip php-mbstring php-xml
 +</code>
 +
 +Ensuite, il faut créer la base de données :
 +
 +<code bash>
 +# mysql -e "CREATE DATABASE mc1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
 +</code>
 +
 +puis créer l'utilisateur :
 +
 +<code bash>
 +# mysql -e "GRANT ALL PRIVILEGES ON mc1.* TO 'mc1'@'localhost' IDENTIFIED BY 'password';"
 +</code>
 +
 +Ensuite on va créer le dossier ManiaControl pour le serveur 1 :
 +
 +<code bash>
 +# mkdir /opt/server1/controller
 +</code>
 +
 +Il faut ensuite télécharger la dernière version de Maniacontrol et l'extraire. Rendez-vous sur https://www.maniacontrol.com/download et récupérez le lien pour télécharger la dernière version beta. Entrez dans le dossier précédemment créé et tapez la commande suivante avec le bon lien et nom de fichier :
 +
 +<code bash>
 +wget https://download.maniacontrol.com/beta/ManiaControl_beta_0-256.zip && unzip  ManiaControl_beta_0-256.zip && rm ManiaControl_beta_0-256.zip
 +</code>
 +
 +Ensuite copiez le fichier de configuration d'exemple :
 +
 +<code bash>
 +# cp configs/server.default.xml configs/server.xml
 +</code>
 +
 +Ensuite, il faut modifier la configuration du contrôleur dans le fichier **pyplanet/settings/base.py**.
 +
 +Parmi les options, il faut :
 +
 +  * Dans la section **server**, remplacer le port par celui du **XMLRPC**
 +  * Dans la section **server**, remplacer le pass par le mot de passe du compte **SuperAdmin**
 +  * Dans la section **database**, remplacer les valeurs par celle que vous avez créé plus tot
 +  * Dans la section **masteradmins**, remplacer la valeur par celle de votre ID UPLAY. Il est affiché dans les logs du serveur quand vous vous y connectez.
 +
 +Ensuite, on va créer le service systemd pour Maniacontrol :
 +
 +<code ini /etc/systemd/system/maniacontrol@.service>
 +[Unit]
 +Description=Maniacontrol %i Controller
 +After=syslog.target
 +After=network.target
 +After=trackmania@%i.service
 +
 +[Service]
 +Type=simple
 +
 +WorkingDirectory=/opt/%i/controller
 +SyslogIdentifier=mc-%i
 +ExecStart=php /opt/%i/controller/ManiaControl.php
 +Restart=always
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code> 
 +
 +Et pour finir, lancez Maniacontrol :
 +
 +<code bash>
 +# systemctl start maniacontrol@mc1
 +</code>
 +==== Installation du contrôleur Pyplanet ====
 +
 +Pour commencer on va installer les packets necessaires :
 +
 +<code bash>
 +# apt install mariadb-server virtualenv python3-pip
 +</code>
 +
 +Ensuite, il faut créer la base de données :
 +
 +<code bash>
 +# mysql -e "CREATE DATABASE pyplanet1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
 +</code>
 +
 +puis créer l'utilisateur :
 +
 +<code bash>
 +# mysql -e "GRANT ALL PRIVILEGES ON pyplanet1.* TO 'pyplanet1'@'localhost' IDENTIFIED BY 'password';"
 +</code>
 +
 +Ensuite on va créer le dossier de pyplanet pour le serveur 1 :
 +
 +<code bash>
 +# mkdir /opt/server1/controller
 +</code>
 +
 +Ensuite il faut aller dans ce dossier, et créer l'environnement dédié :
 +
 +<code bash>
 +# virtualenv --python python3.7 ./env
 +</code>
 +
 +Ensuite, et à chaque fois que vous voudrez modifier cet environnement, il faudra le charger en tapant :
 +
 +<code bash>
 +# source ./env/bin/activate
 +</code>
 +
 +Ensuite, il faut installer pyplanet :
 +
 +<code bash>
 +(env) # pip install pyplanet --upgrade
 +</code>
 +
 +Ensuite on crée le contrôleur : 
 +
 +<code bash>
 +(env) # pyplanet init_project pyp
 +</code>
 +
 +Ensuite, il faut modifier la configuration du controleur dans le fichier **controller/settings/base.py**.
 +
 +Parmi les options, il faut :
 +
 +  * **OWNERS** : remplacer la valeur par celle de votre ID UPLAY. Il est affiché dans les logs du serveur quand vous vous y connectez.
 +  * **DATABASES** : Il faudra remplacer le **NAME** par le nom de la database, et dans les **OPTIONS** le nom d'utilisateur et le mot de passe.
 +  * **DEDICATED** : Ajuster le port pour le **XMLRPC** et le mot de passe du compte **SuperAdmin**
 +  * **MAP_MATCHSETTINGS** : y mettre la valeur **tracklist.txt**
 +
 +
 +Ensuite, on va créer le service systemd pour pyplanet :
 +
 +<code ini /etc/systemd/system/pyplanet@.service>
 +[Unit]
 +Description=PyPlanet %i Controller
 +After=syslog.target
 +After=network.target
 +After=trackmania@%i.service
 +
 + 
 +[Service]
 +Type=simple
 + 
 +WorkingDirectory=/opt/%i/controller
 +SyslogIdentifier=pyplanet-%i
 +ExecStart=/opt/%i/controller/env/bin/python /opt/%i/controller/pyp/manage.py start
 +Restart=always
 + 
 +[Install]
 +WantedBy=multi-user.target
 +</code> 
 +
 +Et pour finir, lancer pyplanet :
 +
 +<code bash>
 +# systemctl start pyplanet@server1
 +</code>
kb/linux/generalites/installer_serveur_trackmania_avec_controleur.1598217493.txt.gz · Dernière modification : 2020/08/23 21:18 de beu