Installer un serveur Terraria sous Linux ou sur un NAS Synology
Je viens de me mettre à un petit jeu indépendant, Terraria. Pour ceux qui ne connaissant pas, c'est un genre de Minecraft mais en 2D. En gros vous avez un personnag et vous devez utiliser votre environnement pour construite des habitations, trouver des ressources pour faire des armes, armures ... Le jeu est soit PvE, soit PvP. Et voulant y jouer avec mes amis à moindre frais, j'ai créé mon propre serveur.
Pour créer votre serveur vous allez avoir besoin soit d'un ordinateur sous Linux (peut importe la version, même sans interface) ou d'un NAS Synology pour continuer ce tuto. Sur Windows vous allez voir c'est un fichier *.exe que vous allez pouvoir éxecuter directement à la main.
Tout d'abord on va installer Mono. Mono est une plate-forme qui permet d'éxecuter des applications Windows sous Linux.
Linux :
sudo add-apt-repository ppa:inizan-yannick/mono sudo apt-get install mono-runtime
NAS Synology :
- Rendez vous dans le centre de paquets
- Paramètres, onglets Bêta, et cochez : Oui, je veux voir les versions bêta !
- Recherchez Mono et installez-le
Pour utiliser Terraria sur un serveur nous allons avoir besoin de TShock. TShock est un serveur pour Terraria écrit en C# et basé sur l'API serveur de Terraria.
Pour l'installer, on va devoir nous connecter en SSH à notre serveur. Je suppose que vous savez vous connecter à votre serveur en SSH sinon une petite recherche Google devrait suffir. Pour ceux qui ont un NAS Synology, vous devez vous connecter avec l'utilisateur root et avec le mot de passe de l'admin.
# Adaptez le dossier à vos besoin cd /volume1/homes/admin/ # Pour les NAS Synology, je vous renvoi à mon tuto Installer IPKG sur son NAS Synology DSM 5 (http://www.babeuloula.fr/blog/billet/52/installer-ipkg-sur-son-nas-synology-dsm-5/) # A la fin de ce tuto, j'explique comment installer wget-ssl wget https://github.com/NyxStudios/TShock/releases/download/v4.2300/TShock.4.2.3.0702.zip unzip -d Terraria TShock.4.2.3.0702.zip rm TShock.4.2.3.0702.zip cd Terraria/ mono TerrariaServer.exe
Le serveur se lance, je vous laisse configurer votre serveur comme vous le souhaitez.
Je vous mets dans la source du billet, le contenu d'un fichier texte qui permet de lancer directement le serveur avec toutes les configurations. Ce qui vous permettera lancer le serveur correctement au lancement de votre serveur.
Et si vous souhaitez fermer la console sans que le serveur ne se ferme vous pouvez installer screen :
# NAS Synology ipkg install screen # Linux sudo apt-get install screen
Et lancez le avec :
screen mono TerrariaServer.exe
Source
Pour lancer le serveur en ligne de commande
mono TerrariaServer.exe -config serverconfig.txt
Contenu du fichier serverconfig.txt
#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 #Set's the max number of players allowed on a server. Value must be between 1 and 255 #maxplayers=8 #Load a world and automatically start the server. #world=/volume1/homes/admin/Terraria/Terraria/Worlds/world1.wld #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=/volume1/homes/admin/Terraria/Terraria/Worlds/ #Creates a new world if none is found. World size is specified by: 1(small), 2(medium), and 3(large). #autocreate=3 #Sets the name of the world when using autocreate #worldname=World #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 1:English, 2:German, 3:Italian, 4:French, 5:Spanish #lang=1 #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