Starbound

De Nefald Wiki
Aller à la navigation Aller à la recherche



Starbound
Starbound
Général
Catégorie Starbound [edit]
Métadatas
Création 22/03/2014
Dernière révision 13/02/2016


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.
sudo apt-get install lib32gcc1
  • L'installation par défaut d'Ubuntu/Debian ne fournit pas les paquets nécessaires à Starbound. Installons-les manuellement.
sudo apt-get install libvorbisfile3
  • Créez un utilisateur non-admin afin d'installer/mettre à jour/utiliser steamcmd
sudo adduser steam
  • Switchez sur cet utilisateur
su - steam
  • Téléchargez Steamcmd
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
  • Créez un répertoire pour le client SteamCMD
mkdir steamcmd
  • Déplacez-y les archives
mv steamcmd_linux.tar.gz steamcmd/
  • Accèdez au susdit répertoire
cd steamcmd
  • Extrayez-y l'archive
tar -zxvf steamcmd_linux.tar.gz
  • Lancez le client SteamCMD
./steamcmd.sh

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
 steam>login <username> <password>
 steam>force_install_dir ./starbound
 steam>app_update 211820
 steam>quit


  • 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
 cd starbound/linux32
 ./starbound_server
  1. pour les serveurs x64
 cd starbound/linux64 
 ./starbound_server

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
screen -S starbound ./starbound_server
  • Pour vous détacher du screen (et le laisser tourner paisiblement) faites ctrl + A + D
  • toujours en ssh, pour vous rattacher au screen, tapez
screen -R starbound
  • vous avez oublié le nom de votre screen? Tapez la commande qui suit pour lister les screens actifs, pour rejoindre celui souhaité
screen -ls
  • 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
screen -S starbound ./starbound_server


Mettre à jour son serveur

En se connectant à la console SteamCMD
Lancez steamcmd et connectez-vous afin d’exécuter l'update [3]
./steamcmd.sh
login <username> <password>
force_install_dir ./starbound
app_update 211820 validate
exit
Ou en une seule commande
./steamcmd.sh +login <username> '<password>' +force_install_dir ./starbound +app_update 211820 +quit



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
pt-get install libssl1.0.0 libfreetype6 libogg0 libgcc1 libpng12-0 libvorbis0a libvorbisfile3
Archlinux
pacman -S libpng12
Gentoo
emerge libpng:1.2 freetype openssl


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
cd /path/to/your/starbound/linux64
  • Téléchargez les librairies 64bits
wget https://nefald.fr/wiki/Fichier:starbound-server-x64-libdeps.tar.gz
  • Extrayez les librairies
tar xvfz starbound-server-x64-libdeps.tar.gz


32bits
  • Changez de répertoire pour atteindre celui où se trouve votre serveur Starbound
cd /path/to/your/starbound/linux32
  • Téléchargez les librairies 32bits
wget https://nefald.fr/wiki/Fichier:starbound-server-x32-libdeps.tar.gz
  • Extrayez les librairies
tar xvfz starbound-server-x32-libdeps.tar.gz


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 :

./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)

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
./ld-linux.so.2 --library-path ./ ./starbound_server



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}

#!/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

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