BungeeCord Crack/Premium

Dieses Thema im Forum "Programmierung" wurde erstellt von Paulomart, 4. Dezember 2013.

  1. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Hallo,

    ich bastele grade ein bisschen an BungeeCord rum, unteranderen mit den Ziel Premium zuerkennen.

    Soweit habe ich die gesamte Autorisierung auseinander genommen. Mein Problem ist, dass wenn ich als hash nicht "-" sende, nicht Premium Clients garnicht auf den Server kommen.. :(

    Code für den Hash:

    Code (Text):
    1. public static PacketFDEncryptionRequest encryptRequest164(boolean onlinemode)
    2.     {
    3.         //1.6.x
    4.         String hash = ( onlinemode ) ? Long.toString( random.nextLong(), 16 ) : "-";
    5.         byte[] pubKey = keys.getPublic().getEncoded();
    6.         byte[] verify = new byte[ 4 ];
    7.         random.nextBytes(verify);
    8.         return new PacketFDEncryptionRequest( hash, pubKey, verify );
    9.     }
    Muss man irgentwas anderes machen^^ ?


    Vielen Dank im Vorraus für eure Vorschläge ;)
     
    #1
  2. Chrisliebaer
    Online

    Chrisliebaer

    Vielleicht versteh ich dein Problem nicht, aber es ist durchaus so beabsichtigt, dass die Clients, die offline laufen die Verbindung abbrechen, wenn sie eine Challange gestellt bekommen. Die Prüfung muss daher bereits vorher erfolgen. So war es jedenfalls früher, mit dem ganzen neuen JSON Blödsinn weiß ich auch nichtmehr, wie es genau läuft, aber ich denke mal, da hat sich nichts geändert.
     
    #2
  3. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Schon klar :D

    Aber ich brauche doch den sharedKey um bei Mojang zugucken ob der User Premium ist oder?
     
    #3
  4. Chrisliebaer
    Online

    Chrisliebaer

  5. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Das ist ja nur um zugucken ob ein Accoutname generel Permium ist, aber wenn jemand einfach irgentein Namen nimmt, z.B. "Notch" liefert das trotzdem True..

    Dann würde ich das Packet mit n Hash schicken und der User würde ein Dissconnect bekommen. Es soll ja nur geprüft werden ob der User im moment eine gültige Session hat, um ihn sowas wie /login zuersparen.
     
    #5
  6. Chrisliebaer
    Online

    Chrisliebaer

    Bist du sicher, dass so etwas geht? Ich spiele nur selten Minecraft und hab keine Ahnung, ob es Server gibt, die soetwas nutzen, jedoch denke ich, dass es nicht möglich ist.
     
    #6
  7. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    #7
  8. ChunkNorris
    Online

    ChunkNorris

    BungeeCord hat so ein feines PreLoginEvent, indem du den online-mode der connection bestimmen kannst. Das Event ist asynchron, so das du auch blockende Sachen machen kannst bevor das Event beendet wird. Und Mojang bietet auf Github auch den Quellcode einer Auth-API für Yggdrasil. Dort schickst du die UUID des Users hin und bekommst dann Infos zurück.

    EDIT: https://github.com/Mojang/AccountsClient
     
    #8