Confirmedusers, editor
37,784
edits
No edit summary |
No edit summary |
||
(34 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/ | * [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 176: | Line 176: | ||
== Serveur dédié avancé == | == Serveur dédié avancé == | ||
===Debian avec systemd et rsyslog=== | ===Debian avec systemd et rsyslog=== | ||
Si vous préférez utiliser systemd au lieu de screen pour faire fonctionner votre serveur VS, vous pouvez suivre ces instructions.<br> | Si vous préférez utiliser systemd au lieu de screen pour faire fonctionner votre serveur VS, vous pouvez suivre ces instructions.<br> | ||
Nous allons également configurer rsyslog pour séparer tous les journaux d'états dans des fichiers distincts.<br> | Nous allons également configurer rsyslog pour séparer tous les journaux d'états dans des fichiers distincts.<br> | ||
==== Installation ==== | ==== Installation ==== | ||
'''1. Créer un utilisateur''' | |||
''' | |||
adduser --shell /bin/bash --disabled-password gameserver | adduser --shell /bin/bash --disabled-password gameserver | ||
''' | '''2. Créer les dossiers''' | ||
mkdir -p /srv/gameserver/vintagestory | mkdir -p /srv/gameserver/vintagestory | ||
mkdir -p /srv/gameserver/data/vs | mkdir -p /srv/gameserver/data/vs | ||
mkdir -p /usr/lib/systemd/system | mkdir -p /usr/lib/systemd/system | ||
'''3. Télécharger le jeu''' | '''3. Télécharger le jeu''' | ||
cd /srv/gameserver/vintagestory | cd /srv/gameserver/vintagestory | ||
Allez sur http://account.vintagestory.at/downloads<br> | Allez sur http://account.vintagestory.at/downloads<br> | ||
Copiez le lien du dernier paquet " | Copiez le lien du dernier paquet "vs_server_linux-x64_*.*.*.tar.gz" ('''Linux Server (.tar.gz)''' dans la partie '''Show other available downloads of Vintage Story''')<br> | ||
Téléchargez avec "wget" depuis la console (''Vintage Story version 1. | Téléchargez avec "wget" depuis la console (''Vintage Story version 1.18.8 dans cet exemple''). | ||
wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.18.8.tar.gz | |||
wget https://cdn.vintagestory.at/gamefiles/stable/ | |||
'''4. Extraire le paquet tar.gz''' | '''4. Extraire le paquet tar.gz''' | ||
tar xzf vs_server_linux-x64_1.18.8.tar.gz | |||
tar xzf | |||
'''5. Changer les paramètres d'accès''' | '''5. Changer les paramètres d'accès''' | ||
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 | ||
'''6. Créer le fichier de service systemd''' | '''6. Créer le fichier de service systemd''' | ||
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 244: | Line 220: | ||
[Service] | [Service] | ||
WorkingDirectory=/srv/gameserver/vintagestory | WorkingDirectory=/srv/gameserver/vintagestory | ||
ExecStart= | ExecStart=dotnet VintagestoryServer.dll --dataPath /srv/gameserver/data/vs | ||
Restart=always | Restart=always | ||
RestartSec=30 | RestartSec=30 | ||
Line 255: | Line 231: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
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. | |||
'''7. Créer un fichier de configuration pour rsyslog''' | '''7. Créer un fichier de configuration pour rsyslog''' | ||
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 290: | 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 295: | Line 266: | ||
systemctl enable vintagestoryserver.service | systemctl enable vintagestoryserver.service | ||
systemctl start vintagestoryserver.service | systemctl start vintagestoryserver.service | ||
---- | ---- | ||
Line 347: | 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 : | ||
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= | 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 368: | Line 337: | ||
Terminez avec : | Terminez avec : | ||
30 4 * * * systemctl restart vintagestoryserver2.service | 30 4 * * * systemctl restart vintagestoryserver2.service | ||
Amusez-vous bien ! | Amusez-vous bien ! | ||
==Configuration avancée== | |||
= | |||
===Utilisation d'un enregistrement SRV pour diriger un domaine vers votre serveur=== | |||
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> | |||
Mais il se peut que vous souhaitiez éviter d'avoir à spécifier le port (plus facile à retenir, plus propre). | |||
Il existe un moyen de faire pointer un domaine vers votre serveur et d'éviter d'avoir à ajouter le port : les enregistrements SRV<br> | |||
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 | 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> | ||
Prenons un serveur avec les détails suivants : | |||
* Addresse : <code>play.example.com</code> | |||
* | |||
* Port : <code>50030</code> | * Port : <code>50030</code> | ||
* | * Domaine propre : <code>mydomain.com</code> | ||
* | * Sous-domaine souhaité : <code>vintagestory.mydomain.com</code> | ||
Vos enregistrements SRV bruts devraient ressembler à ceci : | |||
_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. | ||
Les traits de soulignement et les points sont importants ! Voici quelques détails : | |||
* <code>_vintagestory</code> définit le service, dans notre cas, Vintage Story<br> | |||
* <code>_vintagestory</code> | * <code>_tcp</code> définit le protocole, Vintage Story utilise TCP<br> | ||
* <code>_tcp</code> | * <code>vintagestory.mydomain.com.</code> est le sous-domaine que nous voulons utiliser. Le point final est important !<br> | ||
* <code>vintagestory.mydomain.com.</code> | * <code>IN SRV</code> Définit le type d'enregistrement, ne modifiez pas ceci<br> | ||
* <code>IN SRV</code> | * <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> | * <code>50030</code> est le port que notre instance va écouter<br> | ||
* <code>50030</code> | * <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> | |||
Si vous vouliez pointer votre enregistrement directement à votre domaine, vous auriez <code>mydomain.com.</code> au lieu de <code>vintagestory.mydomain.com.</code> | |||
Voici comment procéder pour OVH et Hetzner (N'oubliez pas de modifier les valeurs pour les adapter à votre configuration !) : | |||
====OVH==== | ====OVH==== | ||
Vous devrez aller dans votre zone DNS et ajouter une entrée, sélectionner le type d'enregistrement SRV : | |||
* Sous-domaine : <code>_vintagestory._tcp.vintagestory</code> Vous n'avez pas besoin d'ajouter votre domaine, car leur formulaire le fait pour vous. | |||
* | * TTL : Il n'est pas nécessaire de modifier ceci | ||
* TTL : | * Priorité : <code>10</code> | ||
* | * Pondération : <code>10</code> | ||
* | |||
* Port : <code>50030</code> | * Port : <code>50030</code> | ||
* | * Cible : <code>server.example.com.</code> | ||
====Hetzner==== | ====Hetzner==== | ||
Vous devrez créer un enregistrement à partir de leur console DNS : | |||
* Type : <code>SRV</code> | * Type : <code>SRV</code> | ||
* | * Nom : <code>_vintagestory._tcp.vintagestory.mydomain.com.</code> | ||
Cliquez sur le champ Valeur pour entrer les détails : | |||
* | * Priorité : <code>10</code> | ||
* | * Pondération : <code>10</code> | ||
* Port : <code>50030</code> | * Port : <code>50030</code> | ||
* | * Cible : <code>server.example.com.</code> | ||
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. | |||
Vous êtes maintenant prêt à partager votre serveur avec votre domaine personnalisé. | |||
{{Game navbox}} | {{Game navbox}} |