WBB_Connect 3.0 - Verbinde Server mit Forum

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link

  • new Webseite[2000];
    new HTTP_Status = SynchronizedHTTP("www.example.com", "", Webseite, sizeof Webseite, HTTP_GET);
    if(HTTP_Status == 200)
    {
    printf("Die Seite wurde erfolgreich geladen.\nInhalt: %s", Webseite);
    }
    else
    {
    printf("Die Seite konnte nicht geladen werden. Status: %d",HTTP_Status);
    }

  • Also wenn ich das so einfüge statt example unsere domain kommt das:


    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3x-R2, (C)2005-2013 SA-MP Team


    [16:18:06]
    [16:18:06] Server Plugins
    [16:18:06] --------------
    [16:18:06] Loading plugin: mysql.so
    [16:18:06]


    > MySQL plugin R8 (google code Revision 5) successfully loaded.


    [16:18:06] Loaded.
    [16:18:06] Loading plugin: sscanf.so
    [16:18:06]


    [16:18:06] ===============================


    [16:18:06] sscanf plugin loaded.


    [16:18:06] Version: 2.8.1


    [16:18:06] (c) 2012 Alex "Y_Less" Cole


    [16:18:06] ===============================


    [16:18:06] Loaded.
    [16:18:06] Loading plugin: streamer.so
    [16:18:06]


    *** Streamer Plugin v2.6.1 by Incognito loaded ***


    [16:18:06] Loaded.
    [16:18:06] Loading plugin: SyncHTTP.so
    [16:18:06] SyncHTTP got loaded.
    [16:18:06] Loaded.
    [16:18:06] Loaded 4 plugins.


    [16:18:06]
    [16:18:06] Filterscripts
    [16:18:06] ---------------
    [16:18:06] Loading filterscript 'neon.amx'...
    [16:18:06] Loaded 1 filterscripts.


    [16:18:11]
    === WBB_Connect ===
    Error: Bad response from server: -1
    ===================


    [16:18:11] Es gab einen Fehler, und WBB_Connect konnte nicht initialisiert werden.
    [16:18:11] ... GamemodeInit
    [16:18:11] SERVER: Verbindung zur Datenbank wurde erfolgreich hergestellt.
    [16:18:11] Host: localhost,User: *****,Datanbank: *****,Passwort: ******
    [16:18:11] --------------------------------
    [16:18:11] Laden ...
    [16:18:11] - Globale Timer gestartet. | Bots connected. -
    [16:18:11] Laden erfolgreich.
    [16:18:11] --------------------------------
    [16:18:11] - Server brauchte für das Hochfahren 30 ms -
    [16:18:11] Server bereit für Spieler ... Sanktionen können nun ausgeführt werden.


    Kein plan wodran es liegt xD

  • Den Key muss ich ja in der WBB_Connect bei WBB selber erstellen/eintragen und habe das auch so im Script und ja ahbe alles genau so gemacht :)


    Oder muss ich da noch iwelche Callbacks rein machen im Script ? :)


    Jetzt steht das da drin:


    [16:32:45] Script[gamemodes/hauptscript.amx]: Run time error 3: "Stack/heap collision (insufficient stack size)"

  • sry hab vorhin den falschen code gesendet, nimm den^^

    main ()
    {
    if(WBB_Initialize("forum.itwist.de", "der_auth_key"))
    {
    printf("WBB_Connect wurde erfolgreich initialisiert!");
    }
    else
    {
    printf("Es gab einen Fehler, und WBB_Connect konnte nicht initialisiert werden.");
    SendRconCommand("exit");
    }
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Huhu


    Erstmal: sehr geil! Hat auf anhieb funktioniert mit der Verbindung :)


    Dennoch habe ich ein Problem:


    Wenn ich einen Forenaccount bei der Registrierung erstellen will, "stürzt" der Server mit folgender crashdetect Meldung aus:


    Code
    [22:57:31] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [22:57:31] [debug]  Stack pointer (STK) is 0x1CDCCC, heap pointer (HEA) is 0x1CDCC8
    [22:57:31] [debug] AMX backtrace:
    [22:57:31] [debug] #0 00007bac in public SSCANF_OnFilterScriptInit (... <3 variable arguments>) at D:\Dokumente\Dropbox\Programme\SAMP\07_Pawno\include\wbb_connect.inc:937
    [22:57:31] [debug] #1 00007b6c in public SSCANF_OnFilterScriptInit (... <3 variable arguments>) at D:\Dokumente\Dropbox\Programme\SAMP\07_Pawno\include\wbb_connect.inc:489
    [22:57:31] [debug] #2 001b0914 in MySQLRegistration (playerid=0) at D:\Dokumente\Dropbox\Programme\SAMP\08_Server\01_Scripts\EGC_0.5.pwn:22343
    [22:57:31] [debug] #3 000121ec in public OnDialogResponse (playerid=0, dialogid=2, response=1, listitem=-1, inputtext[]=@0x001cdc74 "raphi.boos@gmail.com") at D:\Dokumente\Dropbox\Programme\SAMP\08_Server\01_Scripts\EGC_0.5.pwn:2434


    Ich kann dabei in meinem Code irgendwie nichts finden.. Ausserdem kam da nur das WBB_CreateUser dazu. Email und Passwort (nicht gehasht) kommen in einer Variable:



    Eine Idee?


    MFG selEcT

  • Du kannst in deinem Script, über #include <wbb_connect> folgende Direktiven nutzen:

    #define WBB_CONNECT_ENABLE_DEBUG

    Damit aktivierst du den Debug-Modus. Das Ergebnis davon steht in der log Datei. Poste das hier bitte einmal.


    Diese kannst du auch nutzen. Damit passt du den Cache in der Include an.
    Du kannst sie etwas erhöhen, und versuchen damit Fehler zu beheben:

    #define WBB_CONNECT_POST_SIZE 2048
    #define WBB_CONNECT_MAX_POST_SIZE 1536
    #define WBB_CONNECT_MAX_RESULT_BUFFER 768

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.


  • Also, hab da mal ein bisschen rumprobiert.
    Das Debuggen hat nichts gebracht, ist unabhängig. Das Script kommt nicht mal so weit...
    Und auch die anderen defines haben keine Auswirkung, höchstens ne andere Fehlerausgabe (die leider auch nichts sagt)..


    Hab mal in deiner Include ein bisschen "gedebuggt". Irgendwie hat der Server ein Problem mit


    Code
    SendAPIRequest ( postData , buffer , sizeof buffer );


    da er alles vorher ausgibt (mit print) und das nachher nicht.


    Wenn ich die buffer variable mit WBB_CONNECT_MAX_RESULT_BUFFER definiere, funktioniert es auch nicht. Also irgendwie hat SendAPIRequest ein Problem :/



    edit:


    irgendwie passt das bei SendAPIRequest nicht ganz, hab WBB_CONNECT_POST_SIZE auf 1536 gesetzt und nun gehts!
    Allerdings wird ein Account trotzdem erstellt, wenn es die E-Mail-Adresse bereits gibt im Forum! Und ausserdem sieht es so aus, als ob der User keine Aktivierung braucht.. Muss ich noch weiteres in den Berechtigungen einstellen?


    Edit2: na, schon rausgefunden, warum die user keine aktivierung brauchen und warum man die selbe Email verwendet werden kann?

  • Es gibt ja die Funktion WBB_GetUserID ;)


    Ich hab allerdings beim Erstellen des Users die ID in die DB geschrieben und hol die von dort wieder raus ;)


    Es gibt ja die Funktion WBB_GetUserID ;)


    Ich hab allerdings beim Erstellen des Users die ID in die DB geschrieben und hol die von dort wieder raus ;)


    ohman stimmt ja^^
    Klingt eig einfacher also tust du den user erstellen, dann die id auslesen lassen und für den spieler als vari?


    //e
    Wenn ich jmd bannen möchte kommt, das er keine Permissions hat, wo kann ich das ändern?
    Hab im wbb nichts gefunden

  • Edit2: na, schon rausgefunden, warum die user keine aktivierung brauchen und warum man die selbe Email verwendet werden kann?

    Nein noch nicht. Ich sehe mir das mal an.

    ohman stimmt ja^^
    Klingt eig einfacher also tust du den user erstellen, dann die id auslesen lassen und für den spieler als vari?


    //e
    Wenn ich jmd bannen möchte kommt, das er keine Permissions hat, wo kann ich das ändern?
    Hab im wbb nichts gefunden

    Um es noch einfacher zu machen: CreateUser gibt sogar die neue Benutzer ID zurück.
    Also falls die Funktion nicht USER_ALREADY_EXISTS oder EMAIL_ALREADY_EXISTS zurück gibt, gibt sie immer die ID des neuen Benutzers zurück. Damit sparst du dir einen Aufruf und ein paar Millisekunden :)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.


  • ohman stimmt ja^^
    Klingt eig einfacher also tust du den user erstellen, dann die id auslesen lassen und für den spieler als vari?


    //e
    Wenn ich jmd bannen möchte kommt, das er keine Permissions hat, wo kann ich das ändern?
    Hab im wbb nichts gefunden


    Wie Hauke gesagt hat, direkt createuser in variable speichern, diese in der DB speichern und dann jederzeit auslesen (z.B. Gruppenzuweisung o.ä.).


    Warum Permissions beim Bannen? Gebannt ist gebannt ;)


    edit:


    ganz einfach:
    Player[playerid][pForumID] = WBB_CreateUser(blabla);
    SavePlayer(playerid); //oder halt dein DB speicher zeugs