Minecraft Launcher Programmieren .Net Forms

  • C#

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von mrMo.

    Minecraft Launcher Programmieren .Net Forms

    Hey leudz

    ich bin rltv neu am lernen von C# bzw .Net, lernen möchte ich es für ein Netzwerk und dafür möchte ich einen Launcher programmieren aber ich habe folgende Probleme.

    1. Ich habe keine Ahnung wie ich die Informationen wie Ram, Login ( Verbindung zwischen Mojang und dem Launcher ) speicher version ..etc erfassen soll.

    Ich habe Grundkenntnisse wie zb das ich if benutzen sollte für den Login wenn Mojang das frei gibt ..etc aber leider weiß ich mehr auch nicht als ich aus dem Internet raus lesen konnte :(

    Hilfe währe ein Traum! :)
    Schau doch mal hier in der Suche. Hier hat gefühlt jeder 2. Nen Minecraft Launcher programmiert.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Wie funktioniert das aber mit dem Login ...

    bekomme nur sowas :

    Quellcode

    1. ​{
    2. "agent": { // defaults to Minecraft
    3. "name": "Minecraft", // For Mojang's other game Scrolls, "Scrolls" should be used
    4. "version": 1 // This number might be increased
    5. // by the vanilla client in the future
    6. },
    7. "username": "mojang account name", // Can be an email address or player name for
    8. // unmigrated accounts
    9. "password": "mojang account password",
    10. "clientToken": "client identifier", // optional
    11. "requestUser": true // optional; default: false; true adds the user object to the response
    12. }


    & sowas

    Quellcode

    1. ​{
    2. "accessToken": "random access token", // hexadecimal
    3. "clientToken": "client identifier", // identical to the one received
    4. "availableProfiles": [ // only present if the agent field was received
    5. {
    6. "id": "profile identifier", // hexadecimal
    7. "name": "player name",
    8. "legacy": true or false // In practice, this field only appears in the response if true. Default to false.
    9. }
    10. ],
    11. "selectedProfile": { // only present if the agent field was received
    12. "id": "uuid without dashes",
    13. "name": "player name",
    14. "legacy": true or false
    15. },
    16. "user": { // only present if requestUser was true in the request payload
    17. "id": "user identifier", // hexadecimal
    18. "properties": [
    19. {
    20. "name": "preferredLanguage", // might not be present for all accounts
    21. "value": "en" // Java locale format (https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html#toString--)
    22. },
    23. {
    24. "name": "twitch_access_token", // only present if a twitch account is associated (see https://account.mojang.com/me/settings)
    25. "value": "twitch oauth token" // OAuth 2.0 Token; alphanumerical; e.g. https://api.twitch.tv/kraken?oauth_token=[...]
    26. // the Twitch API is documented here: https://github.com/justintv/Twitch-API
    27. }
    28. ]
    29. }
    30. }



    aber wo muss das den hin bzw was muss ich noch machen ? .. :(
    Ja ist mir klar

    Nur ich versteh den zusammenhang nicht und weiß nicht wie ich das machen soll.
    Ich habe irgendetwas mit einem Hashcode gelesen das man den bekommt aber wie bekommt man den + wie startet man damit minecraft + ist bei Mojang eingeloggt ?
    Genaue Methoden währen ein Traum *-*

    philippo schrieb:


    Genaue Methoden währen ein Traum *-*


    Dann wäre der Marktplatz der richtige Bereich für dich.

    Ansonsten zeig uns deine versuche was hast du schon ausprobiert ? Was ist dir genau unklar ?
    Unsere Glaskugel kann das leider nicht beantworten.
    In deinem Post stehen doch sogar kommentare wofür was da ist bzw was was ist.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Probiert habe ich es schon wie auf einer webseite erwähnt die Minecraft.exe mit dem Passwort + benutzernamen als Argument zu starten was aber leider nicht mehr geht scheinbar.

    ich stell mir das so vor das man auf die picturebox klickt das dann

    <url> + benutzername + passwort <rest>

    gesendet wird. Ist das right?
    Aber wie bekomme ich daraus den Code bzw wie startet Minecraft daraus mit dem Eingeloggtem benutzer?

    Vollzitat entfernt. ~Trade
    @ThuCommix Das habe ich auch schon gefunden aber das hilft mir nicht wirklich weiter da ich nichts damit anzufangen weiß. :C

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Trade“ ()


    Further, they are expected to fulfill the following rules:

    Are POST requests
    Have the Content-Type header set to application/json
    Contain a JSON-encoded dictionary as payload
    If a request was successful the server will respond with:

    Status code 200
    A JSON-encoded dictionary according to the specifications below
    If however a request fails, the server will respond with:

    An appropriate, non-200 HTTP status code
    A JSON-encoded dictionary following this format:



    Das kommt von der Seite... Dort steht doch wie man was machen muss....
    Du sendest einen POST Request mit den Daten und bekommst dann eine Antwort die du
    auswerten kannst.

    Inwiefern hilft dir das nicht weiter ? Wo steckt dein Problem ? Poste doch mal Code.
    Was kommt für ein Fehler ? Meine Glaskugel ist leider kaputt X(
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Vollzitat entfernt. ~Trade

    C#-Quellcode

    1. private void lbutton_Click(object sender, EventArgs e)
    2. {
    3. System.Diagnostics.Process.Start("http://login.minecraft.net/?user=" + benutzer + passwort);
    4. }


    mehr hab ich nicht, ich hab echt keine Ahnung wie ich das getn soll und daraus MC starte :/

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

    Also fehlen dir die Grundsätzlichen Programmierkenntnisse ?

    Dann würde ich dir empfehlen dich in die Grundlagen einzulesen.
    Und dich dann mit WebRequests zu beschäftigen.
    Zusätzlich wirst du dich auch noch mit JSON beschäftigen müssen.

    Du kannst ja nicht von uns erwarten das wir dir hier nun einfach dein Programm schreiben.
    Du hast Hinweise ´bekommen wo du dich mit einlesen kannst.
    Wenn du dann Probleme mit Code haben solltest weil es zu Fehlermeldungen kommt dann
    können wir dir gerne helfen - und das tun wir auch dann ;)

    Du kannst natürlich auch noch im Forum suchen wie @mrMo geschrieben hat denn
    es gibt hier viele Minecraft Launcher Themen.
    Allerdings empfehle ich trotzdessen dich erstmal ein wenig mit dem Programmieren zu beschäftigen
    also Grundlagen lernen und dich dann in die Sachen reinlesen.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    philippo schrieb:

    C#-Quellcode

    1. private void lbutton_Click(object sender, EventArgs e)
    2. {
    3. System.Diagnostics.Process.Start("http://login.minecraft.net/?user=" + benutzer + passwort);
    4. }

    mehr hab ich nicht, ich hab echt keine Ahnung wie ich das getn soll und daraus MC starte


    Kurtz gesagt: Mit deinem Code GARNICHT!

    Du solltest eigentlich erst mal die Grundlagen der Porgrammirung lernen bevor Du dich an so was wie einen MC Launcher setzt...
    aber um etwas beizutragen, schau Dir mal zb. folgendes an

    POST / GET:
    msdn.microsoft.com/de-de/library/debx8sh9(v=vs.110).aspx
    stackoverflow.com/questions/40…ake-http-post-web-request

    Json:
    msdn.microsoft.com/de-de/library/bb412179(v=vs.110).aspx
    msdn.microsoft.com/de-de/library/bb410770(v=vs.110).aspx

    LG Ruerte
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Hey leudz, leider habe ich derzeit trotzt ausseinander Setzung mit den Webrequests per json bzw POST noch immer Probleme mich bei Mojang einzuloggen. mein Aktueller Code ist dieserIch hoffe mir kann jemand helfen beim Lösen bzw mir sagen das es ein Fehler in meinem Code gibt.

    Fehler =

    Quellcode

    1. ​Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig.


    Hey,

    undzwar habe ich ein Problem, undzwar möchte ich einen Launcher schreiben und habe mich intesivst mit Webequests beschäftig weshalb ich es geschaft habe mich bei Mojang anzumelden. Das nächste Problem ist das ich Minecraft starten möchte + direkt auf einen Server joine ohne das Startmenu, ich habe viel Gegoogelt aber nix zu dem gefunden sprich nur wie man prozesse startet aber was nicht dabei hielft die Natives.. etc zu erhalten und MC zu starten.

    Ich hoffe du kannst mir helfen :)

    MfG Phil

    *Topics zusammengeführt*

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

    philippo schrieb:

    einen Launcher schreiben
    Ich glaube, dass jeder 2. hier im Forum bereits einen programmiert hat. Nutze die Suchfunktion des Forums, hier gibts gefühlte 1.000.000 Threads zu diesem Thema.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ok, also haben alle Threads hier nicht helfen können.

    Kannst du uns sagen, wo genau du gerade hängst? Weil dein Problem ist seeeehr allgemein gehalten.

    Ich glaube mal gelesen zu haben, dass man Minecraft Parameter beim Starten übergeben kann. Geht das nicht (mehr)?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    es hängt dabei die Json per Newton auszulesen und die version.jar zu starten, gespeichert wird sie. hier ist mein Code :

    gestartet wird Minecraft per version.jar und den Token welcher man per json bekommt. Ich habe nur das Problem das ich kein Plan habe wie ich nur den Token aus der json auslesen kann .:D

    C#-Quellcode

    1. var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://authserver.mojang.com/authenticate");
    2. httpWebRequest.ContentType = "application/json";
    3. httpWebRequest.Method = "POST";
    4. using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
    5. {
    6. string json = "{\"agent\":{\"name\":\"Minecraft\",\"version\":1},\"username\":\"" + user.Text + "\",\"password\":\"" + pwuser.Text + "\",\"clientToken\":\"6c9d237d-8fbf-44ef-b46b-0b8a854bf391\"}";
    7. streamWriter.Write(json);
    8. streamWriter.Flush();
    9. streamWriter.Close();
    10. richTextBox1.Text = ACCESS_TOKEN;
    11. var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    12. using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    13. {
    14. var result = streamReader.ReadToEnd();
    15. ACCESS_TOKEN = result;
    16. File.WriteAllText(@"c:\key.json", ACCESS_TOKEN);
    Hierzu gibt es extra ne Webseite von Newtonsoft mit haufenweise Dokumentation newtonsoft.com/json

    Mehr kann ich dir leider nicht helfen, da ich bisher weder mit dieser .dll noch mit json gearbeitet habe.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen