Minecraft Login für Launcher

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Gangsterkrafter.

    Minecraft Login für Launcher

    Guten Tag,
    ich bin mir momentan meinen Eigenen Minecraft Launcher in VB am erstellen mein Problem ist nur, dass Minecraft schon seid längeren über das System authserver.mojang.com/authenticate und nicht mehr über login.Minecraft.net etc. arbeitet.
    Ich verstehe das neue System nicht wirklich also wie ich JSON daten an die Seite senden kann um ein Response zu bekommen. Ich suche schon vergeblich seid stunden nach einer lösung im Internet und finde entweder nur Java, Python oder C++ dateien die mir nicht wirklich weiterhelfen, was das angeht. Deswegen wollte ich jetzt hier mal im Forum nachfragen, ob mir jemand dazu helfen kann.
    Vielen dank schonmal im vorraus! ^^

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Erstmal :thumbsup: Willkommen im Forum :thumbsup:

    Du brauchst Json Richtig?

    Dann Erstmal : Newtonsoft.Json (.dll) Herunterladen
    Falls du nicht weisst wie man die .dll Datei Hinzufuegt: Add Reference MSDN

    Dann wenn Importiert in deinem Code einmal Folgendes Hinzufuegen:

    VB.NET-Quellcode

    1. Imports Newtonsoft.Json


    In der Zeit suche ich dir dann mal den Request Link raus.
    Ich glaube Das Hier Solltest du dir Gruendlich Durchlesen, dann hast du wahrscheinlich dein Problem Schon Geloest:
    Minecraft Wiki -> Authentication



    Die URL Nutzt Json Formatierte Parameter per POST.
    So sieht Das Format aus in dem man das per POST senden Muss:

    JSON-Quellcode

    1. {"agent": { "name": "Minecraft", "version": 1 }, "username": "example", "password": "hunter2"}


    Bedeutet, du Musst mit Newtonsoft, Die Daten in dieser Json Struktur Serialisieren und den String dann per POST and die Seite senden.

    Das hier ist evtl. Nuetzlicher: Stackoverflow Login to Minecraft using C#

    Mit diesem Konverter kannst du C# in VB Konvertieren.

    lg
    Begeisterter BF4 Spieler :D

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Gangsterkrafter“ ()

    Nutze doch NuGet für die DLL. Das ist einfacher.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Wenn die Anfrage Erfolgreich war, solltest du Einen Json String Zurueck bekommen,
    Wenn die Anfrage jedoch Fehlgeschlagen hat, Bekommst du einen Fehler Zurueck,
    Liste aller Fehler + Erklärungen

    Probiere einfach, diesen Json String zu Deserialisieren und Falls dies Fehlschlaegt, wird das ganze mit Hoher Wahrscheinlichkeit ein Fehler sein, den du da Zurueck Bekommen hast, evtl. sollte dann deine Anwendung Crashen und ein Fehler angezeigt werden.

    In diesem Fall (wuerde ich)
    das ganze in einem Try-Catch schreiben, denn sobald der Fehler dann auftritt kannst du zb. eine Messagebox in den Catchblock Packen welche sagt dass etwas Fehlgeschlagen ist, und evtl. Kannst du dann noch Code darin Ausfuehren den du bei einem Fehler ausfuehren willst.

    Inwiefern dieser Try-Catch Block unsauber ist, kann ich leider nicht Beurteilen weil ich (Gott sei dank) nicht so viele try-catches benutze und daher nicht weiss ob diese Angebracht sind, siehe TryCatch ist ein heißes Eisen

    Die andere Methode(und wahrscheinlich saubere methode) waere den String nach den Fehlernachrichten abzusuchen.

    Bitte mach dich aber vorher schlau (siehe link mit try catch) ob try&catch hier wirklich angebracht ist, wie gesagt ich kann das nicht beurteilen weil ich das nicht oft nutze.

    lg
    Begeisterter BF4 Spieler :D
    Kann jetzt eh erstmal 3 stunden warten bis mein Minecraft aka Mojang account entbannt is hab nen IP ban durch mehrere Fail Logins also Falsches Passwort. (warum muss ich immer so lange passwörter haben?)

    MFG


    +#EDIT#+

    Habe meinen Router neugestartet die Try & Catch Methode klappt Doch lag nur daran, dass ich IP Gebannt war ;D

    MFG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Wolvingdark“ ()

    So ich habe mich mittlerweile wieder an das Projekt gesetzt und hab jetzt ein Problem wie ich z.B. Client Name , accesssToken etc aus der Json antwort einzeln entnehme
    Hier die API antwort (Die werte wurden ntürlich bearbeitet):

    Quellcode

    1. {"accessToken":"6382746b84353bchnc27h346","clientToken":"623ced-8fbf-42nf-b4da-736bcfbs","selectedProfile":{"id":"7368bcgrugcw76b7c35","name":"Wolvingdark"},"availableProfiles":[{"id":"32654v7cvcv76345723579324","name":"Wolvingdark"}]}


    MFG
    Hallo,

    Zuerst einmal Rate ich dir, die Json DLL einzubinden von newtonsoft.com/json

    Und die URL, von der du diesen Json String Bekommst, machst du dann so:



    Code ist Frei Hand Geschrieben, Nicht Getestet und Könnte deshalb evtl. Nicht Funktionieren

    VB.NET-Quellcode

    1. Dim WebC as new WebClient
    2. Dim JsonRaw as String
    3. JsonRaw = WebC.DownloadString("Minecraft Json URL")


    Dieser Code Sollte dann Erstmal den Json Text von deiner Json URL herunterladen und in die Variable JsonRaw Speichern.

    lg
    Begeisterter BF4 Spieler :D
    So ich habe mich mittlerweile wieder an das Projekt gesetzt und hab jetzt ein Problem wie ich z.B. Client Name , accesssToken etc aus der Json antwort einzeln entnehme​

    Ich habe momentan das selbe Problem ...
    Also suche ich nach einer Lösung um den token da raus zu bekommen aber ich komme nicht drauf...
    Jetzt suche ich hier da sich hier jemand "MFG Gangsterkrafter" auskennt ...

    Würde mich über ne Antwort freuen
    Hey, die Antwort ist zwar Schon Lange Her aber ich wollte Euch, insofern das Problem nocht Besteht nicht Im Regen Stehen Lassen.

    Die Lösung ist dass ihr Den Json String Deserialisieren Müsst.

    Siehe als BeispIel:
    http://www.newtonsoft.com/json/help/html/DeserializeObject.htm

    Das Ganze ist in C# geschrieben, kann jedoch in vb Übersetzt Werden:
    converter.telerik.com/

    Falls ihr WeiterhIn Probleme Habt, Könnt ihr mich gerne Per PN Anschreiben!

    Lg
    Begeisterter BF4 Spieler :D