Setting up a Multiplayer Server/fr: Difference between revisions

From Vintage Story Wiki
no edit summary
No edit summary
No edit summary
 
(25 intermediate revisions by 2 users not shown)
Line 18: Line 18:


L'hébergement est disponible par les créateurs du jeu via le tableau de bord intégré du serveur, pas encore de support pour les mods, serveurs situés en Europe centrale.<br>
L'hébergement est disponible par les créateurs du jeu via le tableau de bord intégré du serveur, pas encore de support pour les mods, serveurs situés en Europe centrale.<br>
* [https://www.vintagestory.at/store/product/7-simple-server-hosting-8-slots/ Available on the official store].
* [https://www.vintagestory.at/store/product/7-simple-server-hosting-8-slots/ Disponible sur le site officiel du jeu].


Services d'hébergement de tiers, sans ordre particulier :
Services d'hébergement de tiers, sans ordre particulier :
Line 202: Line 202:
'''4. Extraire le paquet tar.gz'''
'''4. Extraire le paquet tar.gz'''


   <div class="mw-translate-fuzzy">
   tar xzf vs_server_linux-x64_1.18.8.tar.gz
tar xzf vs_server_1.12.9.tar.gz
 
'''5. Changer les paramètres d'accès'''
'''5. Changer les paramètres d'accès'''
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''5. Change owner'''
</div>


Vous devez définir les droits d'accès du répertoire de votre serveur de jeux pour éviter les erreurs d'autorisations.
Vous devez définir les droits d'accès du répertoire de votre serveur de jeux pour éviter les erreurs d'autorisations.
   chown -R gameserver:gameserver /srv/gameserver
   chown -R gameserver:gameserver /srv/gameserver


<div class="mw-translate-fuzzy">
'''6. Créer le fichier de service systemd'''
'''6. Créer le fichier de service systemd'''
</div>


<div class="mw-translate-fuzzy">
Utilisez votre logiciel de modification de fichier préféré pour créer un fichier de service (dans cet exemple nano).
Utilisez votre logiciel de modification de fichier préféré pour créer un fichier de service (dans cet exemple nano).
   nano /usr/lib/systemd/system/vintagestoryserver.service
   nano /usr/lib/systemd/system/vintagestoryserver.service
Line 228: Line 220:
   [Service]
   [Service]
   WorkingDirectory=/srv/gameserver/vintagestory
   WorkingDirectory=/srv/gameserver/vintagestory
   ExecStart=/usr/bin/mono VintagestoryServer.exe --dataPath /srv/gameserver/data/vs
   ExecStart=dotnet VintagestoryServer.dll --dataPath /srv/gameserver/data/vs
   Restart=always
   Restart=always
   RestartSec=30
   RestartSec=30
Line 239: Line 231:
   [Install]
   [Install]
   WantedBy=multi-user.target
   WantedBy=multi-user.target
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Assurez-vous que le nouvel utilisateur a accès à la commande <code>dotnet</code> ou remplacez la commande avec le chemin complet là où vous avez installé la routine dotnet (si vous avez utilisé une installation personnalisée). Ou bien vous pouvez aussi utiliser <code>ExecStart=VintagestoryServer --dataPath /srv/gameserver/data/vs</code> si la variable d'environnement <code>DOTNET_ROOT</code> a été définie.
Make sure the new user has access to the <code>dotnet</code> command or replace the command with the full path to where you installed the dotnet runtime (if you picked a custom install). Or you can also use <code>ExecStart=VintagestoryServer --dataPath /srv/gameserver/data/vs</code> if you have the <code>DOTNET_ROOT</code> environment variable set.
</div>


<div class="mw-translate-fuzzy">
'''7. Créer un fichier de configuration pour rsyslog'''
'''7. Créer un fichier de configuration pour rsyslog'''
</div>


<div class="mw-translate-fuzzy">
Utilisez votre logiciel de modification de fichier préféré pour créer un fichier de service (dans cet exemple nano).
Utilisez votre logiciel de modification de fichier préféré pour créer un fichier de service (dans cet exemple nano).
   nano /etc/rsyslog.d/vintagestoryserver.conf
   nano /etc/rsyslog.d/vintagestoryserver.conf
Line 274: Line 260:
   # Discard  
   # Discard  
   if $programname == 'VSSRV' then ~
   if $programname == 'VSSRV' then ~
'''8. Redémarrer rsyslog / activer le service'''
'''8. Redémarrer rsyslog / activer le service'''
Pour activer rsyslog et votre serveur vintagestory, tapez les commandes suivantes :
Pour activer rsyslog et votre serveur vintagestory, tapez les commandes suivantes :
Line 279: Line 266:
   systemctl enable vintagestoryserver.service
   systemctl enable vintagestoryserver.service
   systemctl start vintagestoryserver.service
   systemctl start vintagestoryserver.service
</div>


----
----
Line 331: Line 317:
Si vous souhaitez utiliser plusieurs instances sur la même machine, il vous suffit de refaire certaines des étapes ci-dessus. Voici un exemple pour une deuxième instance :
Si vous souhaitez utiliser plusieurs instances sur la même machine, il vous suffit de refaire certaines des étapes ci-dessus. Voici un exemple pour une deuxième instance :


   <div class="mw-translate-fuzzy">
   mkdir -p /srv/gameserver/data/vs2
mkdir -p /srv/gameserver/data/vs2
   nano /usr/lib/systemd/system/vintagestoryserver2.service
   nano /usr/lib/systemd/system/vintagestoryserver2.service
Copiez le texte de l'étape 6 et modifiez ces lignes :
Copiez le texte de l'étape 6 et modifiez ces lignes :
   Description=Vintage Story Server 2 Unit
   Description=Vintage Story Server 2 Unit
   ExecStart=/usr/bin/mono VintagestoryServer.exe --dataPath /srv/gameserver/data/vs2
   ExecStart=dotnet VintagestoryServer.dll --dataPath /srv/gameserver/data/vs2
   SyslogIdentifier=VSSRV2
   SyslogIdentifier=VSSRV2
Créez un fichier rsyslog et copiez le code de l'étape 7 :
Créez un fichier rsyslog et copiez le code de l'étape 7 :
Line 352: Line 337:
Terminez avec :
Terminez avec :
   30 4 * * *      systemctl restart vintagestoryserver2.service
   30 4 * * *      systemctl restart vintagestoryserver2.service
</div>


Amusez-vous bien !
Amusez-vous bien !


<div lang="en" dir="ltr" class="mw-content-ltr">
==Configuration avancée==
==Advanced setup==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
===Utilisation d'un enregistrement SRV pour diriger un domaine vers votre serveur===
===Using an SRV Record to point a domain to your server===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Dans certains cas, il se peut que vous ne puissiez pas obtenir un serveur avec le port par défaut (instances multiples sur le même serveur, hôtes payants...), et vous devrez ajouter le port à la fin de l'adresse du serveur afin de vous y connecter.<br>
In some cases, you may not able to get a server with the default port (Multiple instances on the same server, paid hosts...), and you will have to add the port at the end of the server's address in order to connect to it.<br>
Mais il se peut que vous souhaitiez éviter d'avoir à spécifier le port (plus facile à retenir, plus propre).
But you might want to avoid the need to specify the port (Easier to remember, look cleaner).
Il existe un moyen de faire pointer un domaine vers votre serveur et d'éviter d'avoir à ajouter le port : les enregistrements SRV<br>
There is a way to point a domain to your server and avoid the need to add the port : SRV Records<br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Les enregistrements SRV vous permettent de faire pointer un domaine/sous-domaine vers votre instance, tout en indiquant au jeu le port à utiliser.<br>
SRV Records allow you to point a domain/subdomain to your instance, while letting the game know the port to use.<br>
La manière de configurer les enregistrements SRV dépend de votre fournisseur de domaine, et vous devriez consulter sa documentation avant d'effectuer des changements. Cependant, l'idée et les valeurs restent les mêmes pour chaque fournisseur.<br>
How to set up an SRV Records will depend on your domain provider, and you should check on their documentation before making any changes. However, the idea and values remain the same for every provider.<br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Prenons un serveur avec les détails suivants :
Let's take a server with the following details :
* Addresse : <code>play.example.com</code>
* Address : <code>play.example.com</code>
* Port : <code>50030</code>
* Port : <code>50030</code>
* Owned domain : <code>mydomain.com</code>
* Domaine propre : <code>mydomain.com</code>
* Desired subdomain : <code>vintagestory.mydomain.com</code>
* Sous-domaine souhaité : <code>vintagestory.mydomain.com</code>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Vos enregistrements SRV bruts devraient ressembler à ceci :
Your raw SRV Records should look something like this :
   _vintagestory._tcp.vintagestory.mydomain.com.  IN  SRV 10 10 50030 server.example.com.
   _vintagestory._tcp.vintagestory.mydomain.com.  IN  SRV 10 10 50030 server.example.com.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Les traits de soulignement et les points sont importants ! Voici quelques détails :
The underscores and trailing dots are important! Here are some details :
* <code>_vintagestory</code> définit le service, dans notre cas, Vintage Story<br>
* <code>_vintagestory</code> define the service, in our case, Vintage Story<br>
* <code>_tcp</code> définit le protocole, Vintage Story utilise TCP<br>
* <code>_tcp</code> define the protocol, Vintage Story use TCP<br>
* <code>vintagestory.mydomain.com.</code> est le sous-domaine que nous voulons utiliser. Le point final est important !<br>
* <code>vintagestory.mydomain.com.</code> is the subdomain we want to use. The trailing dot is important!<br>
* <code>IN SRV</code> Définit le type d'enregistrement, ne modifiez pas ceci<br>
* <code>IN SRV</code> Define the record type, don't change this<br>
* <code>10 10</code> sont dans l'ordre, la priorité et la pondération de notre enregistrement, dans notre cas ils ne sont pas important, car vous n'allez probablement pas équilibrer la charge d'un serveur Vintage Story<br>
* <code>10 10</code> are in order the priority and the weight of our record, in our case those are not important, as you are probably not going to load balance a Vintage Story server<br>
* <code>50030</code> est le port que notre instance va écouter<br>
* <code>50030</code> is the port our instance is listening on<br>
* <code>server.example.com.</code> est la cible, où notre serveur est situé. Le point final est obligatoire puisque le serveur ciblé n'est pas dans le même domaine que nous. Si c'était le cas, vous n'auriez besoin que d'ajouter le sous-domaine de la cible sans le point final<br>
* <code>server.example.com.</code> is the target, where the server is located. The trailing dot is mandatory as the target server is not on the same domain as us. If it was the case, you would only need to add the subdomain of the target without the trailing dot<br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Si vous vouliez pointer votre enregistrement directement à votre domaine, vous auriez <code>mydomain.com.</code> au lieu de <code>vintagestory.mydomain.com.</code>
If you wanted to have your record pointing to your domain directly, you would have <code>mydomain.com.</code> instead of <code>vintagestory.mydomain.com.</code>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Voici comment procéder pour OVH et Hetzner (N'oubliez pas de modifier les valeurs pour les adapter à votre configuration !) :
Here is how to do it for OVH and Hetzner (Don't forget to edit the values to suit your setup !) :
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
====OVH====
====OVH====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Vous devrez aller dans votre zone DNS et ajouter une entrée, sélectionner le type d'enregistrement SRV :
You will need to go to your DNS zone and add an entry, select the SRV Record type :
* Sous-domaine : <code>_vintagestory._tcp.vintagestory</code> Vous n'avez pas besoin d'ajouter votre domaine, car leur formulaire le fait pour vous.
* Sub-domain : <code>_vintagestory._tcp.vintagestory</code> You don't need to add your domain, as their form do it for you.
* TTL : Il n'est pas nécessaire de modifier ceci
* TTL : No need to change this
* Priorité : <code>10</code>
* Priority : <code>10</code>
* Pondération : <code>10</code>
* Weight : <code>10</code>
* Port : <code>50030</code>
* Port : <code>50030</code>
* Target : <code>server.example.com.</code>
* Cible : <code>server.example.com.</code>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
====Hetzner====
====Hetzner====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Vous devrez créer un enregistrement à partir de leur console DNS :
You will need to create a record from their DNS Console :
* Type : <code>SRV</code>
* Type : <code>SRV</code>
* Name : <code>_vintagestory._tcp.vintagestory.mydomain.com.</code>
* Nom : <code>_vintagestory._tcp.vintagestory.mydomain.com.</code>
Click on the Value field to enter the details :
Cliquez sur le champ Valeur pour entrer les détails :
* Priority : <code>10</code>
* Priorité : <code>10</code>
* Weight : <code>10</code>
* Pondération : <code>10</code>
* Port : <code>50030</code>
* Port : <code>50030</code>
* Target : <code>server.example.com.</code>
* Cible : <code>server.example.com.</code>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Attendez quelques minutes pour que votre enregistrement se propage et essayez ensuite de l'utiliser pour vous connecter au serveur, en utilisant <code>vintagestory.mydomain.com</code> comme adresse.
Wait a few minutes for your record to propagate and then try to use it to connect to the server, using <code>vintagestory.mydomain.com</code> as the address.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Vous êtes maintenant prêt à partager votre serveur avec votre domaine personnalisé.
You are now all set up to share your server with your custom domain.
</div>


{{Game navbox}}
{{Game navbox}}
Confirmedusers, editor
37,784

edits