Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Uruchamiamy Minecrafta


Gość Pan Szymek

Rekomendowane odpowiedzi

Opublikowano

Kod jest z komentarzami, więc nie widzę powodu do dodatkowej wypowiedzi

using System;
namespace MC_Launcher
{
   class Program
   {
       static void Main(string[] args)
       {
           odpalMC("login", "hasło");
       }
       static void odpalMC(string login, string haslo, int minimumRam = 512, int maksRam = 3200, int wersja = 147)
       {
           string sciezka = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\"; //ścieżka do appdata
           if (!System.IO.File.Exists(string.Format("{0}.minecraft/bin/minecraft.jar", sciezka))) //jeżeli minecraft nie znajduje się na dysku...
               return;//wychodzimy z funkcji
           System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("java"); 
           psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //ukrywamy konsolę od mc
           string response = pobierzDane(login, haslo, wersja); //pobieramy dane w formacie ?:deprecated:login:sesja (jeżeli wersja jest starsza niż aktualna (147) będzie posiadała - na początku):?
           if (response.Contains("Bad")) //jeżeli nie istnieje konto o z podanym loginem i hasłem uzyskamy "Bad login"
               return;    //opuszczamy funkcję
           psi.Arguments = string.Format("-Xms{0}M -Xmx{1}M -Djava.library.path={2}.minecraft/bin/natives -cp {2}.minecraft/bin/minecraft.jar;{2}.minecraft/bin/jinput.jar;{2}.minecraft/bin/lwjgl.jar;{2}.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft {3} {4}", minimumRam, maksRam, sciezka, login, response.Split(':')[3]); //argumenty dla javy
           System.Diagnostics.Process.Start(psi); //uruchamiamy MC
       }
       static string pobierzDane(string login, string haslo, int wersja)
       {
           return new System.IO.StreamReader(System.Net.HttpWebRequest.Create(string.Format("https://login.minecraft.net?user={0}&password={1}&version={2}", login, haslo, wersja)).GetResponse().GetResponseStream()).ReadToEnd();
       }
   }
}

Opublikowano

Mógłbyś zarzucić gotowego Form z inputami i buttonem, z tym pewnie wiele osób będzie miało problem :)

Później machnę jakieś GUI, teraz nie mam weny.

Opublikowano

To mój kod z VB.NET:

 

 

Imports System.Net
Imports System.Text
Public Class Form8
Public Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
Public Sub MaskedTextBox1_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 odpalMC(login:=TextBox1.Text, haslo:=MaskedTextBox1.Text)
End Sub

Public Sub odpalMC(ByVal login As String, ByVal haslo As String, Optional ByVal minimumRam As Integer = 512, Optional ByVal maksRam As Integer = 1024, Optional ByVal wersja As Integer = 147)

 Dim sciezka As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\"
 'ścieżka do appdata
 If Not System.IO.File.Exists(String.Format("{0}.minecraft/bin/minecraft.jar", sciezka)) Then
	 'jeżeli minecraft nie znajduje się na dysku...
	 Return
 End If
 'wychodzimy z funkcji
 Dim psi As New System.Diagnostics.ProcessStartInfo("java")
 psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
 'ukrywamy konsolę od mc
 Dim response As String = pobierzDane(login, haslo, wersja)
 'pobieramy dane w formacie ?:deprecated:login:sesja (jeżeli wersja jest starsza niż aktualna (147) będzie posiadała - na początku):?
 If response.Contains("Bad") Then
	 'jeżeli nie istnieje konto o z podanym loginem i hasłem uzyskamy "Bad login"
	 MsgBox("Problem z zalogowaniem")
	 Return
 End If
 'opuszczamy funkcję
 psi.Arguments = String.Format("-Xms{0}M -Xmx{1}M -Djava.library.path={2}.minecraft/bin/natives -cp {2}.minecraft/bin/minecraft.jar;{2}.minecraft/bin/jinput.jar;{2}.minecraft/bin/lwjgl.jar;{2}.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft {3} {4}", minimumRam, maksRam, sciezka, login, response.Split(":"c)(3))
 'launch = "start javaw -Xmx" & TextBox1.Text & "m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft "
 'argumenty dla javy
 System.Diagnostics.Process.Start(psi)
 'Custom start
 'Shell("start javaw -Xmx1000m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft", login, response.Split(":"c)(3))
 'uruchamiamy MC
End Sub
Public Function pobierzDane(ByVal login As String, ByVal haslo As String, ByVal wersja As Integer) As String
 Return New System.IO.StreamReader(System.Net.HttpWebRequest.Create(String.Format("https://login.minecraft.net?user={0}&password={1}&version={2}", login, haslo, wersja)).GetResponse().GetResponseStream()).ReadToEnd()
End Function

End Class

 

 

 

Logowanie działa, gra się odpala, jednak na singlu funkcjonuję jako meil z logowania <_<

 

 

@Edit: jezu sory za double ;/

Opublikowano

a zmien to

	 'Shell("start javaw -Xmx1000m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft", login, response.Split(":"c)(3))

na

	 'Shell("start javaw -Xmx1000m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft", response.Split(":"c)(2), response.Split(":"c)(3))

Wtedy powinno odpalić z normalnym nickiem ;)

Zbieram jak większość +!

Opublikowano

a zmien to

        'Shell("start javaw -Xmx1000m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft", login, response.Split(":"c)(3))

na

        'Shell("start javaw -Xmx1000m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft", response.Split(":"c)(2), response.Split(":"c)(3))

Wtedy powinno odpalić z normalnym nickiem ;)

 

sprawdzę ;) z góry dzięki

Opublikowano

To mój kod z VB.NET:

 

 

Imports System.Net
Imports System.Text
Public Class Form8
Public Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
Public Sub MaskedTextBox1_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    odpalMC(login:=TextBox1.Text, haslo:=MaskedTextBox1.Text)
End Sub

Public Sub odpalMC(ByVal login As String, ByVal haslo As String, Optional ByVal minimumRam As Integer = 512, Optional ByVal maksRam As Integer = 1024, Optional ByVal wersja As Integer = 147)

    Dim sciezka As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\"
    'ścieżka do appdata
    If Not System.IO.File.Exists(String.Format("{0}.minecraft/bin/minecraft.jar", sciezka)) Then
        'jeżeli minecraft nie znajduje się na dysku...
        Return
    End If
    'wychodzimy z funkcji
    Dim psi As New System.Diagnostics.ProcessStartInfo("java")
    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
    'ukrywamy konsolę od mc
    Dim response As String = pobierzDane(login, haslo, wersja)
    'pobieramy dane w formacie ?:deprecated:login:sesja (jeżeli wersja jest starsza niż aktualna (147) będzie posiadała - na początku):?
    If response.Contains("Bad") Then
        'jeżeli nie istnieje konto o z podanym loginem i hasłem uzyskamy "Bad login"
        MsgBox("Problem z zalogowaniem")
        Return
    End If
    'opuszczamy funkcję
    psi.Arguments = String.Format("-Xms{0}M -Xmx{1}M -Djava.library.path={2}.minecraft/bin/natives -cp {2}.minecraft/bin/minecraft.jar;{2}.minecraft/bin/jinput.jar;{2}.minecraft/bin/lwjgl.jar;{2}.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft {3} {4}", minimumRam, maksRam, sciezka, login, response.Split(":"c)(3))
    'launch = "start javaw -Xmx" & TextBox1.Text & "m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft "
    'argumenty dla javy
    System.Diagnostics.Process.Start(psi)
    'Custom start
    'Shell("start javaw -Xmx1000m -Djava.library.path=%APPDATA%/.minecraft/bin/natives -cp %APPDATA%/.minecraft/bin/minecraft.jar;%APPDATA%/.minecraft/bin/jinput.jar;%APPDATA%/.minecraft/bin/lwjgl.jar;%APPDATA%/.minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft", login, response.Split(":"c)(3))
    'uruchamiamy MC
End Sub
Public Function pobierzDane(ByVal login As String, ByVal haslo As String, ByVal wersja As Integer) As String
    Return New System.IO.StreamReader(System.Net.HttpWebRequest.Create(String.Format("https://login.minecraft.net?user={0}&password={1}&version={2}", login, haslo, wersja)).GetResponse().GetResponseStream()).ReadToEnd()
End Function

End Class

 

 

 

Logowanie działa, gra się odpala, jednak na singlu funkcjonuję jako meil z logowania <_<

 

 

@Edit: jezu sory za double ;/

Jako argument podajesz login z minecraft.net?

Opublikowano

Szczerze dla lajka to wgl nie jest zrozumiałe xD Chociaż ja mam mc za sobą

Mój komputer:


CPU: I7 6700K, Płyta: MSI Z170A GAMING PRO CARBON , GPUMSI  GeForce GTX 1080 GAMING 8 GB  GDDR5x , PSU: SilentiumPC Supremo M2 GOLD  550W,


SSD: GOODRAM Iridium Pro 240GB, HDD: Seagate 2 TB  , Obudowa:: Sharkoon DG7000-G RAM:  2x Corsair Vengeance  LED DDR4  16 GB  3200 Mhz  CL16 Red 

Opublikowano

Jak zrobić z tego własny system autoryzacji? Jakiś użytkownik tu się chwalił że umie przed cofką, wydaje mi się że trzeba zrobić proxy dla bukkita a on mówił że da się inaczej, ktoś wie jak?

Opublikowano

Jak zrobić z tego własny system autoryzacji? Jakiś użytkownik tu się chwalił że umie przed cofką, wydaje mi się że trzeba zrobić proxy dla bukkita a on mówił że da się inaczej, ktoś wie jak?

Uruchamianie minecrafta jeżeli dane zgadzają się z tymi na Twoim serwerze?

Opublikowano

Uruchamianie minecrafta jeżeli dane zgadzają się z tymi na Twoim serwerze?

 

Coś ala mineshafter, tak jakby własny system premium do minecraft, ktoś rejestruje się na mojej stronie, w launcher wpisuje login i hasło, i może wbić na serwer, a ktoś kto używa lewych launcherów w których tylko nick wpisuje nie może wejść na serwer.

Opublikowano

Uruchamianie minecrafta jeżeli dane zgadzają się z tymi na Twoim serwerze?

 

Dobra, trochę zmieniłem zdanie, tak dokładnie o to mi chodzi, jeszcze chciałbym zrobić tak że koleś widzi swojego skina którego ma przypisanego w bazie mysql i inni gracze którzy korzystają z launchera też widzą jego skina i swoje. Mineshafter tak ma więc podejrzewam że w tym też to da się zrobić. Pomożecie?

Opublikowano

Dobra, trochę zmieniłem zdanie, tak dokładnie o to mi chodzi, jeszcze chciałbym zrobić tak że koleś widzi swojego skina którego ma przypisanego w bazie mysql i inni gracze którzy korzystają z launchera też widzą jego skina i swoje. Mineshafter tak ma więc podejrzewam że w tym też to da się zrobić. Pomożecie?

Bez proxy/modyfikacji klienta się nie obejdzie.

Opublikowano

Bez proxy/modyfikacji klienta się nie obejdzie.

 

Korzystałeś kiedyś z mineshaftera? Tam wystarczy pobrać tylko launcher i przez niego się zalogować i widzisz skiny graczy którzy również z niego korzystają.

  • 4 tygodnie później...
Opublikowano

Pytanie mam - jak to mam użyć?

 

Serio, nie ogarniam C#, a muszę posiadać Launcher do swojego serwera -.-

 

Czy pomógłbyś jakoś?

 

 

Napisałbyś krótki poradnik "for idiots"?

Potrzebujesz pomocy z hostingiem? Daj znać poprzez Telegram lub Priv!

Opublikowano

REF

 

Otóż ogarnąłem wszystko, działa mi w Graficznej formie, ale mam non-premium. Wiesz jak to przerobić pod PREMIUM?

Potrzebujesz pomocy z hostingiem? Daj znać poprzez Telegram lub Priv!

Opublikowano

REF

 

Otóż ogarnąłem wszystko, działa mi w Graficznej formie, ale mam non-premium. Wiesz jak to przerobić pod PREMIUM?

To jest napisane pod konta premium.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...