Setting up a Multiplayer Server/fr: Difference between revisions

From Vintage Story Wiki
(Created page with "===Serveur Ad-hoc=== Si vous cherchez une expérience multijoueur temporaire il est possible d'ouvrir un monde en mode solo et de cliquer sur "Ouvrir au LAN" dans le menu des options. Cela permettra aux joueurs sur le même réseau local de vous rejoindre. Si vous souhaitez ouvrir votre partie à des joueurs au delà de votre connexion locale, vous pouvez aussi cliquer sur "Ouvrir à internet", ce qui tentera d'établir une connexion externe pour rejoindre votre serveur...")
Tags: Mobile edit Mobile web edit
No edit summary
 
(197 intermediate revisions by 3 users not shown)
Line 3: Line 3:


===Serveur Ad-hoc===
===Serveur Ad-hoc===
Si vous cherchez une expérience multijoueur temporaire il est possible d'ouvrir un monde en mode solo et de cliquer sur "Ouvrir au LAN" dans le menu des options. Cela permettra aux joueurs sur le même réseau local de vous rejoindre. Si vous souhaitez ouvrir votre partie à des joueurs au delà de votre connexion locale, vous pouvez aussi cliquer sur "Ouvrir à internet", ce qui tentera d'établir une connexion externe pour rejoindre votre serveur depuis internet. Cela est possible par une technique appelée UPnP et doit être activé sur votre box internet, l'UPnP est souvent activé par défaut sur la plupart des fournisseurs d'accès. Si vous avez des soucis avec l'UPnP, vous devrez directement effectuer une "Redirection de ports" depuis votre box. Vous devrez rediriger le port TCP 42420 afin de permettre l'accès extérieur. (Vous pouvez trouver des renseignements supplémentaires en recherchant "Redirection de ports" avec le modèle de votre box internet)


For this server to work, your single player world has to stay open.
Si vous cherchez une expérience multijoueur temporaire il est possible d'ouvrir un monde en mode solo et de cliquer sur "Ouvrir au LAN" dans le menu des options. Cela permettra aux joueurs sur le même réseau local de vous rejoindre.
Si vous souhaitez ouvrir votre partie à des joueurs au-delà de votre connexion locale, vous pouvez aussi cliquer sur "Ouvrir à internet", ce qui tentera d'établir une connexion externe pour rejoindre votre serveur depuis internet. Cela est possible par une technique appelée UPnP et doit être activé sur votre box internet, l'UPnP est souvent activé par défaut sur la plupart des fournisseurs d'accès. Il y a 60 % de chances que "Ouvrir à internet" fonctionne instantanément sans problème. Sinon, vous devrez effectuer une "Redirection de ports" depuis votre box. Vous devrez rediriger le port TCP 42420 afin de permettre l'accès extérieur. (Vous pouvez trouver des renseignements supplémentaires sur internet en recherchant "Redirection de ports" avec le modèle de votre box internet).
 
Pour que ce serveur fonctionne, une partie solo doit être lancée en continu sur l'ordinateur d'un des joueurs.
----
----


===Dedicated Server===
===Serveur Dédié===
Alternatively the game ships with a dedicated server program that you can start and leave on permanently without needing to log in yourself.
There are several ways to get a dedicated server up and running.


==== Paid hosts ====
Quand le jeu est installé, il installe également un programme de serveur dédié que vous pouvez exécuter et laisser activé en permanence sans avoir besoin d'être présent sur le jeu vous-même.
Some commercial hosting services offer paid server hosting. Currently Vintage Story hosting is offered by [https://www.vintagestory.at/store/product/7-30-days-simple-server-hosting/ the developers of the game], [https://pingperfect.com/ PingPerfect], [https://citadelservers.com/ Citadel Server], [https://www.creeperhost.net/ Creeperhost], [https://www.akliz.net/games/vintage-story Akliz] and [https://www.g-portal.com/en/gameserver/rent-a-vintage-story-server GPortal], [https://hosthavoc.com/game-servers/vintage-story Host Havoc].
Il existe différentes manières d'installer et de lancer un serveur dédié.


==== Dedicated Servers on Windows ====
==== Hôtes payants ====
* Open the game's application folder, it is <code>%appdata%/VintageStory</code> by default.
* Run <code>VintagestoryServer.exe</code>.
* You might need to setup port forwarding on your internet router if you want the server to be accessible from outside of your local network (for example, anyone who isn't on the same WiFi as you).
----


=== Dedicated Servers on Linux ===
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>
This describes how to set up the server as a service on Linux systems.
* [https://www.vintagestory.at/store/product/7-simple-server-hosting-8-slots/ Disponible sur le site officiel du jeu].


===== Requirements for CentOS 7 (RHEL, Fedora, ...) =====
Services d'hébergement de tiers, sans ordre particulier :
'''1. EPEL/screen/wget/curl Install'''


  yum -y install epel-release screen wget curl
* [https://pingperfect.com/gameservers/vintage-story-game-server-hosting-rental.php Pingperfect]
* [https://www.4netplayers.com/ 4netplayers]
* [https://www.bisecthosting.com/vintage-story-server-hosting Bisecthosting]
* [https://hosthavoc.com/game-servers/vintage-story HostHavoc]
* [https://www.akliz.net/games/vintage-story Akliz]
* [https://citadelservers.com/game-servers/vintage-story-game-hosting CitadelHosting]
* [https://suhosting.net/ Something Unique Hosting]
* [https://www.gtxgaming.co.uk/ GTX.gaming.uk]
* [https://www.creeperhost.net/vintage/order CreeperHost]
* [https://shockbyte.com/ Shockbyte]
* [https://www.g-portal.com/ Gportal] (si vous installez des mods, il est conseillé de désactiver les mises à jour auto)
* [https://server.nitrado.net/ Nitrado] (serait en train de supprimer la prise en charge de Vintage Story)


'''2. Mono Install'''
==== Serveurs dédiés sur Windows ====


  yum -y install yum-utils
* Ouvrez le dossier contenant le jeu (<code>%appdata%/VintageStory</code> par défaut)
  rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
* Lancez <code>VintagestoryServer.exe</code>.
  yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
* Vous pouvez configurer une redirection des ports de votre routeur internet si vous voulez que votre serveur soit accessible au-delà de votre réseau local.
  yum -y install mono mono-devel
----
----


===== Requirements for Ubuntu (Debian, Mint, ...) =====
=== Serveurs dédiés sur Linux ===
'''1. screen/wget/curl Install'''


  sudo apt install -y screen wget curl
Cette section explique comment mettre en place un serveur dédié en tant que service sur les systèmes Linux.<br>
<span style="color:#E16100">Remarque : ''Ce qui suit fonctionne uniquement pour les processeurs x64. Si vous utilisez ARM, veuillez vous référer à la section suivante.''</span><br>


'''2. Mono Install'''
===== Prérequis =====


As of '''Vintage Story version 1.12.7''' and above '''Mono version 5 or higher''' is recommended to use.<br>
* [https://dotnet.microsoft.com/en-us/download/dotnet/7.0 .NET Runtime 7.0] Ceci devrait être tout ce qui est nécessaire pour faire fonctionner un serveur Vintagestory. Tout le reste ne sert qu'à faciliter le démarrage et la gestion du serveur.
This '''HowTo is written assuming Ubuntu 18.04''' as the base OS.<br>
* installez <code>pgrep</code>, <code>screen</code> et <code>wget</code> en utilisant le gestionnaire de paquets de votre système.
To install the latest stable version for your specific distribution, please follow the instructions from the [https://www.mono-project.com/download/stable/#download-lin Official Mono Project Download Page].
  sudo apt install gnupg ca-certificates
  sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
  echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
  sudo apt update
  sudo apt install -y mono-complete


----<br>
===== Mise en place du serveur =====


'''3. Download the game'''
'''1. Télécharger le jeu'''


<span style="color:#E16100">Advice: ''Create a seperate directory for Vintage Story as the tar.gz does not contain a subfolder.''</span>
<span style="color:#E16100">Conseil : ''Créez un dossier différent pour Vintage Story étant donné que le tar.gz ne contient pas de sous-dossier.''</span>
   mkdir server && cd server
   mkdir server && cd server


Goto http://account.vintagestory.at/downloads<br>
Allez sur http://account.vintagestory.at/downloads<br>
Copy the link of the newest "vs_server_*.*.*.tar.gz" package ('''Tar.gz Archive/Linux (server only)''' under '''Show other available downloads of Vintage Story''')<br>
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>
Download with "wget" via console (''Vintage Story version 1.12.9 in this example'').
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_1.12.9.tar.gz
   wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.18.8.tar.gz


'''4. Extract tar.gz package'''
'''2. Extraire le paquet tar.gz'''


   tar xzf vs_server_*.*.*.tar.gz
   tar xzf vs_server_linux-x64_*.*.*.tar.gz


'''5. Make server.sh script executeable'''
'''3. Faire de server.sh un script exécutable'''


   chmod +x server.sh
   chmod +x server.sh


'''6. Edit server.sh file'''
'''4. Éditer le fichier server.sh'''


For security reasons you should not run the server as root user, so by default USERNAME is set to vintagestory.
Pour des raisons de sécurité, vous ne devriez pas lancer votre serveur en tant que root, le nom d'utilisateur par défaut USERNAME sera défini sur "vintagestory".
On most linux operating systems you can create a user with the command adduser.
Sur la plupart des systèmes d'exploitations Linux, vous pouvez créer un nouvel utilisateur avec la commande "adduser".


   adduser vintagestory
   adduser vintagestory


Then change these options for your needs:
Puis changez ces options par rapport à vos besoins :


   USERNAME='<your-vs-server-username>'
   USERNAME='<le-nom-d'utilisateur-pour-votre-serveur-VS>'
   VSPATH='<your-vs-directory>'
   VSPATH='<le-chemin-du-dossier-du-jeu>'


'''7. Open the port at the firewall (if needed)'''
'''5. Ouvrir les ports sur votre pare-feu (si nécessaire)'''


firewalld
firewalld
Line 94: Line 93:
   iptables -A INPUT -p tcp -m tcp --dport 42420 -j ACCEPT
   iptables -A INPUT -p tcp -m tcp --dport 42420 -j ACCEPT


'''8. Server start and first steps'''
'''6. Lancement du serveur et premiers pas'''


   ./server.sh start
   ./server.sh start
  Wait for the startup to finish, then you can give yourself OP with
  ./server.sh command "/op <youusername>"


'''9. Connect to your IP/Domain and have fun'''
  Attendez la fin du démarrage puis donnez vous les droits administrateurs (OP) avec :
  ./server.sh command "/op <votre_nom_d'utilisateur>"
 
'''7. Connectez vous à votre IP/Domaine et amusez-vous !'''
----
----


===== Requirements for Alpine (Advanced, no support) =====
==== Serveur dédié sur ARM64 ====
'''1. Install mono'''


As mono is in testing in Alpine, the testing URL (http://dl-cdn.alpinelinux.org/alpine/edge/testing) will have to be uncommented out in
<span style="color:#E16100">Remarque : ''Notez que la version ARM64 est EXPÉRIMENTALE. Merci de signaler les problèmes éventuels sur le [https://discord.com/channels/302152934249070593/1128220205181587516 discord ]''</span>


  /etc/apk/repositories
La version ARM64 est disponible sur [https://github.com/anegostudios/VintagestoryServerArm64 GitHub ]


after, run
Il est recommandé d'utiliser le script d'installation situé sur GitHub. Ce qui suit est un guide étape par étape sur la façon d'utiliser le script sur un système basé sur Debian (Ubuntu, Debian, Rasbian, etc).


  apk update
1. Installez les dépendances nécessaires à l'utilisation de ce script en procédant comme suit <code>apt -y install curl jq</code>
  apk add mono mono-dev


'''2. Install tmux'''
2. Créez un nouveau fichier nommé <code>arminstall.sh</code> en exécutant <code>vim arminstall.sh</code> ou <code>nano arminstall.sh</code>


  apk add tmux
3. Copiez le contenu du fichier <code>arminstall.sh</code> depuis GitHub vers le fichier que vous venez de créer et faites une sauvegarde en faisant <code>:wq</code> avec Vim ou <code>Ctrl + X</code>, puis <code>Y</code>, puis <code>Enter</code> avec Nano.


'''3. Certificates'''
4. Rendez le script exécutable en tapant <code>chmod +x arminstall.sh</code>


  apk add ca-certificates
5. Lancez le script en tapant <code>./arminstall.sh</code>


then run
6. Démarrez le serveur en tapant <code>./VintagestoryServer</code> ou <code>dotnet VintagestoryServer.dll</code>


  cert-sync /etc/ssl/certs/ca-certificates.crt
Ceci téléchargera la dernière version de Vintagestory dans le répertoire de travail actuel, puis remplacera les fichiers nécessaires pour fonctionner avec ARM.


to update the certs.
Si, à un moment donné, vous souhaitez mettre à jour la dernière version de Vintage Story, il vous suffit de relancer le script.
 
----
'''4. Simplified Start Script'''
 
Download and extract the server into a location as normal, then put this into a script:
 
  #!/bin/ash
  mono VintagestoryServer.exe --dataPath ./data


This script will just run the server, putting the world save files into the same folder the server is extracted to.
==== Commande simple de démarrage du serveur ====
As an advanced user, you don't need to worry about having the dependancies, checking for new versions, or installing the server or save files under different users and locations.


Run the script in a tmux session.
Si vous souhaitez utiliser un script personnalisé ou simplement démarrer manuellement votre serveur, vous pouvez lancer
dotnet VintagestoryServer.dll --dataPath /path/to/data
Ou
./VintagestoryServer --dataPath /path/to/data
si la variable d'environnement <code>DOTNET_ROOT</code> est définie.


The rest of the normal advice applies too (firewalling etc.).
==== Mettre à jour le serveur ====


==== Updating Servers ====
Si vous souhaitez installer une version plus récente, retirez tous les fichiers de l'ancienne installation. Si vous avez choisi de mettre vos données de jeu dans le dossier d'installation, faites attention à ne pas le supprimer ou vous pourriez perdre vos sauvegardes, configurations et données de joueur.
Téléchargez le dernier fichier "Tar.gz Archive/Linux (server only)" et extrayez-le. Si vous ne possédez qu'une connexion FTP à votre serveur distant, vous devrez extraire localement le serveur et transférer chaque fichier un par un.


If you want to install a newer version, remove all installation files first, or you'll get unforseeable behavior. If you chose a data folder inside the installation folder, make sure to not delete that one, or you'll loose your save games, settings and player data.
== Configuration Basique ==
Download the "Tar.gz Archive/Linux (server only)" file and extract it. If you have a remote installation and only a FTP connection to your server, you will have to unpack it locally and upload each file.


== Basic Configuration ==
Une fois votre serveur lancé, vous pourriez chercher à modifier certaines options de configuration.
 
Vous pouvez configurer votre serveur pendant son fonctionnement à travers des commandes ou lorsque le serveur est arrêté en éditant le fichier {{ll|Server Config|serverconfig.json}}.
Once your server is up and running you might want to look over some of the following configuration options. You can configure the server while its running through commands or by editing the serverconfig.json, for which the server needs to be stopped.
Sur Windows, le fichier se trouve par défaut à '''%appdata%/VintageStoryData/serverconfig.json'''.
On windows, by default this file is located at '''%appdata%/VintageStoryData/serverconfig.json'''.
Sur Linux, le fichier se trouve à '''./data/serverconfig.json''' du dossier de votre serveur (par exemple : ''/home/vintagestory/server/data/serverconfig.json'' si installé de la même manière qu'ici).
On Linux it's located at '''./data/serverconfig.json''' of your server directory (e.g. ''/home/vintagestory/server/data/serverconfig.json'' if setup like described here)


{{Protip
{{Protip
|The easiest way to get a world configured to your wishes is to first create it in Single Player, using the advanced world creating options - and then upload it to use as your server world.
|La manière la plus facile de configurer les paramètres de votre monde est de le créer en mode solo en utilisant les options avancées de création de monde, pour ensuite envoyer ses fichiers pour l'utiliser en tant que monde de serveur.
}}
}}


''Explanation of values in serverconfig.json you can find here: [[Server Config]]''
''Des explications sur les données de "serverconfig.json" peuvent être trouvées ici : [[Special:MyLanguage/Server Config|Configuration Serveur]]''


Here are some of the configurations set by commands, that you'd typically want to set.
Voici quelques configurations par commandes que vous souhaiteriez typiquement mettre.


* <code>/serverconfig upnp [0|1]</code><br>If set to one, the game server will attempt to set up port forwarding for you
* <code>/serverconfig upnp [0|1]</code><br>Si paramétré sur 1, le serveur de jeu tentera de rediriger les ports à votre place.
* <code>/serverconfig name Peaceful PvE Server</code><br>Set up the server name, visible in the public server listing
* <code>/serverconfig name Serveur PvE Pacifique</code><br>Paramètre le nom du serveur visible sur la liste des serveurs publics.
* <code>/serverconfig description This is a medieval survival server, PvE only, everyone welcome! <3</code><br>Set up the servers description, visible in the public server listing
* <code>/serverconfig description Ceci est un serveur de survie médiévale, PvE uniquement, bienvenue à tous ! <3</code><br>Paramètre la description du serveur visible sur la liste des serveurs publics.
* <code>/serverconfig motd Hi {playername}! Please remember to follow the rules!</code><br>The message shown to players when they join
* <code>/serverconfig motd Salut {playername} ! N'oublie pas de suivre les règles du serveur !</code><br>Le message de bienvenue quand un joueur rejoint le serveur.
* <code>/serverconfig password asdaf</code><br>Require a password for players to log in, if desired. Use <code>/serverconfig nopassword</code> to remove again.
* <code>/serverconfig password azerty</code><br>Permet d'empêcher l'accès au serveur par un mot de passe. Utilisez <code>/serverconfig nopassword</code> pour de nouveau donner l'accès public.
* <code>/serverconfig advertise (1|0)</code><br>Whether or not add this server to the public server listing
* <code>/serverconfig advertise (1|0)</code><br>Permet d'afficher ou non le serveur sur la liste des serveurs publics.


Lastly, you can configure a server that was created with the 'Open to Lan' method in the same way as you do for dedicated ones, be aware though, in that case a few of the configurations are overridden by the client, such as the save file location.
Pour terminer, vous pouvez de la même manière configurer un serveur créé avec "Ouvrir au LAN", attention cependant, certaines configurations seront directement remises par défaut, par exemple l'emplacement des fichiers de sauvegarde.


===Acquiring server admin rights===
===Acquérir les droits administrateurs===


If you have access to the server console, type <code>/op playername</code>. If not, open up the serverconfig.json and replace
Si vous avez accès à la console du serveur, tapez directement <code>/op nom_du_joueur</code>. Sinon, ouvrez le "serverconfig.json" et remplacez :
<code>"StartupCommands": null,</code>
<code>"StartupCommands": null,</code>
with
avec :
<code>"StartupCommands": "/op playername",</code>
<code>"StartupCommands": "/op nom_du_joueur",</code>


In both instances you should replace <code>playername</code> with your actual player name.
Dans les deux cas, vous devez remplacer <code>nom_du_joueur</code> avec votre véritable nom de joueur.


== Advanced Dedicated Server ==
== Serveur dédié avancé ==


===Debian with systemd service and rsyslog===
===Debian avec systemd et rsyslog===
If you prefer using systemd instead of screen to run your VS Server, you can follow these Instructions.<br>
 
We also will setup rsyslog to split all logs into separate files.<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>


==== Installation ====
==== Installation ====


'''1. mono Install Debian 9'''
'''1. Créer un utilisateur'''
  sudo apt install apt-transport-https dirmngr gnupg ca-certificates wget nano
  sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
  echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
  sudo apt update
  sudo apt install mono-devel
 
For Debian 10 use
  echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
 
'''2. create a user'''
   adduser --shell /bin/bash --disabled-password gameserver
   adduser --shell /bin/bash --disabled-password gameserver


'''3. create directories'''
'''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. Download the game'''
'''3. Télécharger le jeu'''
   cd /srv/gameserver/vintagestory
   cd /srv/gameserver/vintagestory


Goto http://account.vintagestory.at/downloads<br>
Allez sur http://account.vintagestory.at/downloads<br>
Copy the link of the newest "vs_server_*.*.*.tar.gz" package ('''Tar.gz Archive/Linux (server only)''' under '''Show other available downloads of Vintage Story''')<br>
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>
Download with "wget" via console (''Vintage Story version 1.12.9 in this example'').
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_1.12.9.tar.gz
   wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.18.8.tar.gz


'''4. Extract tar.gz package'''
'''4. Extraire le paquet tar.gz'''


   tar xzf vs_server_1.12.9.tar.gz
   tar xzf vs_server_linux-x64_1.18.8.tar.gz
'''5. Change owner'''


You have to set the owner of your gameserver directory to avoid write permission errors
'''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.
   chown -R gameserver:gameserver /srv/gameserver
   chown -R gameserver:gameserver /srv/gameserver


'''6. Create systemd service unit file'''
'''6. Créer le fichier de service systemd'''


Use your favourite tool to create a service unit file (this example uses 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
Insert the following content
Insérez le contenu suivant :
   [Unit]
   [Unit]
   Description=Vintage Story Server Unit
   Description=Unite Serveur Vintage Story
   After=network.target
   After=network.target
    
    
   [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 246: Line 232:
   WantedBy=multi-user.target
   WantedBy=multi-user.target


'''7. Create config file for rsyslog'''
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.


Use your favourite tool to create a rsyslog config file (this example uses nano)
'''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).
   nano /etc/rsyslog.d/vintagestoryserver.conf
   nano /etc/rsyslog.d/vintagestoryserver.conf
Insert the following content
Insérez le contenu suivant :
   if $programname == 'VSSRV' then {
   if $programname == 'VSSRV' then {
       if($msg contains "Chat") then {
       if($msg contains "Chat") then {
Line 272: Line 260:
   # Discard  
   # Discard  
   if $programname == 'VSSRV' then ~
   if $programname == 'VSSRV' then ~
'''8. restart rsyslog / enable service'''
 
To activate rsyslog and your vintagestory server type these commands
'''8. Redémarrer rsyslog / activer le service'''
Pour activer rsyslog et votre serveur vintagestory, tapez les commandes suivantes :
   systemctl restart rsyslog.service;
   systemctl restart rsyslog.service;
   systemctl enable vintagestoryserver.service
   systemctl enable vintagestoryserver.service
Line 280: Line 269:
----
----


==== Stop, Start, Disable Server ====
==== Arrêter, Démarrer, Désactiver le Serveur====


To manually stop your VS Server use this command
Pour arrêter manuellement votre serveur VS, utilisez la commande suivante :
   systemctl stop vintagestoryserver.service
   systemctl stop vintagestoryserver.service
To manually start your VS Server again type
Pour redémarrer manuellement votre serveur VS, tapez :
   systemctl start vintagestoryserver.service
   systemctl start vintagestoryserver.service
To disable the service use
Pour désactiver le service, utilisez :
   systemctl disable vintagestoryserver.service
   systemctl disable vintagestoryserver.service


==== Config ====
==== Configuration ====


to change your servers configuration, stop the server and edit
Pour modifier la configuration de votre serveur, arrêtez-le et modifiez le fichier suivant :
   nano /srv/gameserver/data/vs/serverconfig.json
   nano /srv/gameserver/data/vs/serverconfig.json
After you saved your changes, start server again.
Après avoir enregistré vos modifications, redémarrez le serveur.


==== Restart schedule ====
==== Redémarrage programmé ====


If you want your server to restart every day, you can setup a cronjob for this
Si vous souhaitez que votre serveur redémarre tous les jours, vous pouvez créer un cronjob de la manière suivante :
   crontab -e
   crontab -e
insert this line to stop the server at 04:30
Insérez cette ligne pour arrêter le serveur à 04h30 :
   30 4 * * *      systemctl stop vintagestoryserver.service
   30 4 * * *      systemctl stop vintagestoryserver.service
you could now ececute backup tasks and then start it again with the next line at 04:32 (if you run a backup task plan some more time here)
Vous pouvez maintenant exécuter des tâches de sauvegarde et les relancer avec la ligne suivante à 04:32 (si vous exécutez une sauvegarde, planifiez un peu plus de temps) :
   32 4 * * *      systemctl start vintagestoryserver
   32 4 * * *      systemctl start vintagestoryserver
If you just want to restart the server this line instead of the other two should be fine
Si vous souhaitez simplement redémarrer le serveur, utilisez plutôt cette ligne :
   30 4 * * *      systemctl restart vintagestoryserver.service
   30 4 * * *      systemctl restart vintagestoryserver.service


==== Logging ====
==== Journalisation ====


The rsyslog config splits the output logs into seperate files that you can watch with tail command<br>
La configuration de rsyslog divise les journaux du serveur en fichiers distincts que vous pouvez consulter avec la commande "tail".<br>
For Login/Logout see
Pour les connexions et déconnexions :
   tail -f /var/log/vintagestory-server/login.log
   tail -f /var/log/vintagestory-server/login.log
For all chat messages see
Pour tous les messages de chat :
   tail -f /var/log/vintagestory-server/chat.log
   tail -f /var/log/vintagestory-server/chat.log
For all messages containing [Server Warning] see
Pour tous les messages contenant [Server Warning] :
   tail -f /var/log/vintagestory-server/warn.log
   tail -f /var/log/vintagestory-server/warn.log
For all messages containing [Server Notification] see
Pour tous les messages contenant [Server Notification] :
   tail -f /var/log/vintagestory-server/info.log
   tail -f /var/log/vintagestory-server/info.log
For all messages containing [Server Debug] see
Pour tous les messages contenant [Server Debug] :
   tail -f /var/log/vintagestory-server/debug.log
   tail -f /var/log/vintagestory-server/debug.log
For all messages containing [Server Event] see
Pour tous les messages contenant [Server Event] :
   tail -f /var/log/vintagestory-server/event.log
   tail -f /var/log/vintagestory-server/event.log
For all other messages see
Pour tous les autres messages :
   tail -f /var/log/vintagestory-server/other.log
   tail -f /var/log/vintagestory-server/other.log


==== Multiple Server Instances ====
==== Instances multiples de serveurs ====


If you want to run multiple instances on the same machine you just have to redo some of the steps above. This is just an example for a second 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
Copy from step 6 and change these lines:
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
Create rsyslog file and copy code from step 7
Créez un fichier rsyslog et copiez le code de l'étape 7 :
   nano /etc/rsyslog.d/vintagestoryserver2.conf
   nano /etc/rsyslog.d/vintagestoryserver2.conf
Change <code>VSSRV</code> to <code>VSSRV2</code> and <code>/var/log/vintagestory-server</code> to <code>/var/log/vintagestory-server2</code><br>
Changez <code>VSSRV</code> en <code>VSSRV2</code> et <code>/var/log/vintagestory-server</code> en <code>/var/log/vintagestory-server2</code><br>
Before you proceed make a copy of your first server configuration and edit it for your needs (change port!!!)
Avant de procéder, faites une copie de votre première configuration de serveur et modifiez-la en fonction de vos besoins (n'oubliez pas de changer les ports !!!).
   cp /srv/gameserver/data/vs/serverconfig.json /srv/gameserver/data/vs2/
   cp /srv/gameserver/data/vs/serverconfig.json /srv/gameserver/data/vs2/
   nano /srv/gameserver/data/vs2/serverconfig.json
   nano /srv/gameserver/data/vs2/serverconfig.json
Now start the service
Démarrez maintenant le service :
   systemctl restart rsyslog.service;
   systemctl restart rsyslog.service;
   systemctl enable vintagestoryserver2.service
   systemctl enable vintagestoryserver2.service
   systemctl start vintagestoryserver2.service
   systemctl start vintagestoryserver2.service
Install cronjob
Installez cronjob :
   crontab -e
   crontab -e
Insert
Terminez avec :
   30 4 * * *      systemctl restart vintagestoryserver2.service
   30 4 * * *      systemctl restart vintagestoryserver2.service


Have Fun!
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>
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>
* 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.
 
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>_tcp</code> définit le protocole, Vintage Story utilise TCP<br>
* <code>vintagestory.mydomain.com.</code> est le sous-domaine que nous voulons utiliser. Le point final est important !<br>
* <code>IN SRV</code> Définit le type d'enregistrement, ne modifiez pas ceci<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>50030</code> est le port que notre instance va écouter<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>
 
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====
 
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
* Priorité : <code>10</code>
* Pondération : <code>10</code>
* Port : <code>50030</code>
* Cible : <code>server.example.com.</code>
 
====Hetzner====
 
Vous devrez créer un enregistrement à partir de leur console DNS :
* 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>
* 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}}

Latest revision as of 16:03, 22 November 2023

Other languages:


Installation Basique

Serveur Ad-hoc

Si vous cherchez une expérience multijoueur temporaire il est possible d'ouvrir un monde en mode solo et de cliquer sur "Ouvrir au LAN" dans le menu des options. Cela permettra aux joueurs sur le même réseau local de vous rejoindre. Si vous souhaitez ouvrir votre partie à des joueurs au-delà de votre connexion locale, vous pouvez aussi cliquer sur "Ouvrir à internet", ce qui tentera d'établir une connexion externe pour rejoindre votre serveur depuis internet. Cela est possible par une technique appelée UPnP et doit être activé sur votre box internet, l'UPnP est souvent activé par défaut sur la plupart des fournisseurs d'accès. Il y a 60 % de chances que "Ouvrir à internet" fonctionne instantanément sans problème. Sinon, vous devrez effectuer une "Redirection de ports" depuis votre box. Vous devrez rediriger le port TCP 42420 afin de permettre l'accès extérieur. (Vous pouvez trouver des renseignements supplémentaires sur internet en recherchant "Redirection de ports" avec le modèle de votre box internet).

Pour que ce serveur fonctionne, une partie solo doit être lancée en continu sur l'ordinateur d'un des joueurs.


Serveur Dédié

Quand le jeu est installé, il installe également un programme de serveur dédié que vous pouvez exécuter et laisser activé en permanence sans avoir besoin d'être présent sur le jeu vous-même. Il existe différentes manières d'installer et de lancer un serveur dédié.

Hôtes payants

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.

Services d'hébergement de tiers, sans ordre particulier :

Serveurs dédiés sur Windows

  • Ouvrez le dossier contenant le jeu (%appdata%/VintageStory par défaut)
  • Lancez VintagestoryServer.exe.
  • Vous pouvez configurer une redirection des ports de votre routeur internet si vous voulez que votre serveur soit accessible au-delà de votre réseau local.

Serveurs dédiés sur Linux

Cette section explique comment mettre en place un serveur dédié en tant que service sur les systèmes Linux.
Remarque : Ce qui suit fonctionne uniquement pour les processeurs x64. Si vous utilisez ARM, veuillez vous référer à la section suivante.

Prérequis
  • .NET Runtime 7.0 Ceci devrait être tout ce qui est nécessaire pour faire fonctionner un serveur Vintagestory. Tout le reste ne sert qu'à faciliter le démarrage et la gestion du serveur.
  • installez pgrep, screen et wget en utilisant le gestionnaire de paquets de votre système.
Mise en place du serveur

1. Télécharger le jeu

Conseil : Créez un dossier différent pour Vintage Story étant donné que le tar.gz ne contient pas de sous-dossier.

 mkdir server && cd server

Allez sur http://account.vintagestory.at/downloads
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)
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

2. Extraire le paquet tar.gz

 tar xzf vs_server_linux-x64_*.*.*.tar.gz

3. Faire de server.sh un script exécutable

 chmod +x server.sh

4. Éditer le fichier server.sh

Pour des raisons de sécurité, vous ne devriez pas lancer votre serveur en tant que root, le nom d'utilisateur par défaut USERNAME sera défini sur "vintagestory". Sur la plupart des systèmes d'exploitations Linux, vous pouvez créer un nouvel utilisateur avec la commande "adduser".

 adduser vintagestory

Puis changez ces options par rapport à vos besoins :

 USERNAME='<le-nom-d'utilisateur-pour-votre-serveur-VS>'
 VSPATH='<le-chemin-du-dossier-du-jeu>'

5. Ouvrir les ports sur votre pare-feu (si nécessaire)

firewalld

 firewall-cmd --permanent --zone=public --add-port=42420/tcp
 firewall-cmd --reload

iptables

 iptables -A INPUT -p tcp -m tcp --dport 42420 -j ACCEPT

6. Lancement du serveur et premiers pas

 ./server.sh start
 Attendez la fin du démarrage puis donnez vous les droits administrateurs (OP) avec :
 ./server.sh command "/op <votre_nom_d'utilisateur>"

7. Connectez vous à votre IP/Domaine et amusez-vous !


Serveur dédié sur ARM64

Remarque : Notez que la version ARM64 est EXPÉRIMENTALE. Merci de signaler les problèmes éventuels sur le discord

La version ARM64 est disponible sur GitHub

Il est recommandé d'utiliser le script d'installation situé sur GitHub. Ce qui suit est un guide étape par étape sur la façon d'utiliser le script sur un système basé sur Debian (Ubuntu, Debian, Rasbian, etc).

1. Installez les dépendances nécessaires à l'utilisation de ce script en procédant comme suit apt -y install curl jq

2. Créez un nouveau fichier nommé arminstall.sh en exécutant vim arminstall.sh ou nano arminstall.sh

3. Copiez le contenu du fichier arminstall.sh depuis GitHub vers le fichier que vous venez de créer et faites une sauvegarde en faisant :wq avec Vim ou Ctrl + X, puis Y, puis Enter avec Nano.

4. Rendez le script exécutable en tapant chmod +x arminstall.sh

5. Lancez le script en tapant ./arminstall.sh

6. Démarrez le serveur en tapant ./VintagestoryServer ou dotnet VintagestoryServer.dll

Ceci téléchargera la dernière version de Vintagestory dans le répertoire de travail actuel, puis remplacera les fichiers nécessaires pour fonctionner avec ARM.

Si, à un moment donné, vous souhaitez mettre à jour la dernière version de Vintage Story, il vous suffit de relancer le script.


Commande simple de démarrage du serveur

Si vous souhaitez utiliser un script personnalisé ou simplement démarrer manuellement votre serveur, vous pouvez lancer

dotnet VintagestoryServer.dll --dataPath /path/to/data

Ou

./VintagestoryServer --dataPath /path/to/data

si la variable d'environnement DOTNET_ROOT est définie.

Mettre à jour le serveur

Si vous souhaitez installer une version plus récente, retirez tous les fichiers de l'ancienne installation. Si vous avez choisi de mettre vos données de jeu dans le dossier d'installation, faites attention à ne pas le supprimer ou vous pourriez perdre vos sauvegardes, configurations et données de joueur. Téléchargez le dernier fichier "Tar.gz Archive/Linux (server only)" et extrayez-le. Si vous ne possédez qu'une connexion FTP à votre serveur distant, vous devrez extraire localement le serveur et transférer chaque fichier un par un.

Configuration Basique

Une fois votre serveur lancé, vous pourriez chercher à modifier certaines options de configuration. Vous pouvez configurer votre serveur pendant son fonctionnement à travers des commandes ou lorsque le serveur est arrêté en éditant le fichier serverconfig.json . Sur Windows, le fichier se trouve par défaut à %appdata%/VintageStoryData/serverconfig.json. Sur Linux, le fichier se trouve à ./data/serverconfig.json du dossier de votre serveur (par exemple : /home/vintagestory/server/data/serverconfig.json si installé de la même manière qu'ici).

Remarque :
La manière la plus facile de configurer les paramètres de votre monde est de le créer en mode solo en utilisant les options avancées de création de monde, pour ensuite envoyer ses fichiers pour l'utiliser en tant que monde de serveur.


Des explications sur les données de "serverconfig.json" peuvent être trouvées ici : Configuration Serveur

Voici quelques configurations par commandes que vous souhaiteriez typiquement mettre.

  • /serverconfig upnp [0|1]
    Si paramétré sur 1, le serveur de jeu tentera de rediriger les ports à votre place.
  • /serverconfig name Serveur PvE Pacifique
    Paramètre le nom du serveur visible sur la liste des serveurs publics.
  • /serverconfig description Ceci est un serveur de survie médiévale, PvE uniquement, bienvenue à tous ! <3
    Paramètre la description du serveur visible sur la liste des serveurs publics.
  • /serverconfig motd Salut {playername} ! N'oublie pas de suivre les règles du serveur !
    Le message de bienvenue quand un joueur rejoint le serveur.
  • /serverconfig password azerty
    Permet d'empêcher l'accès au serveur par un mot de passe. Utilisez /serverconfig nopassword pour de nouveau donner l'accès public.
  • /serverconfig advertise (1|0)
    Permet d'afficher ou non le serveur sur la liste des serveurs publics.

Pour terminer, vous pouvez de la même manière configurer un serveur créé avec "Ouvrir au LAN", attention cependant, certaines configurations seront directement remises par défaut, par exemple l'emplacement des fichiers de sauvegarde.

Acquérir les droits administrateurs

Si vous avez accès à la console du serveur, tapez directement /op nom_du_joueur. Sinon, ouvrez le "serverconfig.json" et remplacez : "StartupCommands": null, avec : "StartupCommands": "/op nom_du_joueur",

Dans les deux cas, vous devez remplacer nom_du_joueur avec votre véritable nom de joueur.

Serveur dédié avancé

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.
Nous allons également configurer rsyslog pour séparer tous les journaux d'états dans des fichiers distincts.

Installation

1. Créer un utilisateur

 adduser --shell /bin/bash --disabled-password gameserver

2. Créer les dossiers

 mkdir -p /srv/gameserver/vintagestory
 mkdir -p /srv/gameserver/data/vs
 mkdir -p /usr/lib/systemd/system

3. Télécharger le jeu

 cd /srv/gameserver/vintagestory

Allez sur http://account.vintagestory.at/downloads
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)
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

4. Extraire le paquet tar.gz

 tar xzf vs_server_linux-x64_1.18.8.tar.gz

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.

 chown -R gameserver:gameserver /srv/gameserver

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).

 nano /usr/lib/systemd/system/vintagestoryserver.service

Insérez le contenu suivant :

 [Unit]
 Description=Unite Serveur Vintage Story
 After=network.target
 
 [Service]
 WorkingDirectory=/srv/gameserver/vintagestory
 ExecStart=dotnet VintagestoryServer.dll --dataPath /srv/gameserver/data/vs
 Restart=always
 RestartSec=30
 StandardOutput=syslog
 StandardError=syslog
 SyslogIdentifier=VSSRV
 User=gameserver
 Group=gameserver
 
 [Install]
 WantedBy=multi-user.target

Assurez-vous que le nouvel utilisateur a accès à la commande dotnet 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 ExecStart=VintagestoryServer --dataPath /srv/gameserver/data/vs si la variable d'environnement DOTNET_ROOT a été définie.

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).

 nano /etc/rsyslog.d/vintagestoryserver.conf

Insérez le contenu suivant :

 if $programname == 'VSSRV' then {
     if($msg contains "Chat") then {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/chat.log")
     } else if($msg contains "verließ") then {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/login.log")
     } else if($msg contains "join") then {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/login.log")
     } else if($msg contains "Server Warning") then {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/warn.log")
     } else if($msg contains "Server Notification") then {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/info.log")
     } else if($msg contains "Server Debug") then {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/debug.log")
     } else if($msg contains "Server Event") then {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/event.log")
     } else {
         action(type="omfile" dirCreateMode="0755" FileCreateMode="0644" File="/var/log/vintagestory-server/other.log")
     }
 }
 # Discard 
 if $programname == 'VSSRV' then ~

8. Redémarrer rsyslog / activer le service Pour activer rsyslog et votre serveur vintagestory, tapez les commandes suivantes :

 systemctl restart rsyslog.service;
 systemctl enable vintagestoryserver.service
 systemctl start vintagestoryserver.service

Arrêter, Démarrer, Désactiver le Serveur

Pour arrêter manuellement votre serveur VS, utilisez la commande suivante :

 systemctl stop vintagestoryserver.service

Pour redémarrer manuellement votre serveur VS, tapez :

 systemctl start vintagestoryserver.service

Pour désactiver le service, utilisez :

 systemctl disable vintagestoryserver.service

Configuration

Pour modifier la configuration de votre serveur, arrêtez-le et modifiez le fichier suivant :

 nano /srv/gameserver/data/vs/serverconfig.json

Après avoir enregistré vos modifications, redémarrez le serveur.

Redémarrage programmé

Si vous souhaitez que votre serveur redémarre tous les jours, vous pouvez créer un cronjob de la manière suivante :

 crontab -e

Insérez cette ligne pour arrêter le serveur à 04h30 :

 30 4 * * *      systemctl stop vintagestoryserver.service

Vous pouvez maintenant exécuter des tâches de sauvegarde et les relancer avec la ligne suivante à 04:32 (si vous exécutez une sauvegarde, planifiez un peu plus de temps) :

 32 4 * * *      systemctl start vintagestoryserver

Si vous souhaitez simplement redémarrer le serveur, utilisez plutôt cette ligne :

 30 4 * * *      systemctl restart vintagestoryserver.service

Journalisation

La configuration de rsyslog divise les journaux du serveur en fichiers distincts que vous pouvez consulter avec la commande "tail".
Pour les connexions et déconnexions :

 tail -f /var/log/vintagestory-server/login.log

Pour tous les messages de chat :

 tail -f /var/log/vintagestory-server/chat.log

Pour tous les messages contenant [Server Warning] :

 tail -f /var/log/vintagestory-server/warn.log

Pour tous les messages contenant [Server Notification] :

 tail -f /var/log/vintagestory-server/info.log

Pour tous les messages contenant [Server Debug] :

 tail -f /var/log/vintagestory-server/debug.log

Pour tous les messages contenant [Server Event] :

 tail -f /var/log/vintagestory-server/event.log

Pour tous les autres messages :

 tail -f /var/log/vintagestory-server/other.log

Instances multiples de serveurs

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
 nano /usr/lib/systemd/system/vintagestoryserver2.service

Copiez le texte de l'étape 6 et modifiez ces lignes :

 Description=Vintage Story Server 2 Unit
 ExecStart=dotnet VintagestoryServer.dll --dataPath /srv/gameserver/data/vs2
 SyslogIdentifier=VSSRV2

Créez un fichier rsyslog et copiez le code de l'étape 7 :

 nano /etc/rsyslog.d/vintagestoryserver2.conf

Changez VSSRV en VSSRV2 et /var/log/vintagestory-server en /var/log/vintagestory-server2
Avant de procéder, faites une copie de votre première configuration de serveur et modifiez-la en fonction de vos besoins (n'oubliez pas de changer les ports !!!).

 cp /srv/gameserver/data/vs/serverconfig.json /srv/gameserver/data/vs2/
 nano /srv/gameserver/data/vs2/serverconfig.json

Démarrez maintenant le service :

 systemctl restart rsyslog.service;
 systemctl enable vintagestoryserver2.service
 systemctl start vintagestoryserver2.service

Installez cronjob :

 crontab -e

Terminez avec :

 30 4 * * *      systemctl restart vintagestoryserver2.service

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.
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

Les enregistrements SRV vous permettent de faire pointer un domaine/sous-domaine vers votre instance, tout en indiquant au jeu le port à utiliser.
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.

Prenons un serveur avec les détails suivants :

  • Addresse : play.example.com
  • Port : 50030
  • Domaine propre : mydomain.com
  • Sous-domaine souhaité : vintagestory.mydomain.com

Vos enregistrements SRV bruts devraient ressembler à ceci :

 _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 :

  • _vintagestory définit le service, dans notre cas, Vintage Story
  • _tcp définit le protocole, Vintage Story utilise TCP
  • vintagestory.mydomain.com. est le sous-domaine que nous voulons utiliser. Le point final est important !
  • IN SRV Définit le type d'enregistrement, ne modifiez pas ceci
  • 10 10 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
  • 50030 est le port que notre instance va écouter
  • server.example.com. 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

Si vous vouliez pointer votre enregistrement directement à votre domaine, vous auriez mydomain.com. au lieu de vintagestory.mydomain.com.

Voici comment procéder pour OVH et Hetzner (N'oubliez pas de modifier les valeurs pour les adapter à votre configuration !) :

OVH

Vous devrez aller dans votre zone DNS et ajouter une entrée, sélectionner le type d'enregistrement SRV :

  • Sous-domaine : _vintagestory._tcp.vintagestory 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
  • Priorité : 10
  • Pondération : 10
  • Port : 50030
  • Cible : server.example.com.

Hetzner

Vous devrez créer un enregistrement à partir de leur console DNS :

  • Type : SRV
  • Nom : _vintagestory._tcp.vintagestory.mydomain.com.

Cliquez sur le champ Valeur pour entrer les détails :

  • Priorité : 10
  • Pondération : 10
  • Port : 50030
  • Cible : server.example.com.

Attendez quelques minutes pour que votre enregistrement se propage et essayez ensuite de l'utiliser pour vous connecter au serveur, en utilisant vintagestory.mydomain.com comme adresse.

Vous êtes maintenant prêt à partager votre serveur avec votre domaine personnalisé.


Wiki Navigation
Vintage Story Guides[[::Category:Guides| ]]Foire aux questions (FAQ) Vintage Story Original Soundtrack Versions Controls
Systèmes de jeu Artisanat Taille de pierre Modelage d'argile Forge Cuisine Température Faim Minage Stabilité temporelle Puissance mécanique Commerce Agriculture Élevage
Le Monde Création du monde Biomes Météo Tempêtes temporelles
Objets Outils Armes Armure Vêtements Sacs Matériau Nourriture
Blocs Terrain Plantes Décoratifs Éclairage Fonctionnels Minerai
Créatures Entités hostiles Animaux PNJs Joueurs
Miscellaneous Liste des commandes client Liste des commandes serveur Mode Créatif : Guide de prise en main Bot System How_to_use_WorldEdit Caméra cinématique Enregistrement de vidéos à taux variable ServerBlockTicking