Guide:Configurer un serveur Terraria

De Terraria Wiki
Aller à la navigation Aller à la recherche
Ceci est une page de guide.
Ceci est une page de guide.
Cela signifique que cette page vous guidera à travers une tache spécifique, une stratégie ou un combat d'ennemi/boss.
Statut : Sous réserve de révision (Ce guide ne répond pas à certaines normes de qualité et peut être très obsolète.)

Cette page a pour but de vous guide à travers la configuration et l'exécution de votre propre serveur multijoueur Terraria pour de la LAN ou Internet.

Depuis la version 1.3.0.1, les joueurs ont également la possibilité de se connecter via le multijoueur de Steam. Pour plus d'informations, voir le Guide:Configurer un serveur multijoueur steam.

Pour mieux s'y retrouver, ce guide est divisé par système d'exploitation : Windows et Linux / macOS.

Préparer son réseau

Avant de commencer à mettre en place son serveur, veuillez effectuer ces changements sur le réseau nécessaires si votre serveur est sur votre réseau local.

  • Assigner l'ordinateur qui héberge le serveur à une adresse IP statique. C'est peu probable, mais si vous ne faites pas ceci votre routeur peut réassigner l'adresse IP de l'ordinateur lorsque le serveur tourne ce qui peut interférer avec votre connexion à celui-ci. Pour savoir comment faire cela avec votre routeur, veuillez vous référer au mode d'emploi de votre routeur ou chercher "comment mettre en place une adresse IP statique sur <marque et modèle de votre routeur>".
  • Si quelqu'un se connecte sur le serveur depuis l'extérieur de votre réseau local (aka "par internet"), vous aurez besoin de rediriger votre port pour le serveur. De plus, assurez-vous que vous avez assigné à l'ordinateur hébergeant le serveur une adresse IP statique sur votre routeur. Veuillez regarder ci-dessous pour la redirection de ports.

Ouvrir un port accessible par votre adresse IP publique

  • Pour trouver votre adresse IP externe, un simple site peut afficher votre adresse IP publique sans aucun détail superflu, comme whatsmyip.com ou ipify (pouvant avoir plus de fonctionnalités sur ipify.org/).
  • Vous devrez rediriger votre port (port 7777 par défaut, notez que c'est le même port que pour Ark: Survival Evolved, Mordhau, Just Cause 2: Multiplayer mod, et San Andreas Multiplayer) pour Terraria. (guide de redirection des ports en anglais).

Windows

Local Area Network (LAN):

  • Depuis le menu démarrer, tapez 'cmd' dans la barre de recherche et appuyer sur entrée. Cela va afficher une nouvelle fenêtre appelée Invité de commandes.
  • Tapez le mot "ipconfig" sans les guillemets et appuyez sur entrée. Quelques informations devraient s'afficher à la manière de la capture que vous voyez ici.
    Command prompt.jpg
  • Cherchez les lignes 'Carte Ethernet Ethernet' ou 'Carte réseau sans-fil Wi-Fi', trouvez 'Adresse IPv4', ce qui est l'adresse IP de votre ordinateur sur le réseau local. Cette fenêtre affiche également d'autres informations y compris la passerelle par défaut. Vous en aurez besoin pour configurer le routeur dans un navigateur comme Firefox ou Chrome.

Mettre en place un serveur

Tout d'abord, décidez si vous voulez commencer une partie multijoueur en "Héberger et jouer", ou avec un serveur dédié. Voir multijoueur pour une explication des différences.

Mettre en place un serveur "Héberger et jouer"

C'est la manière la plus simple de jouer en multijoueur, et qui fonctionne bien pour du LAN à la maison ou pour des sessions co-op en ligne courtes. Lancez Terraria, choisissez "Multijoueur" puis "Heberger et jouer". Sélectionnez un monde (ou créez-en un nouveau) et entrez un mot de passe (ou laissez le champ vide si vous n'en voulez pas).

Premier lancement de votre serveur dédié

Guide setting up a server 01.png

Pour lancer votre serveur pour la première fois, nous n'allons pas nous soucier d'un fichier de configuration, comme le fichier de serveur de Terraria a un assistant performant pour le lancer rapidement.

Les fichiers du serveur dédié sont situés dans le dossier où se trouvent les fichiers de Terraria.

  • Exemple avec GOG Galaxy : C:\GOG Galaxy\Games\Terraria
  • Exemple avec Steam : C:\Program Files (x86)\Steam\steamapps\common\Terraria

Vous pouvez également télécharger les fichiers du serveur dédié directement depuis terraria.org en cliquant sur "Dedicated Server" en bas de la page.

D'abord, essayez de lancer un serveur sans fichier de configuration. Pour ce faire, cherchez le dossier où Terraria est installé, trouvez TerrariaServer.exe et lancez-le. Une fenêtre s'ouvrira, affichant l'interface de contrôle du serveur. C'est depuis cette interface que vous pourrez entrer des commandes ou voir des informations. Lorsqu'il se lance, il devrait vous demander de choisir un monde, en listant tous ceux disponibles sur votre ordinateur. La fenêtre donne également l'option de créer ou supprimer des mondes au lancement. Si vous créez un nouveau monde, suivez les instructions sur la fenêtre pour changer certains aspects de la génération du monde.

Note: Par défaut, Terraria sauvegarde tous les mondes dans "C:\Users\UserName\Documents\MyGames\Terraria\Worlds".

Mettre en place un serveur dédié avec un fichier de configuration

Pour lancer un serveur avec un fichier de configuration prédéfini, vous devez chercher le dossier d'installation de Terraria, puis lancer "TerrariaServer.exe -config <serverconfigfile>", où <serverconfigfile> est le fichier de configuration.

  1. Utilisez cmd, allez à Terraria folder et enterez "TerrariaServer.exe -config <serverconfigfile>" sans les guillemets, puis ↵ Entrée.
  2. Créez un raccourci de "TerrariaServer.exe", faites un clic droit dessus, cliquez sur "Propriétés", éditez le champ "Target:" (par défaut: "<...>\TerrariaServer.exe"), écrivez à la fin, après "TerrariaServer.exe" ceci : " -config <serverconfigfile>" sans les guillemets (important, laissez un ESPACE entre le ".exe" et le "-config"). Cela devrait ressembler à ceci : ""<...>\TerrariaServer.exe" -config <serverconfigurationfile>" Puis appliquez le. Désormais ce raccourci lancera votre serveur avec le fichier de configuration donné.
  3. Si vous le voulez, vous pouvez également faire un fichier batch, il agira de la même manière qu'un raccourci. D'abord, il faut créer un nouveau document texte (.txt), puis l'éditer dans n'importe quel éditeur de texte simple (pas Office, quelque chose comme Bloc notes), puis entrer les commandes comme ceci :
    @echo off
    cls
    TerrariaServer.exe -config <serverconfigurationfile>

Puis sauvegarder le fichier texte (.txt) en tant que fichier batch (.bat). Vous devrez placer le fichier batch dans le dossier de Terraria pour le faire marcher et le fichier de configuration doit également être dans le même dossier. Autrement, si vous tapez le chemin complet de "TerrariaServer.exe" et de <serverconfigurationfile>, cela marchera n'importe où et agira comme un raccourci. Exemple d'un chemin complet :

"C:\Games\Terraria\TerrariaServer.exe -config D:\TerrariaCon\example.txt"

Il est possible de faire trouner plus d'un serveur depuis un seul ordinateur ! Mais pour cela il y a trois choses importantes :

  1. Assurez-vous que chaque serveur utilise un fichier de configuration différent !
  2. Assurez-vous que chaque serveur utilise un monde différent !
  3. Assurez-vous que chaque serveur utilise un numéro de port différent !

NOTE: Il est recommandé de faire pour chaque serveur un raccourci/fichier batch distinct.

Fichier de configuration et emplacement des données de sauvegarde du jeu

Le fichier de configuration sera situé dans l'emplacement où se trouve Terraria.

  • Exemple avec Steam : C:\Program Files (x86)\Steam\steamapps\common\Terraria
  • Exemple avec GOG Galaxy : C:\GOG Galaxy\Games\Terraria
  • Location des mondes : C:\Users\Defaults\Mes Documents\Mes Jeux\Terraria\Worlds\

Linux / macOS

Preque toute la mise en place sur Linux et macOS est faite sur le terminal. Si vous n'avez pas d'expérience avec la ligne de commande, vous pouvez naturellement être intimidé ou inquiet du fait de casser quelque chose. Allez simplement doucement et tapez les commandes exactement comme elles sont écrites ici. Il est recommandé de chercher chaque commande afin de savoir exactement ce qu'elle fait (eg man ip or chmod --help). Si vous avez besoin d'aide pour apprendre les commandes de base du terminal, ce guide (en) de HowToGeek pourrait vous être utile.

Local Area Network (LAN):

Exemple de sortie de la commande ip addr avec les informations importantes en surbrillance
  • Sur GNU/Linux, FreeBSD, et macOS tapez ip addr dans le terminal pour voir votre adresse IP locale. Vous devriez voir quelque chose de similaire à la capture d'écran.

Regardez BROADCAST et state UP. Dans cet exemple l'adresse IP locale est 192.168.1.44 depuis inet 192.168.1.44/24 .

Autrement, vous pouvez exécuter ifconfig en tant que superutilisateur pour une sortie similaire si ip n'est pas installé sur votre système.

Mettre en place un serveur

Tout d'abord, décidez si vous voulez commencer une partie multijoueur en "Héberger et jouer", ou avec un serveur dédié. Voir multijoueur pour une explication des différences.

Mettre en place un serveur "Héberger et jouer"

C'est la manière la plus simple de jouer en multijoueur, et qui fonctionne bien pour du LAN à la maison ou pour des sessions co-op en ligne courtes. Lancez Terraria, choisissez "Multijoueur" puis "Heberger et jouer". Sélectionnez un monde (ou créez-en un nouveau) et entrez un mot de passe (ou laissez le champ vide si vous n'en voulez pas).

Premier lancement de votre serveur dédié

Lancer un serveur sans configuration vous emmènera sur l'écran de sélection du monde

Pour lancer votre serveur pour la première fois, nous n'allons pas nous soucier d'un fichier de configuration, comme le fichier de serveur de Terraria a un assistant performant pour le lancer rapidement.

Sur Linux et macOS, le binaire se trouve dans $STEAM_ROOTDIR/steam/steamapps/common/Terraria. Vous pouvez également télécharger les fichiers du serveur dédié directement depuis terraria.org en cliquant sur "Dedicated Server" en bas de la page.

Lancer le script TerrariaServer lancera la bonne version du serveur pour votre système. Assurez-vous que le script et les fichiers de programme ont la permission d'exécution en utilisant la commande chmod u+x TerrariaServer*. Si vous ne voyez pas ce script re-vérifiez que vous utilisez la dernière version du serveur.

Comme le serveur s'arrêtera si la session de terminal est coupée, vous pouvez utiliser un programme comme tmux ou screen pour laisser la session tourner alors que vous êtes déconnectés.

Comme avec d'autres serveurs de jeu, il est généralement recommandé de créer un utilisateur (avec son répertoire /home) dédié aux serveurs de jeu. Cela assure que les serveurs n'ont pas la permission d'altérer des fichiers qu'ils ne devraient pas.

Le serveur ne pourra pas démarrer si $TERM n'est pas défini sur xterm. Si c'est le problème le serveur va générer un fichier nommé "client-crashlog.txt" qui contiendra l'erreur "System.Exception: Magic number is wrong: 542". Si c'est le cas, lancez simplement la commande "export TERM=xterm" et relancez le serveur.

Note : Par défaut, Terraria sauvegarde tous les mondes dans "~/.local/share/Terraria" sur Linux et "~/Library/Application Support/Terraria/Worlds" sur macOS.

Mettre en place un serveur dédié avec un fichier de configuration

Pour lancer un serveur avec un fichier de configuration prédéfini, vous devez chercher le dossier d'installation de Terraria, puis lancer "TerrariaServer -config <serverconfigfile>", où <serverconfigfile> est le fichier de configuration. Suivez ces étapes pour créer un script shell pour lancer automatiquement le serveur avec un fichier de configuration.

  1. À l'aide d'un éditeur de texte, créez un fichier dans le même répertoire que le fichier du serveur de Terraria nommé startserver.sh
  2. Copiez les lignes suivantes dans le fichier :
    #!/bin/sh
    ./TerrariaServer -config <serverconfigfile>
  3. Sauvegardez le fichier, assurez-vous qu'il ait les privilèges d'exécution en lançant chmod +x startserver.sh, et lancez-le.

Vous pouvez également utiliser le chemin complet de "TerrariaServer.exe" et de <serverconfigurationfile>, cela marchera n'importe où et agira comme un raccourci. Exemple d'un chemin complet :

"~/TerrariaServer/TerrariaServer -config ~/.config/TerrariaServer/serverconfig.txt"

Comme vous pouvez le voir dans cet exemple, le fichier de configuration n'a pas besoin d'être dans le dossier de Terraria.

Il est possible de faire trouner plus d'un serveur depuis un seul ordinateur ! Mais pour cela il y a trois choses importantes :

  1. Assurez-vous que chaque serveur utilise un fichier de configuration différent !
  2. Assurez-vous que chaque serveur utilise un monde différent !
  3. Assurez-vous que chaque serveur utilise un numéro de port différent !

NOTE : Il est recommandé de faire un script shell distinct pour chaque serveur.

Emplacement des données de sauvegarde du jeu

macOS

~/Library/Application Support/Terraria/Worlds

Linux

~/.local/share/Terraria/Worlds

NOTE : Si le répertoire d'installation par défaut a été modifié durant l'installation un dossier nommé "~" sera crée et les données sauvegardées pourront être trouvées à l'intérieur, veuillez noter que ce N'est PAS la même chose que le répertoire /home de l'utilisateur.

Faire un fichier de configuration

Les options du fichier de configuration et sa syntaxe sont les mêmes peu importe le système. Ceci est un exemple de fichier de configuration dans le dossier de Terraria. Il ressemblera à ça si vous l'ouvrez dans un éditeur de texte comme Bloc-notes ou Notepad++. Si vous ne le voyez pas, vous pouvez copier ce texte dans un nouveau fichier.

#this is an example config file for TerrariaServer.exe
#use the command 'TerrariaServer.exe -config serverconfig.txt' to use this configuration or run start-server.bat
#please report crashes by emailing crashlog.txt to [email protected]
#the following is a list of available command line parameters:
#-config <config file>				            Specifies the configuration file to use.
#-port <port number>				              Specifies the port to listen on.
#-players <number> / -maxplayers <number>	Sets the max number of players
#-pass <password> / -password <password>		Sets the server password
#-world <world file>					Load a world and automatically start the server.
#-autocreate <#>					Creates a world if none is found in the path specified by -world. World size is specified by: 1(small), 2(medium), and 3(large).
#-banlist <path>					Specifies the location of the banlist. Defaults to "banlist.txt" in the working directory.
#-worldname <world name>             			Sets the name of the world when using -autocreate.
#-secure						Adds addition cheat protection to the server.
#-noupnp						Disables automatic port forwarding
#-steam							Enables Steam Support
#-lobby <friends> or <private>				Allows friends to join the server or sets it to private if Steam is enabled
#-ip <ip address>					Sets the IP address for the server to listen on
#-forcepriority <priority>				Sets the process priority for this task. If this is used the "priority" setting below will be ignored.
#-disableannouncementbox				Disables the text announcements Announcement Box makes when pulsed from wire.
#-announcementboxrange <number>				Sets the announcement box text messaging range in pixels, -1 for serverwide announcements.
#-seed <seed>						Specifies the world seed when using -autocreate
#remove the # in front of commands to enable them.
#Load a world and automatically start the server.
#world=C:\Users\YOUR_USERNAME_HERE\My Documents\My Games\Terraria\Worlds\world1.wld
#Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large).
#autocreate=1
#Sets the world seed when using autocreate
#seed=AwesomeSeed
#Sets the name of the world when using autocreate
#worldname=Terraria
#Sets the difficulty of the world when using autocreate 0(classic), 1(expert), 2(master), 3(journey)
#difficulty=0
#Sets the max number of players allowed on a server.  Value must be between 1 and 255
#maxplayers=8
#Set the port number
#port=7777
#Set the server password
#password=p@55w0rd
#Set the message of the day
#motd=Please don’t cut the purple trees!
#Sets the folder where world files will be stored
#worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\
#The location of the banlist. Defaults to "banlist.txt" in the working directory.
#banlist=banlist.txt
#Adds addition cheat protection.
#secure=1
#Sets the server language from its language code.
#English = en-US, German = de-DE, Italian = it-IT, French = fr-FR, Spanish = es-ES, Russian = ru-RU, Chinese = zh-Hans, Portuguese = pt-BR, Polish = pl-PL,
#language=en-US
#Automatically forward ports with uPNP
#upnp=1
#Reduces enemy skipping but increases bandwidth usage. The lower the number the less skipping will happen, but more data is sent. 0 is off.
#npcstream=60
#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNormal, 5:Idle
priority=1
#Journey mode power permissions for every individual power. 0: Locked for everyone, 1: Can only be changed by host, 2: Can be changed by everyone
#journeypermission_time_setfrozen=2
#journeypermission_time_setdawn=2
#journeypermission_time_setnoon=2
#journeypermission_time_setdusk=2
#journeypermission_time_setmidnight=2
#journeypermission_godmode=2
#journeypermission_wind_setstrength=2
#journeypermission_rain_setstrength=2
#journeypermission_time_setspeed=2
#journeypermission_rain_setfrozen=2
#journeypermission_wind_setfrozen=2
#journeypermission_increaseplacementrange=2
#journeypermission_setdifficulty=2
#journeypermission_biomespread_setfrozen=2
#journeypermission_setspawnrate=2
Vous pouvez voir que chaque ligne débute avec un caractère "#". Ce caractère désactive la ligne et empêche le serveur de l'utiliser. C'est utile pour commenter dans le fichier, comme ceci :
#Set the message of the day
Qui explique la commande suivante. Cela est également intéressant pour désactiver des commandes, par exemple :
#motd=Please don’t cut the purple trees!
Ici, le serveur n'aura pas de "MessageOfTheDay", car il y a le # qui le désactive. Ainsi, si vous voulez utiliser une commande vous n'avez qu'à supprimer le "#" au début de la ligne. Vous pouvez éditer ce fichier selon vos souhaits et autant que vous le voulez. Chaque commande est expliquée dans le fichier. Si vous êtes prêt, vous n'avez qu'à sauvegarder le fichier et l'utiliser comme fichier de configuration.
Il est grandement recommandé de laisser le fichier de configuration originel, en faire une copie et l'éditer, ou ouvrir l'original et "Enregistrer sous..." un autre fichier, avec un nom différent.

L'emplacement par défaut pour vos fichiers de configuration et de monde tels que générés par le client et le serveur varie selon les plateformes.


Se connecter à un serveur

Dans le jeu Terraria, aller à Multijoueur->Rejoindre via IP->Sélectionnez votre personnage->Rentrez l'IP du serveur. Cela peut être l'IP interne utilisée par le serveur, ou l'IP externe.

Depuis l'ordinateur hôte

Vous pouvez utiliser localhost comme IP, ou utiliser celle de l'hôte.

Depuis le réseau local

Pour d'autres ordinateurs sur votre réseau local (directement connectés à votre routeur), tapez l'adresse "IPv4" de l'ordinateur hôte (voir LAN). Chaque appareil connecté à votre réseau a sa propre adresse IP assignée par le routeur. L'adresse IPv4 peut changer pour chaque appareil de temps à autre si votre routeur utilise un adressage IP dynamique (la plupart des routeurs utilisent l'adressage IP dynamique par défaut). Dynamique signifie que l'adresse IP peut changer.

Depuis Internet

Pour les amis se connection "par internet", ils auront besoin de votre IP externe (c'est à dire celle de votre routeur), mais cela ne marchera pas jusqu'à ce que vous ayez mis en place la redirection de port susmentionnée (voir Port Forwarding).

Sur FreeBSD

How to run a dedicated terraria server on Ubuntu.

Go to your jail, create a terraria user, install screen, mono and sqlite3. Run this command once to initialize everything properly: (see How to run a dedicated Terraria server on Ubuntu/cir0qna for details about the command)

mono --server --gc=sgen -O=all TerrariaServer.exe

Generate a world and quit (^C)

Once you generated your world, add the code found here: http://ix.io/iHD to /usr/local/etc/rc.d/terraria and edit it according to your liking.

Edit your jail's rc.conf, terraria_enable="YES", and restart the jail.

Listes de serveurs

Une fois que votre serveur est bien fonctionnel, vous pouvez le publier sur l'une des listes de serveurs publics, pour permettre à d'autres de le trouver et de le rejoindre : Modèle:Server lists

Dépannage

Il y a quelques raisons pour que quelque chose ne marche pas. Vous pouvez séparer beaucoup de problèmes dans ces groupes majeurs.

"The server is not starting"

Ceci est assez commun à cause d'une faute de frappe. Vérifiez tout à nouveau (en particulier si vous utilisez un fichier de configuration), et assurez-vous que tout est correctement écrit. Si cela ne résoud pas le problème, allez voir sur les forums pour voir si quelqu'un d'autre a eu le même problème que vous. En dernier recours, essayez de réinstaller le jeu.

Les autres ne peuvent se connecter au serveur

Ceci est habituellement dû à un problème lié au réseau.

  • Assurez-vous qu'ils se connectent à la bonne adresse IP. Il s'agit de l'adresse IPv4 de l'ordinateur hôte pour les ordinateurs en réseau, ou de l'adresse IP globale du routeur pour les joueurs via internet. Regardez la première partie pour savoir comment les trouver.
  • Assurez-vous que votre pare-feu ne bloque pas "TerrariaServer.exe" ou le port du serveur ("7777" par défaut).
  • Assurez-vous que les autres vous rejoignent avec le bon numéro de port (surtout si ce n'est pas celui par défaut "7777").
  • Si vous utilisez un routeur vous devez vous assurer qu'il a ouvert le port du serveur. Référez-vous à la première partie pour savoir comment faire.
  • Si votre adresse IP est dynamique (ni statique ni réservée), il est possible de qu'elle change avec le temps, alors revérifiez votre adresse IP. De plus, si vous utilisez le DNS dynamique pour contourner ce problème, dites aux autres joueurs de toujours taper votre nom de domaine pour vous rejoindre et n'utilisez pas la liste des connections sauvegardées que le jeu propose (le jeu ne sauvegarde que les adresses IP, pas les noms de domaine, ainsi si votre IP a changé il n'en sera pas informé).

Le monde ne se sauvegarde pas/Des objets disparaissent des coffres après avoir fermé le serveur

Le serveur de Terraria ne sauvegarde automatiquement le monde qu'à chaque aube (toutes les 24 minutes).

Si vous fermez le serveur sans lancer de commande save ou exit via la console (ou si vous utilisez héberger et jouer), il y a une chance que le monde n'ait pas pris en compte les changements des dernières minutes. Déplacer de l'équipement entre coffres et fermer immédiatement le serveur sans spécifier explicitement la commande save/exit peut causer la disparition de ces objets.

Afin de s'assurer que ce ne soit pas un problème : utilisez toujours un serveur dédié, et pensez à entrer les commandes save/exit plutôt que de simplement fermer la fenêtre de la console en appuyant sur le bouton X.