PalWorld Gameserver (SteamCMD)

Aktuell führen wir noch einige Anpassungen durch, das Forum wurde jedoch bereits live geschaltet.
  • Hallo liebe Tekbase community,


    ich verzeiwfle bereits seid stunden daran einen PalWorld Server in Tekbase Spieleliste einzutragen....

    Ich habs schonmal geschaft das der Server installiert wird und auch gestartet wird lediglich der Gameserverport wird nicht auf gsport gesetzt und der Online Status Zeigt immer "Offline".

    GameQ und QStat gibt es soweit ich googeln konnte nicht für PalWorld.

    Weis da jemmand eine Lösung?



    //Edit by Official_ReMake

    Habs nun so gelöst das es über den Query mit ping angefragt wird. Danke euch für eure Mühen! =)


    Grüße
    Official_ReMake

    Beste Grüße
    Official_ReMake

    Einmal editiert, zuletzt von Official_ReMake ()

  • Hey,

    GameQ und QStat gibt es soweit ich googeln konnte nicht für PalWorld.

    Dazu arbeite ich schon eine neue Lösung aus. Die Onlinestatus-Abfrage funktioniert nicht, denn wie Du schon geschrieben hast, supported Palword kein GameQ und QStat oder andere Optionen. Eine neue Implementierung steht schon auf meiner Liste, wird zeitnahe mit dem PHP8.3-Update folgen. ;)

    Beste Grüße aus Gelsenkirchen,

    Björn Schleyer
    --
    Tel.: +49 (0) 209 - 513 070 50 | Fax: +49 (0) 209 - 513 070 59 | E-Mail: b.schleyer@schleyer-edv.de | Website: http://www.schleyer-edv.de

    Schleyer-EDV UG (haftungsbeschränkt) | Forsthauswinkel 6 | 45891 Gelsenkirchen-Erle | Deutschland
    Geschäftsführer: Björn Schleyer | Registergericht: Gelsenkirchen, HRB 17370 | USt-ID gemäß § 27a UStG: DE357436007

    TekLab Reseller-ID: 17618
    TekLab Freelance Entwickler

    TekLab Lizenzsupport - bschleyer@teklab.de statt service@teklab.de

  • Eine neue Implementierung steht schon auf meiner Liste, wird zeitnahe mit dem PHP8.3-Update folgen. ;)


    Da bin ich mal gespannt auf die neuer PHP8.3 Version.


    Wäre es nicht vorerst möglich den Status Mittels Ping zu prüfen ist zwar nicht genau aber immerhin würde es was anzeigen?


    Welcher Status muss denn zurück gegeben werden von den PHP Script das Online gezeigt wird da ich die GameQ Files nicht einsehen kann weis ich nicht genau wie ich es versuchen könnte.



    //Edit

    Mir viel gerade noch ein das es evtl. Wie bei Ark funkionieren könnte. Steam Games haben meistens den selben QueryPort. Ansonsten gäne es noch die möglich abzufragen ob der Screen läift und wenn ja sann als Online Zeigen.


    Grüße

    Official_ReMake

    Beste Grüße
    Official_ReMake

    2 Mal editiert, zuletzt von Official_ReMake ()

  • celltek danke dir das ist natürlich auch eine Läsung aber wie bekomme ich das dann im Panel auf den Server Status Projeziert? Wäre ja doof wenn dafür eine extra Seite benötigt wäre.😁



    Grüße

    Official_ReMake

    Beste Grüße
    Official_ReMake

  • Man könnte ein Gameserver Module einbauen und via iframe url abfragen oder baut sich aus Github eine API zusammen die man via JSON abfragt.

    IP, PORT, Gametag kann man im TekBASE abfragen und übergeben.

    https://github.com/gamedig/node-gamedig
    https://github.com/euvictorguedes/gamedig-api
    https://github.com/a-sync/gamedig-json-web-api


    Anbei ein Beispiel für Palworld, einfach hochladen im TekBASE Ordner. Im Kundenbereich Palworld Server abrufen und Status Seite anklicken ist einfach via iframe eingebunden. Shorttag sollte palworld sein.

  • Blank92 Was genau das der Status im Interface selbst angezeigt wird oder wie hast du dies nun gelöst? Ich würde halt gerne eine Statusabfrage das es wie auch von Tekbase alleine geprüft wird und man nicht extra irgendwo Klicken muss. Nur das es halt nicht über Qstat oder GameQ laufen.


    Grüß

    Official_ReMake

    Beste Grüße
    Official_ReMake

  • Guten Morgen kann mir jemand sagen wie ich von einen PHP Script was den Status prüft und jetzt sagt Online. Dies weiter geben kann an TekBASE? Damit letztendlich der Status auf Online gestzt wird ohne irgendwelche umwege via iFrame.


    Beste Grüße
    Official_ReMake

    Beste Grüße
    Official_ReMake

  • Ich mache die Status Abfrage via Pid, heißt wenn der Serverprozess läuft, wird der Server auch als Online angezeigt. Andere Interface Lösungen machen es auch nicht anders. Es braucht hier am Ende wieder nur ein Spiel rauskommen, welches ein neues Protokoll hat und schon geht die Problematik von vorn los. Eine Spieler oder Map Anzeige ist zwar schön, wenn es allerdings nur unzureichend funktioniert und Ladezeiten erfordert verzichtet man gerne drauf.


    Ich überlege hier auch zukünftig alle Spiele darauf umzustellen da Gameq u.a. schon enorm langsam ist und bei mehreren Servern im Profil es teilweise in Ladezeiten ausartet, während das auslesen via Pid ein richtiger Perfomance Gewinn ist.

  • Kann ich nur so bestätigen, Pid wäre hier wohl für TekBASE am besten und einfachsten umzusetzen ohne an div. Quellcode angewiesen zu sein, weiterhin könnte man dennoch für gewisse Spiele ein Status Module bereitstellen wo man weitere Informationen hinterlegen kann, aber wichtig ist eher der Status in TekBASE ob Online oder Offline.

  • @gamerzhost.de

    Die Idee mit der PID File ist ja ansich gut hatte ich mir auch bereits überlegt aber wie kann ich den Status von so einem Script an Tekbase zurückgeben das derStatus auf Online gesetzt wird? wie lautet die Variable die angesprochen werden muss. Möchte natürlich nicht extra alles ummodeln um eine neue einzufügen. Plaers und all sowas ist garnicht mal so wichtig finde ich nur der Status um zu prüfen ob etwas abgestürt ist oder überhaupt läuft.

    Beste Grüße
    Official_ReMake

    Beste Grüße
    Official_ReMake

  • Nun da wirst Du schon etwas Hand anlegen müssen. Das Interface selbst hat dafür keine Variablen.

    - Dazu muss unter Linux ein extra Skript geschrieben werden, welches den Screenprozess abfragt. Ist der Screenprozess vorhanden Rückgabe on oder Tekbase üblich ID1.

    - Der Screenprozess selbst setzt sich immer wie folgt zusammen server23790-X, also server<---Gameserverid--->-X


    auf Linux einfache Abfrage

    Code
    screenpid1=$(ps ax | grep server$VAR_A-X | grep SCREEN | awk '{print $1}')
    
    if [[ `echo "$screenpid1" | grep [[:digit:]]` ]] > /dev/null 2>&1 ; then
        echo ID1
    else
        echo ID2
    fi

    im Windows Deamon mache ich das via Powershell, dazu muss aber in der Gamestabelle der Prozesspfad hinterlegt sein.


    habe ich jetzt keinen Zugriff auf den Code, kann ich eigentlich nur versuchen die Onlineanzeige zu manipulieren indem ich die in den Serverdetails die div ID

    Code
    status_22762

    via Javascript manipuliere.


    Da ich wie der Björn andere Möglichkeiten habe, ist es so geregelt, das ich sobald ich bei qstats pid eintrage, die Pid angefragt wird. Das müsste aber Björn dann in seiner Version einbauen.

  • Hallöchen,

    wie gamerzhost.de bereits vorgeschlagen hat, wäre eine Prozessabfrage die einzig sinnige Option. Ich werde erstmal den Support für PHP8 bereitstellen mit einigen Fixes und Anpassungen.

    Nachdem werde ich die einzelnen Module vollständig überarbeiten. Dabei werde ich wahrscheinlich auf Prozesse direkt auf dem Server zurückgreifen und bei Bedarf noch einen Portcheck einfügen. Bis ich das Update jedoch präsentieren kann, wird es noch etwas andauern - da ich noch einige Antworten von Christian abwarten müsste.

    Die Idee von celltek werde ich ebenfalls berücksichtigen und ist bereits auf unserer Todo vermerkt.

    Beste Grüße aus Gelsenkirchen,

    Björn Schleyer
    --
    Tel.: +49 (0) 209 - 513 070 50 | Fax: +49 (0) 209 - 513 070 59 | E-Mail: b.schleyer@schleyer-edv.de | Website: http://www.schleyer-edv.de

    Schleyer-EDV UG (haftungsbeschränkt) | Forsthauswinkel 6 | 45891 Gelsenkirchen-Erle | Deutschland
    Geschäftsführer: Björn Schleyer | Registergericht: Gelsenkirchen, HRB 17370 | USt-ID gemäß § 27a UStG: DE357436007

    TekLab Reseller-ID: 17618
    TekLab Freelance Entwickler

    TekLab Lizenzsupport - bschleyer@teklab.de statt service@teklab.de