Die Starbound Linux Beta Client-Version liefert ein Server-Startscript mit. Sehr simpel gehalten, wird im Verlauf der Beta sicherlich optimiert. Wir halten unsere Anleitung up-2-date.

Starbound dedicated Linux Server Setup

Basierend auf Debian 7 Wheezy, mit sudo aber auch für alle Ubuntu Server Versionen.

1.) Wir legen ein neuer User an für dein Server:

adduser starbound-server

2.) Download SteamCMD.sh als User starbound-server, entpacken

su - starbound-server
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar xvzf steamcmd_linux.tar.gz

3.) Login mit Steam User + Passwort, Download Starbound Client (App ID 211820). Bei Problemen solltest du ins offizielle Valve SteamCMD Wiki schauen.

./steamcmd.sh
login username passwort
app_update 211820
STRG+C

4.) Server starten (64Bit Linux Server)

chmod +x ./Steam/SteamApps/common/Starbound/linux64/starbound_server
./Steam/SteamApps/common/Starbound/linux64/starbound_server

Du hast ein 32Bit Server? Dann das Script in Folder /linux32/ benutzen.

Der Server startet mit Port 21025.
Fertig.

Server updaten, Server Passwort, Server Port, Player Limit

Player Limit
Folgende Konfig muss geöffnet werden: vi ./Starbound/assets/default_configuration.config
Zeile „MaxPlayers“ deine Wunschzahl eintragen, danach Server restarten:

„authHostname“ : „auth.playstarbound.com“,
„bind“ : „*“,
„maxPlayers“ : 8,
„gamePort“ : 21025,
„serverName“ : „Mein eigener Server Name“,
„controlPort“ : 21026,
„authPort“ : 21027,
„upnpPortForwarding“ : true,
„claimFile“ : „indev.claim“,
„attemptAuthentication“ : false,
„username“ : „“,
„passwordHash“ : „“,
„windowTitle“ : „Starbound – Beta“,
„vsync“ : true,
„renderSleep“ : true,
„renderPriority“ : true,
„waitForUpdate“ : true,
„renderPreSleepRemainder“ : 4,
„maxFrameskip“ : 10,
„sampleRate“ : 44100,
„audioChannels“ : 2,
„audioChannelSeparation“ : [-25, 25],
„pixelRatioIdx“ : 3,
„tileDamageLimit“ : 49,

„clearUniverseFiles“ : false,
„clearPlayerFiles“ : false,

„checkAssetsDigest“ : false,

„serverPasswords“ : [
„“,
„duckies“,
„swordfish“
],
„bcryptRounds“ : 5000,

„useDefaultWorldCoordinate“ : false,
„defaultWorldCoordinate“ : „alpha:-84936662:-62554636:-13754701:6:12“,
„allowAdminCommands“ : true,
„allowAdminCommandsFromAnyone“ : true,

„sfxVol“ : 100,
„musicVol“ : 100,
„windowedResolution“ : [1000, 600],
„maximizedResolution“ : [1000, 600],
„fullscreenResolution“ : [1920, 1080],
„fullscreen“ : false,
„maximized“ : true,
„zoomLevel“ : 3.0,
„speechBubbles“ : true,

Starbound Server updaten bzw. patchen

./steamcmd.sh
login username passwort
app_update 211820 validate
STRG+C

#Server wieder starten

Weiterführende Doku siehe SteamCMD Wiki

Starbound Server Passwort setzen
Dazu musst du die Passwortliste ab Zeile 28 editieren:

./Steam/SteamApps/common/Starbound/assets/default_configuration.config

„serverPasswords“ : [
„Passwort1“,
„Passwort2“,
„Passwort3“
],

Starbound Server Port ändern
Ungetestet, die Ports können aber in

./Steam/SteamApps/common/Starbound/assets/default_configuration.config

geändert werden.

 

Server im Hintergrund, Server Autostart

Starbound Server im Hintergrund laufen lassen?

Jap, problemlos mit tmux (praktischer als screen).
Hier unsere Anleitung: Anleitung: (Game-)Server im Hintergrund laufen lassen [tmux]

Autostart bei Server Reboot bzw. Init-Script?

 

Bekannte Fehlermeldungen, Lösungen

libvorbisfile.so.3
Fehlermeldung:

error while loading shared libraries: libvorbisfile.so.3: cannot open shared object file: No such file or directory

Lösung:

apt-get install libvorbisfile3 libvorbis0a libvorbisenc2

32Bit Libraries auf 64Bit Debian 7
Auch 64Bit-GameServer benötigen oft diverse 32 Bit libraries. 32Bit hinzufügen:

dpkg –add-architecture i386
apt-get update
apt-get install ia32-libs

Das funktioniert nicht mit Debian oldstable Squeeze 6!
Um Nerven zu schonen solltest du schnell auf Debian 7 Wheezy upgraden.

Cannot bind socket on port 21025
Error: Fatal Exception Caught: NetworkException: Cannot bind socket on port 21025: Transport endpoint is not connected

Serverfiles sind korrupt nach Patchen und/oder Port 21025 ist blockiert.

1.) Serverfiles validiern, korrupte Files automatisch reparieren lassen:

./steamcmd.sh
login username passwort
app_update 211820 validate

2. Sicherstellen, dass kein Prozess den Port 21025 blockiert. Als Root (nicht als User starbound-server) prüfen:

lsof -i TCP:21025

Keine Antwort bedeutet, der Port ist frei = Sehr gut.
Falls eine TCP Verbindung angezeigt wird ist der Port blockiert. Du musst du die angezeigte PID mit „kill -9 <PID-NUMMER>“ killen.

I/O error in NetSocket write loop (...)
Warn: I/O error in NetSocket write loop or device closed: NetworkException: tcp send error: Socket operation on non-socket

Die Fehlermeldung ist schrott, will aber zu 90% aussagen: Client + Server haben nicht dieselbe Version. I.d.R. muss Eins der Beiden gepatcht werden.

TEILEN
elysium
Elysium spielt seit 2012 unter Linux, aktuell mit Linux Mint 18. Beruflich bin ich im Bereich Middleware auf Linux-Server unterwegs. Für diverse Adobe Applikationen bleibt mein Dualboot Linux/Windows bestehen. Und in seltenen Fällen für DirectX only Games..

18 KOMMENTARE

  1. Hi habs die anleitung genau befolgt nur kommt beim starten dieser fehler:
    ./Steam/SteamApps/common/Starbound/linux64/starbound_server: error while loading shared libraries: libvorbisfile.so.3: cannot open shared object file: No such file or directory

  2. ich hatte das gleiche problem.
    da du im linux64 verzeichnis unterwegs bist, denke ich du hast nen 64iger. da fehlen vielleicht ne menge libs da nur 32iger möglich ist….. ich hatte irgendwo in nem forum nen install packet gefunden, das installiert und dann gings. vielleicht langt dir das als hinweis genauer danach zu googlen

  3. Die sauberste Lösung scheint, die 64bit packages zu von libvorbis zu installieren.

    apt-get install libvorbisfile3 libvorbis0a libvorbisenc2

    Klappt es damit bereits?

    Ansonsten lohnt es sich für Gameserver generell, die 32bit Architektur hinzufügen da oft noch 32Bit libs je nach dem nötig sind:

    dpkg –add-architecture i386
    apt-get update
    apt-get install ia32-libs

  4. hey, erstmal vielen dank für diese anleitung.
    ich habe das genutzt um einen server via SSH auf meinem webserver zu starten, so das ich und meine freunde drauf spielen können 🙂

    jedoch kann ich mich selbst nun nichtmehr in steam (desktop) einloggen, weil ich eben schon auf dem server eingeloggt bin.
    was soll der quatsch? =) weis da jemand rat?

  5. Hi annika, aller höchstwahrscheinlich läuft dein ./steamcmd.sh script noch in eingeloggten Zustand.

    Falls du nicht mehr weisst wo es geöffnet ist kannst du als root danach suchen: „ps -ef | grep -i steamcmd“ danach die angezeigte PID zu diesem ./steamcmd Prozess mit „kill -9 PID-NUMMER“ abschiessen. Damit bist du auf dem Server wieder ausgeloggt und dein Steam @Desktop darf sich wieder einloggen.

  6. Ist der Server eigentlich persistent, d.h. ist die Welt nach einem Neustart noch vorhanden? Gibt es für den Server irgendwo schon eine Doku?

  7. Gibt es einen „harten Weg“ für Debian 6? Ich habe einen entsprechenden Webserver und kann diesen im Moment leider nicht upgraden. Von mir aus Update ich die Spieldateien auch selbst.

  8. @nepo ja, die Serverwelt ist persistent und speichert automatisch. Leider gibts noch keine Server Doku, meine Anlaufstelle ist die Reddit Gruppe http://www.reddit.com/r/starboundservers und das offizielle offizielle Serverforum http://community.playstarbound.com/index.php?forums/public-servers-server-help.102/
    @Marc dürfte möglich sein, es fehlt aber libssl1.0.0 im Squeeze Repository. Ich kann dir leider auf Anhieb keine Anleitung geben, selbst kompilieren müsste aber funktionieren. Trotzdem nicht zu empfehlen, spätestens als ich wine32Bit 1.6 unter Squeeze 64Bit kompilieren wollte hört der Spass auf.. (fehlendes Multiarch –add-architecture und veraltetes Repository).

  9. Hallo nochmal 🙂
    Danke erstmal für die schnelle Hilfe.
    Leider kommt jetzt dieser Fehler:
    ./Steam/SteamApps/common/Starbound/linux64/starbound_server: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

  10. REDDE4D nutzt du Debian Squeeze 64 Bit? Sagen wir es mal so: Mit viel Ach-und-Krach funktioniert es schon, habe es gerade in einer VM mit Debian 6.0.8 getestet, doch es ist ein gebastel und kann u.U. dein Server bis zum unbrauchbar schrotten + es lohnt sich in jedem Fall eher auf Debian Wheezy 7 zu wechseln. Falls du das Risiko wirklich eingehst, kannst du ./Steam/SteamApps/common/Starbound/linux64/libssl1.so.1.0.0 nach /usr/lib/ kopieren (oder Symlink) und /etc/apt/sources.list das Wort squeeze mit wheezy ersetzen und mit apt-get update && apt-get install gcc , die neue Version von libc6 installieren, welche gcc als abhängigkeit auch mitbringt. Sobald der Server einmal erfolgreich gestartet werden konnte, die /etc/apt/sources.list wieder auf squeeze zurücksetzen. Aber ich empfehle es niemals! Lieber auf Wheezy migrieren. Wie gesagt, es spart Unmengen an Nerven.
    Ich mag Debian sehr, Squeeze ist für Webserver sehr stabil aber für Gameserver einfach nicht mehr Zeitgemäss.

  11. @REDE4D, @elysium:

    Ich habe einen root Server bei Strato und mein Server lief auch noch auf Debian 6 nachdem ich dann einige Probleme mit Starbonnd hatte habe ich ihn auch auf 7 geupgradet. Hätte auch eine Neuinstallation beauftragen können auf 7, aber das war mir zu umständlich, hätte dann alles neu installieren müssen.
    Upgrade auf 7 klappte aber soweit ohne Probleme, musste nur das Dovecot neu einrichten, weil dort die Konfigurationsstruktur komplett geändert wurde.

    Das Debian ist aber eine 32-Bit Version. Nach dem Upgrade läuft auch Starbound einwandfrei.

    Vielleicht wäre ein Upgrade eines bestehenden Systems auch eine schöne Anleitung für diese Seite 🙂

  12. Servus nochmal hab den Server jetzt mit Debian Wheezy 7 neuinstalliert aber es kommt immernoch bei

    64bit:
    ./Steam/SteamApps/common/Starbound/linux64/starbound_server: No such file or directory

    32bit:
    ./Steam/SteamApps/common/Starbound/linux32/starbound_server: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory

  13. Hi, danke für die schöne Anleitung,
    bei mir gibt Steam eine minimale Downloadrate her, bei der geschwindigkeit dauert es Jahre, kann es an Port einstellungen liegen?
    Habe einen Dedi #. Linux Server

  14. @REDDE4D hast du ein 32Bit Wheezy? libfreetype kannst du mit apt-get install libfreetype6 installieren. Falls du ein 64Bit Wheezy nutzt, versuche anhand des aufklappbaren Punktes oben „32Bit Libraries auf 64Bit Debian 7“ dein Wheezy 64Bit mit den nötigen 32Bit libs auszustatten. Klappts damit?
    @Joego i.d.R. hat SteamCMD keine Begrenzung, aber sehr wohl in letzter Zeit etwas Probleme mit dem Speed. Wenn mal keine Probleme bestehen bei Valves Downloadservern sind 200Mbit+ Durchsatz aber ganz normal.

HINTERLASSE EINE ANTWORT