by Haruka :: 2015/05/20 :: 6 min read
#tutoriels #cli

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


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

cd /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/