Installation d'un serveur Starbound (MAJ 20/05/2015)

Starbound est un jeu indépendant, actuellement en bêta, développé par le studio Chucklefish. Je l'ai découvert après avoir vu l'émission GKLive sur Gamekult.com (lien en bas de l'article). Starbound prend place dans un monde en deux dimensions aux environnement procéduraux, c'est à dire qu'ils sont générés aléatoirement. Après avoir acheté l'early access, j'ai décidé de monter mon propre serveur afin de profiter du jeu depuis des lieux différents et avec des amis.

 


MAJ 20/05/2015 : Suite à une mise à jour de Starbound, je corrige le nom et l'emplacement du fichier de configuration. Le paramétrage des noms d'utilisateurs et des mots de passe a également changé.


 

J'ai acheté le jeu depuis la plateforme Steam. Le serveur sera donc installé à partir de cet outil. Vous devrez compter sur un serveur équipé d'un processeur quatre cœurs et de 4go de RAM. Commencez par vous connecter à votre serveur en SSH. Ma machine tourne sous Ubuntu 14.04.

J'ai fais le choix de créer un utilisateur "steam" dédié, mais cette étape est facultative.

adduser steam
su - steam

 

 

Prérequis

Nous allons mettre en place les prérequis à l'installation du serveur :

mkdir /home/steam
apt-get install lib32gcc1
iptables -A INPUT -p tcp -i eth0 -dport 21025 -j ACCEPT


La commande iptables, permet d'ouvrir, sur le serveur, le port utilisé par Starbound. Cette règle de firewall doit être placé dans un script lancé au démarrage de la machine, afin que le port soit ouvert après un redémarrage (plus d'info ici).

Nous pouvez maintenant installer SteamCMD.

cd /home/steam
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
cd steamcmd

 

 

Installation de Starbound

On lance le script steamcmd.sh afin d'installer le serveur Starbound.

cd /home/steam/steamcmd
.steamcmd.sh


Une fois dans SteamCMD, exécuter les commandes ci-dessous :

login <steam_user> <steam_password>
force_install_dir ./starbound
app_update 211820


Pendant la phase de login, Steam vous demandera peut-être une authentification supplémentaire (SteamGuard). Un mail vous est alors envoyé.

Une fois l'installation de Starbound terminé, quittez SteamCMD avec la commande quit.

 

Configuration et lancement du serveur

Il faut maintenant configurer le serveur, notamment pour ce qui concerne les comptes utilisateurs et les mots de passes, permettant l'accès au jeu.

cd /home/steam/steamcmd/starbound/linux64
# ou bien, en fonction de votre architecture
/home/steam/steamcmd/starbound/linux32
vim sbboot.config


L'option "serverUsers", permet de modifier les logins et mots de passe d'accès au serveur.

"serverUsers" : {
  "fred" : {
    "admin" : true,
    "password" : "hunter2"
  },
  "george" : {
    "admin" : false,
    "password" : "swordfish"
  }
},

 

Par defaut le serveur est publique, c'est à dire que tout le monde peut s'y connecter sans autentification. Pour forcer l'utilisation d'un login et d'un mot de passe, modifiez l'option "allowAnonymousConnections" :

"allowAnonymousConnections" : false,


Nous sommes maintenant prêt pour lancer le serveur. Afin de ne pas surcharger l'affichage du terminal, nous exécuterons la commande de lancement du serveur dans un autre terminal. Pour cela nous utiliserons l'outil screen.

sudo apt-get install screen

# en fonction de votre architecture :
cd /home/steam/steamcmd/starbound/linux64
# ou bien :
cd /home/steam/steamcmd/starbound/linux32

screen -S starbound -d -m ./launch_starbound_server.sh


Le serveur est lancé. Pour vérifier que le terminal "starbound" est actif, lancez la commande : screen -ls.

Pour fermer la fenêtre puis arrêter le serveur lancez les commandes

screen -S starbound -X quit
kill -9 | grep starbound_server

 

 

Mise à jour de Starbound

La mise à jour du serveur passe par Steam.

cd /home/steam
./steamcmd.sh


Une fois Steam lancé on ce connecte pour lancer la mise à jour.

login <steam_user> <steam_password>
force_install_dir ./starbound
app_update 211820
quit

 

Redémarrer votre serveur Starbound automatiquement

Un redémarrage automatique de Starbound est conseillé pour conserver des performances optimales. La fréquence est à définir en fonction du taux d'usage et du nombre de joueurs. Pour ce faire, il faudra créer un script qui sera lancé par Cron.

cd /home/steam
vim starbound_restart.sh


Contenu du script "starbound-restart.sh" :

#!/bin/bash
#need root
screen -S starbound -X quit
killall starbound_server
cd /home/steam/steamcmd/starbound/linux64
screen -S starbound -d -m ./starbound_server


Exécution du script par Cron :

sudo crontab -e

# Ajout de la ligne ci-dessous
0 5 * * 0 /home/steam/starbound-restart.sh > /dev/null


Dans cette exemple Cron exécutera notre script tous les dimanche à 5 heures du matin.

De la même manière, il est possible de planifier un script qui va mettre à jour Starbound :

#!/bin/bash
/home/steam/steamcmd/steamcmd.sh +login <steam_user> <steam_password> +force_install_dir /home/steam/steamcmd/starbound +app_update 211820 +quit


Mémo Cron

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed


Site officiel  : http://playstarbound.com/
GKLive Starbound : http://www.gamekult.com/video/starbound-gk-live-starbound-3050208754v.html

Article réalisé avec l'aide de ce tutoriel : http://www.gameoverblog.fr/tuto-starbound-linux-serveur/


Un article à retrouver sur P3ter.fr

Vus : 590
Publié par P3ter : 34