WBB_Connect Anleitung - Server mit Forum verbinden

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
  • WBB_Connect Anleitung

    Version 1, für WBB_Connect 2.0


    Im Folgenden findest du eine kleine Anleitung, wie WBB_Connect richtig benutzt wird. Viele verwenden es völlig falsch, und ausreichende Anleitungen habe ich bisher noch nicht gefunden.
    Zudem enthält diese Anleitung eine genaue Beschreibung wie Fehler gefunden werden können.



    Teil 1: Installation und Benutzung
    Dieser Teil der Anleitung bezieht sich auf die korrekte Installation des WBB_Connects. Des Weiteren werde ich kurz auf das Scripting eingehen.
    Diese Anleitung ist unterteilt in 5 Kapitel:

    • Der Download und das Entpacken
    • Die Installation der WBB_Connect API
    • Die Installation des Filterscripts
    • Die Integration in das Script
    • Die richtige Verwendung der Funktionen



    • Download und Entpacken

      Gehe auf den offiziellen Thread des WBB_Connects und lade dir das Gesamte Paket herunter. Du erhälst ein gepackes Archiv, welches zu mit dem Programm Winrar entpacken kannst. Nach dem Entpacken erhälst du 2 Ordner, eine Zip Datei, und eine PHP Datei. Die Zip Datei darf nicht entpackt werden!

    • Installation der API

      Im WBB_Connect zu verwenden musst du die API auf dem Webspace installieren auf dem sich dein Forum befindet. In dem vorherigem Schritt hast du das Archiv extrahiert und eine .zip Datei und eine .php Datei erhalten. Nun öffnest du dein FTP Programm (Ich bin ein Fan von Filezilla) und navigierst zu dem Hauptordner deines Burning Boards. Dort lädst du die Dateien "wbb_connect.zip" und "wbb_connect_install.php" hoch. Nach dem Hochladen öffnest du deinen Browser und gibst den Pfad zu deinem Forum ein. Als Datei gibst du "wbb_connect_install.php" an. Somit sieht der Link z.B. so aus: "www.deine-domain.de/forum/wbb_connect_install.php". Es kommt ein Installations-Manager welcher ungefähr so aussieht:

      Dort folgst du den Anweisungen, bis das letzte Fenster kommt, und die Installation vollständig ist. Dieser Moment ist sehr wichtig, da dir dort der Authentifikationsschlüssel angezeigt wird. Diesen musst du dir auf jeden Fall notieren!

      Nur mit diesem Authentifikationsschlüssel kann das WBB_Connect genutzt werden! Gehe also doppelt sicher, dass du den Key richtig kopiert / notiert hast.


    • Installation des Filterscripts

      In dem extrahiertem Ordner "filterscript" befindet sich die "wbb_connect.amx". Diese musst du in deinem Server in den filterscripts Ordner kopieren. Dann öffnest du die server.cfg und schreibst wbb_connect an erster Stelle zu den Filterscripts.

    • Integration in das Script
      WBB_Connect wurde nun komplett installiert, nun muss es nur noch dem Script hinzugefügt werden. Dafür kopierst du die "wbb_connect.inc" Include aus dem Ordner "include" in den Include Ordner deiner IDE. Bei Pawno heißt dieser Ordner "include" und befindet sich in dem Verzeichnes der Anwendung. Um die Include dem Script hinzuzufügen schreibst du diese Zeile nach ganz oben in dein Script:#include <wbb_connect>Nun fehlen nur noch die Callbacks. Dafür musst du nur die folgenden Zeilen in dein Script einfügen:public WBB_GotPostUser ( Index , Username[ ] ) {
      return 1;
      }


      public WBB_GotThreadStarter ( Index , Username[ ] ) {
      return 1;
      }


      public WBB_GotUserActivationCode ( Index , ActivationCode[ ] ) {
      return 1;
      }


      public WBB_GotUserActivationState ( Index , State ) {
      return 1;
      }


      public WBB_GotUserAge ( Index , Age ) {
      return 1;
      }


      public WBB_GotUserFriendState ( Index , State ) {
      return 1;
      }


      public WBB_GotUserGroupState ( Index , State ) {
      return 1;
      }


      public WBB_GotUserID ( Index , UserID ) {
      return 1;
      }


      public WBB_GotUserOnlineState ( Index , State ) {
      return 1;
      }


      public WBB_GotUserPasswordCheckState ( Index , State ) {
      return 1;
      }


      public WBB_GotUserTitle ( Index , Title[ ] ) {
      return 1;
      }


      public WBB_GotUserValidState ( Index , State ) {
      return 1;
      }


      public WBB_OnInitialize ( State ) {
      return 1;
      }


      public WBB_PostAdded ( Index ) {
      return 1;
      }


      public WBB_PostDeleted ( Index ) {
      return 1;
      }


      public WBB_PostEdited ( Index ) {
      return 1;
      }


      public WBB_PostTrashed ( Index ) {
      return 1;
      }


      public WBB_ThreadAdded ( Index , ThreadID ) {
      return 1;
      }


      public WBB_ThreadDeleted ( Index ) {
      return 1;
      }


      public WBB_ThreadSticked ( Index ) {
      return 1;
      }


      public WBB_ThreadUnsticked ( Index ) {
      return 1;
      }


      public WBB_UserAdded ( Index ) {
      return 1;
      }


      public WBB_UserAvatarDisabled ( Index ) {
      return 1;
      }


      public WBB_UserAvatarEnabled ( Index ) {
      return 1;
      }


      public WBB_UserBanned ( Index ) {
      return 1;
      }


      public WBB_UserDisabled ( Index ) {
      return 1;
      }


      public WBB_UserEnabled ( Index ) {
      return 1;
      }


      public WBB_UserRemovedFromGroup ( Index ) {
      return 1;
      }


      public WBB_UserSettedToGroup ( Index ) {
      return 1;
      }


      public WBB_UserSignaturDisabled ( Index ) {
      return 1;
      }


      public WBB_UserSignaturEnabled ( Index ) {
      return 1;
      }


      public WBB_UserUnbanned ( Index ) {
      return 1;
      }Diese Callbacks werden immer Aufgerufen, nachdem eine Funktion des WBB_Connects ausgeführt wurde. Die Callbacks enthalten die "Antworten" der Funktionen.

    • Verwendung der Funktionen

      Nun kann der gesamte Umfang des WBB_Connects genutzt werden. Doch bevor die Funktionen im Script ausgeführt werden können muss das Filterscript Initialisiert werden.
      Die Funktion WBB_Initialize ( Adress[ ] , AuthKey[ ] ) ist dafür zuständig. Also kopierst du diese Funktion unter OnGameModeInit und setzt die entsprechenden Parameter ein. "Adress" ist der Pfad indem sich dein Forum befindet, und "AuthKey" ist der Authentifikationsschlüssel, den du dir bei der Installation der API notiert hast.
      Somit sieht OnGameModeInit Beispielweise so aus:


      public OnGameModeInit()
      {
      WBB_Initialize("www.deine-domain.de/forum/", "d22123e6ec0e541e6300");
      UsePlayerPedAnims();
      ManualVehicleEngineAndLights();

      Um nun zu Testen ob die Verbindung erfolgreich war, prüfen wir das in dem Callback WBB_OnInitialize. Wenn die Variable "State" 1 ist, so war die Initialisierung erfolgreich, und alle Funktionen können uneingeschränkt genutzt werden. Überprüfen können wir das z.B. so:


      public WBB_OnInitialize(State)
      {
      if(State)
      {
      print("WBB_Connect: Initialisierung erfolgreich!");
      }
      else
      {
      print("WBB_Connect: Fehler bei Initialisierung");
      SendRconCommand("exit");
      }
      return 1;
      }

      Grundlegend gilt:

      Die Funktionen des WBB_Connects geben keine Informationen zurück! Bei dem Aufruf des jeweiligen Callbacks sind die Informationen enthalten!
      Wenn du Funktionen spezifisch für z.B. einen Spieler aufrufen möchtest, kannst du die playerid den Funktionen als optionalen Index mitgeben. Die playerid ist dann im Callback als Variable "Index" vorhanden. So sind flüssige Abläufe realisierbar.
      Hier ein Beispiel, indem für einen Spieler geprüft wird, ob er einen Forumaccount hat:


      public OnPlayerCommandText(playerid, cmdtext[])
      {
      if(!strcmp("/forumcheck", cmdtext, false))
      {
      new Name[MAX_PLAYER_NAME];
      GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
      WBB_IsValidUser(Name, playerid);
      return 1;
      }
      }
      public WBB_GotUserValidState(Index, State)
      {
      if(State)
      {
      SendClientMessage(Index, 0xFFFFFF, "Du besitzt einen Forumaccount!");
      }
      else
      {
      SendClientMessage(Index, 0xFFFFFF, "Du besitzt leider keinen Forumaccount!");
      }
      return 1;
      }


    Teil 2: WBB_Connect Fehler aufspüren
    Manchmal kann es sein, dass das WBB_Connect einfach nicht funktionieren will. Dann werden dir vom WBB_Connect Fehlercodes angezeigt, die du höchstwahrscheinlich nicht verstehst.
    Für diese Fälle gibt es den WBB_Connect Helper.


    Programm Benutzung
    Lade dir den WBB_Connect Helper herunter, und befolge diese leichte Schritt für Schritt Anleitung:

    • Starte das Programm
    • Gib den Pfad zum Forum ein. Diese muss dem Pfad im Script identisch sein!
    • Gib den Authentifikationsschlüssel ein, den du dir nach der API Installation notiert hast
    • Wähle eine der vorgegebenen Operationen aus
    • Klicke auf "Abschicken"

    Auswertung der Ergebnisse
    In der Konsole unten werden dir nun die einzelnen Schritte angezeigt.
    Zu jedem Schritt gibt dir das Programm eine kleine Auswertung.
    In diesem Bild kann man durch die Konsole schnell den unscheinbaren Fehler finden:


    Sollte eine Operation weitere Parameter brauchen, so erscheint eine kleine Box, bei der du aufgefordert wirst, diese einzugeben:


    Return 0 bedeutet immer, dass eine Funktion erfolgreich ausgeführt wurde, und der Status 0 = negativ ist.
    Bei return 1 ist dies das selbe, nur dass der Status 1 = positiv ist:


    Die Antwort in der Konsole ist nicht selbsterklärend?
    Das kann ein paar Gründe haben, denn nicht alle Fehlermeldungen sind im WBB_Connect Helper implementiert. Deshalb werde ich hier eine Liste mit "komischen", bzw. unlesbaren Fehlercodes erstellen.
    Diese wird sich mit der Zeit füllen. Falls dein Fehler nicht hier steht, poste ihn in diesem Thread (oder in diesen ), und ich werde dir helfen.
    Mögliche nicht selbsterklärende Fehler:

    • Es wird ein sehr langer Quellcode angezeigt
      Das liegt daran, dass der HTTP Request von deinem Server umgeleitet wird. Du solltest den absoluten Pfad benutzen, und ggf. .htaccess Dateien überprüfen.
    • Halbe Rückgabe, z.B. "6 at ":
      Ein interner API Fehler. Poste deinen kompletten Ablauf in diesem Thread, damit dir geholfen werden kann.


    Ich hoffe ich konnte euch hiermit den Einstieg in die Verwendung von WBB_Connect vermitteln.
    Feedback und weitere Rückmeldungen sind natürlich gerne gesehen :)



    Bei schlechter Ausdrucksweise, Fehlern oder sonstigem bitte einfach kurz Bescheid sagen. Ich habe das Nachts - etwas übermüdet - geschrieben.
    Alle Codes wurden direkt in den Browser getippt und nicht getestet!

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

    2 Mal editiert, zuletzt von |-|auke () aus folgendem Grund: Code sauberer dargestellt Überschrift

  • Guten Tag,


    ich wollte dich einfach mal für dieses Tutorial loben.
    Es ist sehr gut strukturiert, und es wird mir, zu einem späteren Zeitpunkt, sehr weiterhelfen.
    Desweiteren muss man anmerken, dass du dir sehr viel Mühe gegeben hast, und dies
    spiegelt auch diesen Thread wieder.


    Viele Grüße
    Chris

  • Sehr schön erklärt !


    Zitat

    Im Folgenden findest du eine kleine Anleitung, wie WBB_Connect richtig benutzt wird. Viele verwenden es völlig falsch, und ausreichende Anleitungen habe ich bisher noch nicht gefunden.
    Zudem enthält diese Anleitung eine genaue Beschreibung wie Fehler gefunden werden können.

    Gibt es nicht schon ein Tutorial was eigentlich sehr gut erklärt wurde? (Jedoch nicht so viel wie hier ^^)

  • Danke!
    Naja, es gibt ein Tutorial, indem allerdings hauptsächlich Codes ohne Erklärungen stehen. Zudem steht da nichts über die Callbacks, die schließlich von elementarer Bedeutung sind.

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Bei dem Fehlersuchprogramm kommt bei mir das(hab auf Operation Initialize geschalten):


    Adresse ist erreichbar. Suche nach WBB_Connect API...
    WBB_Connect API wurde nicht gefunden.


    Was soll ich jetzt machen? Bzw. wie füg ich das API dazu? Oder muss ich es neuinstallieren (was ich aber gerade gemacht habe ?( )


    - Tomsen



    Einmal editiert, zuletzt von Tomsen ()

  • Hey,


    ich probiere schon seit einer Weile WBB Connect erfolgreich zu benutzen.
    Das einzige Problem woran es scheitert:


    Er verbindet sich nicht richtig mit dem Forum.


    Also,


    ich hatte es zum allererstem mal auf meinem alten Webspace installiert. Da ging alles.
    Als
    ich es mit dem neuen Forum versucht habe (Daten hab ich nur im Script
    umgeschrieben, den Rest so gelassen weil ich das Forum vom alten auf den
    neuen Webspace gezogen habe)
    ging es nicht mehr.
    Seit dem hab ich es auch schon paar mal neu installiert.


    Es kommt in der Serverkonsole immer das:

    Code
    === WBB_Connect: ===
    An error occurred!
    
    
    WBB_Connect interface response: 1 at 
    ====================


    Beim alten Forum hatte es geklappt einen Account bei Registrierung auf dem Srver zu erstellen, aber hier wie gesagt nicht. :(


    Könnt ihr mir sagen woran das liegt? Villt. am Umzug damals?


    - Tomsen



    6 Mal editiert, zuletzt von Tomsen ()

  • Habe ebenfalls das gleiche Problem :/
    Der Connect Helper sagt folgendes:

    Code
    10.03.2013 12:49:54: Erfolg: Authentifizierungsschlüssel ist korrekt
    10.03.2013 12:49:55: Adresse ist erreichbar. Suche nach WBB_Connect API...
    10.03.2013 12:49:55: WBB_Connect API wurde gefunden. Operation wird ausgeführt...
    10.03.2013 12:49:55: true: 0x7E5


    Dort funktioniert es also.
    Auf meinem Server jedoch, mit der selben Adresse und selbem Key:

    Code
    [13:00:45] 
    === WBB_Connect: ===
    An error occurred!
    
    
    WBB_Connect interface response: 1 at 
    ====================


    Ich habe auch mal manuell die Seite so aufgerufen: wbb_connect_api.php?op=Initialize&authKey=... - Auch im Browser bekomme ich den Rückgabewert, den ich auch im Connect Helper erhalte.
    Ich kann mir also beim besten Willen nicht erklären, wieso das im Script nicht funktioniert, während es überall sonst klappt.
    Läuft alles zum ersten Mal, also gestern erst das Forum aufgesetzt und direkt danach WBB_Connect installiert. Neuinstallation würde wohl nichts bringen, da es ja eigentlich (im Browser & Helper) funktioniert.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Für das WBB? Soll ich also alle Plugins deinstallieren um zu schauen, welches das ist (Startseiten-Plugin habe ich nicht)?
    Wie gesagt, nur im Script funktioniert es nicht.


    edit: Habe jetzt das Forum auf einen anderen Server geladen, dort funktioniert es. Scheinbar lag es also am Hoster square7.ch

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

    Einmal editiert, zuletzt von Padarom ()