FiveM - Lua | PostRequest PHP

  • Guten Abend zusammen,


    ich bräuchte einmal einen kleinen Snippet für ein PostRequest via Lua, das ganze soll eine Abfrage an einen Server darstellen und dieser liefert auch ein Ergebniss zurück.


    Nun, als Beispiel, der Spieler verbindet sich ganz normal mit dem Server, aber bevor er den Server betritt macht der Server eine Abfrage an meinen Backend und benötigt also ein Ergebniss. Das Ergebniss ist True oder False.


    Sagen wir so.



    Der Server hat natürlich eine gewisse Struktur, diese sieht ungefähr so aus.


    Link Beispiel : example.com/check.php?ip=&playerLicense=&playerSteam=&playerXbl=&playerLive=&playerDisc Also wir fragen einmal alle vorhandenen ID's ab, dann schauen wir in der Datenbank ob ein Eintrag vorliegt oder nicht, ist kein Eintrag vorhanden gibt der Server ein Ok zurück anhand von einem json Array. Dann darf der Spieler sich verbinden, ansonsten wird das Drop Event ausgeführt und der Player darf den Server nicht betreten bis das Problem des Eintrag gelöst wurde.


    Beispiel Code


    Hat da eventuell Jemand eine Idee für mich bitte.


    Keiner?

    2 Mal editiert, zuletzt von Gemeiner Oger () aus folgendem Grund: Ein Beitrag von Gemeiner Oger mit diesem Beitrag zusammengefügt.

  • ich bräuchte einmal einen kleinen Snippet für ein PostRequest via Lua, das ganze soll eine Abfrage an einen Server darstellen und dieser liefert auch ein Ergebniss zurück.

    Was ist denn das Problem?


    Wenn der Request funktioniert und ein Ergebnis liefert, ist doch alles gut oder nicht?


    Worauf genau willst du denn eine Antwort oder einen Hinweis...deine Frage geht in deiner Erklärung irgendwie unter ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mein Ergebniss endet immer im NULL


    Code
    Returned data:{"status":"Found","result":{"ip":"Redacted","License Hash":null,"Steam ID":null,"XBox Live ID":null,"Live ID":null,"Discord ID":null},"reason":{"Ban Reason":null}}
  • Okay, aber wie machst du denn den Aufruf?


    Nutzt du jetzt POST oder GET?


    Denn zum einen machst du in LUA einen Post Aufruf, aber die URL und im PHP Skript nutzt du ja $_GET, anstatt $_POST.


    Mit dem print_r kannst du dir ja ausgeben, was denn nun eigentlich beim Server ankommt und das mal debuggen...

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Es kommt immer NULL zurück,

    Dann ist wohl etwas falsch mit dem Query...


    Probiers mal so:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich habe das Script nun ein klein wenig angepasst mit deinen Änderungen, nun bekomme ich im Log :


    AH01071: Got error 'PHP message: PHP Warning: Attempt to read property "playerLicense" on bool in /var/www/vhosts/domain.com/antijoin.domain.com/check.php on line 55PHP message: PHP Warning: Attempt to read property "playerSteam" on bool in /var/www/vhosts/domain.com/antijoin.domain.com/check.php on line 56PHP message: PHP Warning: Attempt to read property "playerDisc" on bool in /var/www/vhosts/domain.com/antijoin.domain.com/check.php on line 57PHP message: PHP Warning: Attempt to read property "banReason" on bool in /var/www/vhosts/domain.com/antijoin.domain.com/check.php on line 61'


    Entsprechend gibt der Server zurück null


    script:antijoin] Returned data:{"status":"Found","result":{"ip":"Redacted","License Hash":null,"Steam ID":null,"Discord ID":null},"reason":{"Ban Reason":null}}


    Das FiveM Script möchte ich noch nicht so wie es gerade ist Public machen, aber hier ein Snippet.



    Code
    PerformHttpRequest("https://antijoin.domain.com/check.php?ip=" .. ip .. "&playerLicense=" .. licenseId .."&playerSteam=".. steamId .. "&playerDisc=" .. discordId, function (errorCode, resultData, resultHeaders)
            
            print("Returned data:" .. tostring(resultData))
    
            if data ~= "Ok" then
                setKickReason("You are globally banned. Please visit : https://antijoin.domain for more infos. This is a global ban, any server with this systemem will block you! Bans can be lifted if a mistake was made! You have to proof it.")
            end
    
          end, "GET")

    Einen Fehler konnte ich anhand vom Webserver ausfindig machen, anstelle von 127.0.0.1 wurde ip:127.0.0.1 übergeben was natürlich zum falschen input führte, das konnte ich temporär beheben.


    Allerding wenn nun dann was gefunden wird wird der gewünschte kick nicht erzeugt.

  • Es wird dir keiner helfen Gemeiner Oger, da wir nicht wissen, wo jetzt das Problem ist.


    In welchen Zeilen treten genau die Fehler auf, wie sieht der Code aus.

    Was passiert, was soll passieren...

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S