« Starbound » : différence entre les versions
mAucun résumé des modifications |
|||
Ligne 226 : | Ligne 226 : | ||
{{Info|N'oubliez pas, vous pouvez lancer votre serveur dans un '''screen''', c'est toujours mieux! <code>screen -S starbound ./ld-linux.so.2 --library-path ./ ./starbound_server</code>}} | {{Info|N'oubliez pas, vous pouvez lancer votre serveur dans un '''screen''', c'est toujours mieux! <code>screen -S starbound ./ld-linux.so.2 --library-path ./ ./starbound_server</code>}} | ||
== | == Script d'automatisation == | ||
{{ | |||
* Créez un fichier nommé <code>nano starbound.sh</code> | |||
* Copiez-collez ce qui suit en veillant à ce que le chemin correspond avec votre installation | |||
* Enregistrez avec {{Touche|ctrl + X}} et validez | |||
* Rendez exécutable votre script <code>chmod +x starbound.sh</code> | |||
Voilà! Vous pouvez l'utiliser simplement avec la commande <code>./starbound.sh {start|stop|restart|status|update}</code> | |||
<syntaxhighlight lang="Bash"> | |||
#!/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 status === | ||
* [https://github.com/seriallos/commandstar Commandstar] sur github. Un serverstatus avec site web. | * [https://github.com/seriallos/commandstar Commandstar] sur github. Un serverstatus avec site web. |
Version du 13 février 2016 à 17:16
Starbound | ||||
---|---|---|---|---|
![]() | ||||
Général | ||||
Catégorie | Starbound [edit] | |||
Métadatas | ||||
Création | 22/03/2014 | |||
Dernière révision | 13/02/2016 |
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
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
- pour les serveurs x86
cd starbound/linux32
./starbound_server
- 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
- Avec un script
- Nous pouvons créer un script de mise à jour du serveur
nano update_starbound.sh
La commande précédente à ouvert l'éditeur nano. Il ne nous reste qu'à écrire le script, vous pouvez utiliser le raccourci ctrl + X
pour sortir de l'éditeur, il vous demandera si vous voulez sauvegarder, confirmez en tapant Y.
- Copiez/collez les deux lignes qui suivent dans nano
#!/bin/bash
./steamcmd.sh +login yourusername 'yoursupersecretpassword' +force_install_dir ./starbound +app_update 211820 +quit
- Une fois le script écrit, n'oublions pas de le rendre exécutable et innaccessible en lecture aux autres utilisateurs (il contient vos accès Steam)
chmod 700 update_starbound.sh
- Testons le script de mise à jour
./update_starbound.sh
Si tout cela fonctionne, vous recevrez un message de confirmation.
- 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
- Veillez à renseigner
<username>
et<password>
- 211820 est l'ID de Starbound sur Steam
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
screen -S starbound ./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
- Commandstar sur github. Un serverstatus avec site web.
server wrapper
- StarryPy python
- StarryPy3k python
- Aegis Wrapper java
- Cytowrapper C#
- Starrybound starrybound.com
Network
Références
- ↑ Starbound sur wikipedia
- ↑ Page Guide:LinuxServerSetup sur starbounder.org
- ↑ Un sujet sur le forum de steamcommunity
- ↑ Guide How to install fix missing libraries for starbound_server 32 64bit sur community.playstarbound.com
- ↑ Métohde d'arcanemagick sur les forums chucklefishgames