Gameserver nicht via Image sondern via Steamcmd installieren

Aktuell führen wir noch einige Anpassungen durch, das Forum wurde jedoch bereits live geschaltet.
  • Da wir gerade danach gefragt wurden ob es möglich wäre, keine Images zu verwenden. Ja, dazu brauchen wir ein Image *G* . Was jedoch nur die steamcmd und eine start.sh beinhaltet.


    Die start.sh bekommt vom Webinterface das Startskript übergeben. Das heißt man müsste nun anstelle von


    ./srcds_run ... ... ...


    folgendes schreiben


    ./start.sh ./srcds_run ... ... ...


    Das wird dann an die /home/skripte/gserver übergeben


    ./gserver start kunde verzeichnis "startskript"


    Jetzt kommt das wichtigste. Wir benötigen eine start.sh mit diesem Inhalt.


    Getestet habe ich es jetzt noch nicht aber so sollte es funktionieren. Das erste steamcmd wird ausgeführt um die selbige gegebenfalls zu updaten. 740 ist die ID des Spieles. Anstelle eines echo "installed" könnte man den Prozess steamcmd noch einmal ausführen um eine Uptodate Meldung oder ähnliches abzufangen und dann zu verwenden.

    Bitte die Forumsuche und das Handbuch verwenden. Wenn die Suche erfolglos war, bitte ein Thema erstellen und das Problem ausführlich beschreiben. Dieser Ablauf spart Zeit und unnötige Fragen zu immer gleichen Problemen. Sie können aber auch im Kundenbereich ein Support-Ticket erstellen.


    Gefällt Ihnen TekLab? facebook-1.pngtwitter-1.pnglinkedin-1.png

    Einmal editiert, zuletzt von CFrankenstein ()

  • Wird sooooo nicht funktionieren ;)

  • Hallo,


    warum baust du nicht einfach ein Modul in denn man sagen Kann spiel xyz und dann die Id und dann welchen Ordner der Ordner haben soll.


    Und dann löst du über ssh einen Install aus der diese Daten übernimmt.


    Macht die sache denke ich einfacher für alle.

    Freut euch, der sata1 ist wieder da.^^




    Ich bin nicht online, aber ihr wollt was wissen von mir. Dann schreibt mir eine Mail per Pn hier im Forum.

  • Ich nehme zwar an das dies an @CFrankenstein gerichtet gewesen ist, jedoch ist dies mit lediglich 2 zeilen code je/start.sh (sofern das spiel steamCMD benutzt) möglich...
    Sezzt aber wiederum gewissen bash kentnisse vorraus...

  • Manchmal muss man auch erst in den Code sehen aber es war schon spät-


    Im Installer gibt es bereits die Abfrage ob im Image eine install.sh vorhanden ist. Diese wird dann während des Installprozesses ausgeführt und nicht wie hier im Beispiel beim Start des Gameservers.


    Hierzu müsste man in der install.sh prüfen in welchem Verzeichnis man sich befindet und welchem user dies gehört. Damit dann die steamcmd als user ausgeführt wird. Der Rest könnte wie oben genutzt werden. Zusätzlich in der start.sh trotzdem die if installed Abfrage, falls hier der Installationsprozess crasht.

    Zudem könnte man im Skript die steamcmd auch nach /home/steamgames/740 kopieren falls noch nicht vorhanden und dort ausführen. Danach oder falls die Datei schon vorhanden ist wird alles was in /home/steamgames/740 vorhanden ist in den jetzigen Ordner kopiert. So wird im Grunde der Gameserver nur einmal installiert und von dort aus dem Kunden reinkopiert. Was beim Kunden das Downloaden des gesamten Spieles unnötig macht.


    So zum Updaten legt man einen Cronjob an, der am besten morgens um 4Uhr im Verzeichnis /home/steamgames alle Verzeichnisse durchgeht und


    cd VERZEICHNISNAME
    ./steamcmd +login anonymous +force_install_dir ./ +app_update VERZEICHNISNAME validate quit
    cd ..


    ausführt. Der Verzeichnisname wäre praktischerweise die Steamid. Fertig aus. Neu installierte Gameserver können dann direkt von /home/steamgames/ kopiert werden und sind somit immer aktuell.


    Das ist jetzt nur eine Idee und ungetestet.

    Bitte die Forumsuche und das Handbuch verwenden. Wenn die Suche erfolglos war, bitte ein Thema erstellen und das Problem ausführlich beschreiben. Dieser Ablauf spart Zeit und unnötige Fragen zu immer gleichen Problemen. Sie können aber auch im Kundenbereich ein Support-Ticket erstellen.


    Gefällt Ihnen TekLab? facebook-1.pngtwitter-1.pnglinkedin-1.png

    2 Mal editiert, zuletzt von CFrankenstein ()