Minecraft OHNE den Original Launcher starten

  • VB.NET

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von SuperFranTV.

    Minecraft OHNE den Original Launcher starten

    Hallo Community,


    Ich hatte schon mehrere Themen im Bereich MINECRAFT LAUNCHER gefunden doch keines der Themen die ich gefunden hatte haben mir bei meinem Problem geholfen.


    Und zwar Programmiere ich derzeit einen Minecraft Launcher (für meinen Server).



    Hier ein kleines Bild:



    Es soll nun wenn man auf "LOGIN" klickt sich Minecraft öffnen (NICHT der Originale Minecraft Launcher sondern die minecraft.jar). Doch da gibt es ein Problem. Ich hatte mir Überlegt wie ich dies mache und bin auf eine Seite im MinecraftWikigestoßen (de.minecraftwiki.net/wiki/Minecraft_Launcher)

    Dort stehen nun mehrere Parameter / Argumente.


    Nun dachte ich mir, ich könnte diese Argumente im Launcher verwenden und über die StartInfo.Arguments Minecraft starten... doch leider wird beim Start von Minecraft nur ein CMD Fenster angezeigt das sich sofort wieder schließt


    Ich habe folgende Argumente Versucht:

    minecraft.jar (alle Systeme):
    java -cp minecraft.jar net.minecraft.LauncherFrame <username> <password> <server:port>

    minecraft.exe (in Windows ausführbar):
    minecraft.exe <username> <password> <server:port>
    minecraft.jar (Windows - kein CMD-Fenster):
    javaw -cp minecraft.jar net.minecraft.LauncherFrame <username> <password> <server:port>
    Doch bei allen wird immer nur das Sofort sich wieder schließende CMD Fenster geöffnet.


    Hier mal der Code den ich derzeit verwende:

    minecraft.jar (Windows - kein CMD-Fenster):

    VB.NET-Quellcode

    1. Sub START()
    2. login_start = New Process()
    3. login_start.StartInfo.FileName = "C:\Program Files (x86)\Java\jre7\bin\java.exe"
    4. login_start.StartInfo.Arguments = "javaw -cp C:\Users\Marcel\Documents\Minecraft\version\high definition\1.4.6\minecraft.jarnet.minecraft.LauncherFrame " & USERNAME & " " & PASSWORD
    5. login_start.StartInfo.WorkingDirectory = "C:\Users\Marcel\AppData\Roaming\.minecraft"
    6. login_start.StartInfo.RedirectStandardError = True
    7. login_start.StartInfo.RedirectStandardInput = True
    8. login_start.StartInfo.RedirectStandardOutput = True
    9. login_start.StartInfo.CreateNoWindow = False
    10. login_start.StartInfo.UseShellExecute = False
    11. login_start.Start()
    12. End Sub


    Was mache ich Falsch?

    Vielleicht könnt ihr mir helfen :)



    Liebe Grüße

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „DarkestMan“ ()

    Ich hab nun das "javaw" rausgenommen. Noch immer das selbe CMD Fenster das sich sofort schließt.

    Manawyrm schrieb:

    EDIT:

    VB.NET-Quellcode

    1. login_start.StartInfo.CreateNoWindow = False
    2. login_start.StartInfo.UseShellExecute = False


    Sicher? Glaub nicht das das klappt.
    Was meinst du? Wenn ich zB bei login_start.StartInfo.UseShellExecute = False statt dem "False" ein "True" mache kommt ja ein Fehler?
    java -Djava.library.path=.\natives -cp minecraft.jar;jinput.jar;lwjgl.jar;lwjgl_util.jar net.minecraft.client.Minecraft <username> <sessionHash>


    So lässt sich die minecraft.jar starten, wie man einen Auto Login zu einem Server macht habe ich leider nicht herausgefunden. Über die Minecraft.exe geht es angeblich mit:
    Minecraft.exe <username> <password> <server-ip:port>


    P.S.: Den Wiki Eintrag den du da hast ist total veraltet.
    @LAl

    Das hab ich ja schon :)

    Hab das so gemacht:

    VB.NET-Quellcode

    1. login_output = login_client.DownloadString(String.Format("http://login.minecraft.net/?user={0}&password={1}&version={2}", USERNAME, PASSWORD, login_vlogin))
    2. If login_output.Contains("User not premium") Then
    3. login_status.ForeColor = Color.Red
    4. login_status.Text = "login failed"
    5. ElseIf login_output.Contains("Bad login") Then
    6. login_status.ForeColor = Color.Red
    7. login_status.Text = "login failed"
    8. Else
    9. login_status.ForeColor = Color.Green
    10. login_status.Text = "login successful"
    11. End If
    Den Hash bekommst du über die Login Seite, wenn der Login erfolgreich war:
    http://login.minecraft.net/?user=<USERNAME>&password=<PASSWORD>&version=<VERSION>


    Bei erfolgreichen Login bekommst du 5 Werte unterteilt mit : , der Letzte(oder Vorletzte? Musst du testen) ist der session hash. Testen kannst du es in dem du versuchst dich zu einem Server zu verbinden mit "online-mode=on", wenn der Hash falsch ist bekommst du die Meldung "User is not premium".

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Pinki“ ()

    @Pinki

    Hab nun den HASH auslesen doch es kommt noch immer das CMD Fenster was sich gleich wieder schließt ._.

    Mein Code:

    Bei dem Argument hatte ich es auch OHNE das "java" am Anfang probiert... Ohne Erfolg


    VB.NET-Quellcode

    1. Dim HASH As New System.Net.WebClient
    2. Dim login_start As Process
    3. Sub START()
    4. 'sessionHash auslesen
    5. Dim sessionHash As String
    6. sessionHash = HASH.DownloadString("http://login.minecraft.net/?user=" & USERNAME & "&password=" & PASSWORD & "&version=13")
    7. sessionHash = sessionHash.Substring(sessionHash.LastIndexOf(":") + 1)
    8. 'Minecraft Starten
    9. Dim JAR As String = "..\1.4.6\minecraft.jar"
    10. login_start = New Process()
    11. login_start.StartInfo.FileName = "..\Java\jre7\bin\java.exe"
    12. login_start.StartInfo.Arguments = "java -Djava.library.path=..\.minecraft\bin\natives -cp " & JAR & ";..\.minecraft\bin\jinput.jar;..\.minecraft\bin\lwjgl.jar;..\.minecraft\bin\lwjgl_util.jar net.minecraft.client.Minecraft " & USERNAME & " " & sessionHash
    13. login_start.StartInfo.WorkingDirectory = "..\.minecraft"
    14. login_start.StartInfo.RedirectStandardError = True
    15. login_start.StartInfo.RedirectStandardInput = True
    16. login_start.StartInfo.RedirectStandardOutput = True
    17. login_start.StartInfo.CreateNoWindow = False
    18. login_start.StartInfo.UseShellExecute = False
    19. login_start.Start()
    20. End Sub



    Was mach ich falsch?

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

    Ich verwende nun "javaw.exe" und hab das "java" bei dem Argument entfernt.

    Okey ich verwende hier nun relative Pfade.



    WEnn "javaw.exe" verwende öffnet sich kein CMD Fenster das sich gleich wieder schließt. Es passiert nun einfach garnichts

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

    Hallo,

    Ich hab ein wenig weitergesucht hatte nun etwas gefunden doch dies Funktioniert auch nicht! Hier nun der Code den ich verwende:

    VB.NET-Quellcode

    1. Sub START()
    2. 'Minecraft Starten
    3. Dim JAR As String = "...\1.4.6\minecraft.jar"
    4. Dim MINECRAFT As String = "...\.minecraft"
    5. login_start = New Process()
    6. login_start.StartInfo.FileName = "C:\Program Files (x86)\Java\jre7\bin\javaw.exe"
    7. login_start.StartInfo.Arguments = "-Xmx1024M -Djava.library.path=" & MINECRAFT & "\bin\natives -cp " & JAR & ";" & MINECRAFT & "bin\jinput.jar;" & MINECRAFT & "bin\lwjgl.jar;" & MINECRAFT & "bin\lwjgl_util.jar net.minecraft.client.Minecraft" & " " & USERNAME & " " & PASSWORD
    8. login_start.StartInfo.WorkingDirectory = "C:\Users\Marcel\AppData\Roaming\.minecraft"
    9. login_start.StartInfo.RedirectStandardError = True
    10. login_start.StartInfo.RedirectStandardInput = True
    11. login_start.StartInfo.RedirectStandardOutput = True
    12. login_start.StartInfo.CreateNoWindow = False
    13. login_start.StartInfo.UseShellExecute = False
    14. login_start.Start()
    15. End Sub


    Die Quelle zu diesem Argument hab ich von HIER

    Doch Leider Funktioniert das auch nicht :/ ich verzweifle Mittlerweile :(( hat keiner mehr eine Idee?
    hab ich jetzt gemacht! Funktioniert noch immer nicht :/

    //EDIT:

    Ich hab nun den StandardError ausgelesen und es kam Folgende Meldung:



    Ich werde daraus aber nicht schlau! Der Pfad zu den JAR's ist Korrekt!

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