Aller au contenu

Starbound

De Nefald Wiki



Starbound
Starbound
Général
Catégorie Starbound [edit]
Métadatas
Création 22/03/2014
Dernière révision 28/09/2017


Fichier:Starbound Thekom Luci Uti.jpg
Thekom et Luci, à bord du vaisseau d'Uti voyageant à la vitesse de la Lumière, au travers de l'espace intersidéral...Loin, loin,loin....


Starbound est un jeu vidéo de type bac à sable créé par le Studio de jeux indépendant Chucklefish au Royaume-Uni. Il se déroule dans un univers à deux dimensions, que le joueur explore afin d'obtenir de nouvelles armes, armures et objets divers. Starbound est entré bêta-testing le 4 décembre 2013 pour Microsoft Windows, OS X et Linux.

Il y est question de planètes, de systèmes solaires et d’univers gigantesque où le joueur voyage à bord de son propre vaisseau spatial : à lui de découvrir les mystères de l’univers, vaincre de puissants monstres cachés dans de profonds donjons, d’explorer d’anciennes ruines, de récolter toutes sorte de matériaux ou encore de construire une petite maison et, peut-être, d'être le pionnier d’une toute nouvelle civilisation… [1]

Configuration

Article détaillé : /Configuration.


Installation d'un serveur (Linux)

Voici l'installation la plus courante d'un serveur Starbound sur une machine Linux [2]

Installation de Steamcmd

  • Si votre OS est en 64bits vous aurez besoin des libraires 32bits pour que votre serveur puisse tourner en 32bits.

<syntaxhighlight lang="Bash"> sudo apt-get install lib32gcc1 </syntaxhighlight>

  • L'installation par défaut d'Ubuntu/Debian ne fournit pas les paquets nécessaires à Starbound. Installons-les manuellement.

<syntaxhighlight lang="Bash"> sudo apt-get install libvorbisfile3 </syntaxhighlight>

  • Créez un utilisateur non-admin afin d'installer/mettre à jour/utiliser steamcmd

<syntaxhighlight lang="Bash"> sudo adduser steam </syntaxhighlight>

  • Switchez sur cet utilisateur

<syntaxhighlight lang="Bash"> su - steam </syntaxhighlight>

  • Téléchargez Steamcmd

<syntaxhighlight lang="Bash"> wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz </syntaxhighlight>

  • Créez un répertoire pour le client SteamCMD

<syntaxhighlight lang="Bash"> mkdir steamcmd </syntaxhighlight>

  • Déplacez-y les archives

<syntaxhighlight lang="Bash"> mv steamcmd_linux.tar.gz steamcmd/ </syntaxhighlight>

  • Accèdez au susdit répertoire

<syntaxhighlight lang="Bash"> cd steamcmd </syntaxhighlight>

  • Extrayez-y l'archive

<syntaxhighlight lang="Bash"> tar -zxvf steamcmd_linux.tar.gz </syntaxhighlight>

  • Lancez le client SteamCMD

<syntaxhighlight lang="Bash"> ./steamcmd.sh </syntaxhighlight>

Installation de Don't Starve Together

  • Une fois lancé, vous remarquerez que votre prompt a switché sur steam> Il vous faut maintenant vous logguer avec votre compte Steam, afin d'installer les fichiers serveurs

<syntaxhighlight lang="Bash">

steam>login <username> <password>
steam>force_install_dir ./starbound
steam>app_update 211820
steam>quit

</syntaxhighlight>


  • Pour lancer le serveur, accédez au répertoire du serveur - selon votre architecture 32 ou 64 - et lancez le script starbound_server
  1. pour les serveurs x86

<syntaxhighlight lang="Bash">

cd starbound/linux32
./starbound_server

</syntaxhighlight>

  1. pour les serveurs x64

<syntaxhighlight lang="Bash">

cd starbound/linux64 
./starbound_server

</syntaxhighlight>

Lancez votre serveur dans un Screen

Si vous souhaitez faire tourner le serveur continuellement sans être connecté à la console, vous pouvez utiliser Screen', Tmux ou byobu (installé par défaut avec l'OS). Nous allons utiliser Screen.



Si vous utilisez windows et que vous accèdez au serveur via SSH, configurez votre client SSH sur UTF-8 et Xterm R6.

  • Lançons notre serveur dans un screen que nous nommerons starbound avec la variable -S suivie du nom

<syntaxhighlight lang="Bash"> screen -S starbound ./starbound_server </syntaxhighlight>

  • Pour vous détacher du screen (et le laisser tourner paisiblement) faites ctrl + A + D
  • toujours en ssh, pour vous rattacher au screen, tapez

<syntaxhighlight lang="Bash"> screen -R starbound </syntaxhighlight>

  • vous avez oublié le nom de votre screen? Tapez la commande qui suit pour lister les screens actifs, pour rejoindre celui souhaité

<syntaxhighlight lang="Bash"> screen -ls </syntaxhighlight>

  • Vous voulez arrêtez votre screen? Réattachez vous avec votre session starbound et tapez ctrl + A + K

Et voilà, vous avez lancé votre serveur Starbound. N'oubliez pas de renseigner sur l'ouverture des port nécessaires à l'accession à votre serveur par des tiers personnes.

Lancez votre serveur dans un screen

<syntaxhighlight lang="Bash">screen -S starbound ./starbound_server</syntaxhighlight>


Mettre à jour son serveur

En se connectant à la console SteamCMD
Lancez steamcmd et connectez-vous afin d’exécuter l'update [3]

<syntaxhighlight lang="Bash"> ./steamcmd.sh login <username> <password> force_install_dir ./starbound app_update 211820 validate exit </syntaxhighlight>

Ou en une seule commande

<syntaxhighlight lang="Bash">./steamcmd.sh +login <username> '<password>' +force_install_dir ./starbound +app_update 211820 +quit</syntaxhighlight>



Installer les librairies manquantes

Ah! Si vous avez réussi à installer et à lancer votre serveur sans aucun problèmes, félicitations, vous faîtes partie des très rares chanceux qui peuvent dès à présent jouer sur leur serveur. Pour les autres (Debian/Ubuntu notamment), il est fort probable que vous ayez des messages d'erreurs vous indiquant qu'il manque diverses librairies comme la fameuse libc.so.6. Fort heureusement des gens compétents se sont échinés à rédiger des guides[4] dans le but de régler ces soucis, je vous en fait la synthèse ci-dessous.


Méthode 1

Debian/Ubuntu

<syntaxhighlight lang="Bash">pt-get install libssl1.0.0 libfreetype6 libogg0 libgcc1 libpng12-0 libvorbis0a libvorbisfile3</syntaxhighlight>

Archlinux

<syntaxhighlight lang="Bash">pacman -S libpng12</syntaxhighlight>

Gentoo

<syntaxhighlight lang="Bash">emerge libpng:1.2 freetype openssl </syntaxhighlight>


Si tout cela ne fonctionne pas, essayez la méthode 2.

Méthode 2

64bits
  • Accédez au répertoire où se trouve votre serveur Starbound

<syntaxhighlight lang="Bash">cd /path/to/your/starbound/linux64</syntaxhighlight>

  • Téléchargez les librairies 64bits

<syntaxhighlight lang="Bash">wget https://nefald.fr/wiki/Fichier:starbound-server-x64-libdeps.tar.gz</syntaxhighlight>

  • Extrayez les librairies

<syntaxhighlight lang="Bash">tar xvfz starbound-server-x64-libdeps.tar.gz</syntaxhighlight>


32bits
  • Changez de répertoire pour atteindre celui où se trouve votre serveur Starbound

<syntaxhighlight lang="Bash">cd /path/to/your/starbound/linux32</syntaxhighlight>

  • Téléchargez les librairies 32bits

<syntaxhighlight lang="Bash">wget https://nefald.fr/wiki/Fichier:starbound-server-x32-libdeps.tar.gz</syntaxhighlight>

  • Extrayez les librairies

<syntaxhighlight lang="Bash">tar xvfz starbound-server-x32-libdeps.tar.gz</syntaxhighlight>


Avec un peu de chance, cela devrait fonctionner. Essayez de lancer votre serveur avec la commande ./launch_starbound_server.sh. Ça ne fonctionne toujours pas? Passez à la méthode 3!


Méthode 3

Si arpès la méthode 2 vous obtenez ce genre d'erreur : <syntaxhighlight lang="Bash"> ./starbound_server: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument or ./starbound_server: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libgcc_s.so.1)</syntaxhighlight>

C'est que vous êtes bons pour la méthode 3 [5]! C'est celle qui a fonctionnée pour moi.

Dans le pack téléchargé dans la méthode 2 se trouvait un répertoire nommé linux_loader-dont-know-if-you-need-this. Ouvrez-le puis déplacez la librairie ld-linux.so.2 dans le répertoire d'installation (linux64 ou linux3é, cd'est selon)

Lancez votre serveur avec la commande

<syntaxhighlight lang="Bash">./ld-linux.so.2 --library-path ./ ./starbound_server</syntaxhighlight>



Script d'automatisation

  • Créez un fichier nommé nano starbound.sh
  • Copiez-collez ce qui suit en veillant à ce que le chemin correspond avec votre installation
  • Enregistrez avec ctrl + X et validez
  • Rendez exécutable votre script chmod +x starbound.sh

Voilà! Vous pouvez l'utiliser simplement avec la commande ./starbound.sh {start|stop|restart|status|update} <syntaxhighlight lang="Bash">

  1. !/bin/sh

srv_stop() { screen -X -S starbound kill echo "[STARBOUND] Le serveur s‘arrête ! \033[0;32m[OK]\033[0m" }

srv_start() { cd /home/steam/steamcmd/starbound/linux64/ && /usr/bin/screen -dmS starbound ./starbound_server echo '[STARBOUND] Le serveur démarre ! \033[0;32m[OK]\033[0m' }

case "$1" in

   start)

if pgrep -f starbound_server >/dev/null; then srv_stop fi srv_start

       ;;
   stop)

if pgrep -f starbound_server >/dev/null; then srv_stop else echo "[STARBOUND] \033[0;31mAucun serveur détecté\033[0m !" fi

       ;;
   restart)

if pgrep -f starbound_server >/dev/null; then srv_stop else echo "[STARBOUND] \033[0;31mAucun serveur détecté\033[0m !" fi srv_start

       ;;
   status)

if pgrep -f starbound_server >/dev/null; then echo "[STARBOUND] \033[0;32mLe serveur est en ligne\033[0m !" else echo "[STARBOUND] \033[0;31mLe serveur est en ligne\033[0m !" fi

       ;;
   update)

srv_stop echo "[STARBOUND] \033[0;32mMise à jour...\033[0m !" cd /home/steam/steamcmd ./steamcmd.sh +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +login anonymous +force_install_dir /home/steam/steamcmd/starbound +app_update 343050 validate +quit echo "[STARBOUND] \033[0;32mMise à jour terminée\033[0m !" srv_start

       ;;
   *)
       echo "Utilisation: starbound {start|stop|restart|status|update}" >&2
       exit 1
       ;;

esac

exit 0

</Syntaxhighlight>

server status

server wrapper


Network

Références

  1. Starbound sur wikipedia
  2. Page Guide:LinuxServerSetup sur starbounder.org
  3. Un sujet sur le forum de steamcommunity
  4. Guide How to install fix missing libraries for starbound_server 32 64bit sur community.playstarbound.com
  5. Métohde d'arcanemagick sur les forums chucklefishgames