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

[TuT] Gotowiec - Launcher Minecraft (Każda Wersja)


Adrian327d

Rekomendowane odpowiedzi

Opublikowano

Aktualizacje launcher tutaj http://youtube.com/VrozaX

 

Poradnik Pod Wersje 2010 EN, może się różnić od nowszych.

Launchery działają tylko na | Java 32-bit |

 

Skany na dole tematu.

 

SPIS TREŚCI:
*#*. Podstawy vb.net.
1. Prosty Launcher Do 1.5.2 i wstecz (1.0.0 do 1.5.2)
2. Prosty Launcher Do 1.6.2 i nowsze (1.6.2 do 1.7.4)
3. Zaawansowany Launcher Pod Każdą Wersję (Powiedzmy że od pełnych, czyli: 1.0.0 do 1.7.4)

4. Zaawansowany Launcher Z Forge Pod Każdą Wersję (Od pełnych, czyli: 1.0.0 do 1.7.4*)

5. Usprawnienia Launchera i Forge ( | Własna lokalizacja plików np: C:\Games\Minecraft | Oddzielne foldery "mods" {teraz nie musisz usuwać za każdym razem modów gdy zmieniasz wersje minecraft} | )

6. CDN ...
 
*- nie ma jeszcze Forge pod 1.7.4
Pomoce:


 

~~~~~~~~~~  *#* ~~~~~~~~~~

1. File --> New Project... 
ivjJdRUFmSylq.png
2. Wybieramy "Windows Form Application" i w "Name" piszemy "MojLauncherMinecraft" (Name może być inne) i klikamy "Ok"
imYfX4XggqbgN.png
3. Klikamy nasze okienko "Form1"
ibyumsXRRvRbMN.png
4. W "Properties" robimy kolejno:
FormBorderStyle - Fixed3D
Text - NazwaLaunchera (u mnie to będzie "mpcforum.pl")
(Name) - NazwaLaunchera (u mnie to będzie "Launcher")
Size - 800; 480
Icon - Wybieramy sobie ikonkę w formacie .ico i o wymiarach 32x32 żeby nie było pikselozy
MaximizeBox - False
5. Klikamy "F7" i naszym oczom pokazuje się {screen poniżej}, jest to serce naszego launcher`a.
iutmIroY0hXZr.png
To wszystko z podstaw. Zapraszam do zapoznania się z resztą tematu poniżej.

 

~~~~~~~~~~  1 ~~~~~~~~~~

 

Kod: http://wklej.to/o1vJl
Projekt: (Gotowiec) https://www.dropbox.com/s/wum7vip10a7hiev/MojLauncherMinecraft - Punkt1.zip
Pliki: (.minecraft) https://www.dropbox.com/s/sq303dl1ni9ckxo/Pliki - Punkt 1.zip
 
1. Dodajemy tło:
ibcyafWokG3JBf.png
2. Wklepujemy kod z linku wyżej:
irCqOcA2TSZCY.png
3. W naszym "Design" robimy:
1x button
2x textbox
2x label
iRXWMHhkFmn3H.png
4. Zdobywamy potrzebną nam paczke .minecraft.zip z wersją od 1.0.0 do 1.5.2...
 
Dlaczego taki punkt 4 ? bo chyba każdy wie jak to bywało z piratem minecraft od najstarszych wersji aż do 1.5.2 (Pobierało sie najnowsze .minecraft i tyle ;)

 

~~~~~~~~~~  2 ~~~~~~~~~~

 

Kod: http://wklej.to/uB61u
Projekt: (Gotowiec) https://www.dropbox.com/s/22b204uu4wxsqba/MojLauncherMinecraft - Punkt2.zip
 
 
1. Dodajemy tło:
ibcyafWokG3JBf.png
2. Wklepujemy kod z linku wyżej:
inG5grB7c3m5w.png
3. W naszym "Design" robimy:
1x button
2x textbox
2x label
iRXWMHhkFmn3H.png
4. Pobieramy: (linki dodam w najbliższym czasie)

 

Pliki na dole tematu.

 

~~~~~~~~~~  3 ~~~~~~~~~~

 

(Tylko od 1.5.2 do 1.7.2)

Kod: http://wklej.to/mlNOW
Projekt: (Gotowiec) https://www.dropbox.com/s/90cei8ohyopvmmp/MojLauncherMinecraft - Punkt3.zip

 

(Poprawiony Kod i Projekt od 1.0.0 do 1.7.4)

Kod: http://wklej.to/qXRbH

Projekt: (Gotowiec) https://www.dropbox.com/s/5m7oddbnunsxfpj/MojLauncherMinecraft%20-%20Punkt3%20-%20Fixed.zip

 

 
1. Do naszego "Prostego Launchera" dodajemy:
1x label
1x combobox
1x checkbox
ib0Ghai1JB2E4m.png
2. Dodajemy kod do naszych wersji (Pełnych 1.0.0 do 1.7.4)
iI49mtpURXZiw.png
3. Ustawiamy sobie nasze wersje do ComboBox
iDsOzzvUrk2ML.png
4. Robimy sobie "If'y" w taki sposób
ivq3C1kvRikJ8.png
Co to:

Thread.Sleep(10)            Shell("taskkill.exe /f /im cmd.exe")

Jest to kod który zamyka nam "konsolkę" automatycznie po 10 milisekundach
 
5. Robimy sobie tak aby nasza wartość w TextBox1.Text i TextBox2.Text (Nick i RAM) zapisywały się przy wyjściu i wczytywały przy uruchomieniu launcher'a
 
a) Launcher --> Properties --> Settings
ibZK8vRliPNTV.png
B) Wczytywanie i Zapis
iBeLAA9WNTkla.png
i2Qw8ABoWTwdl.png

~~~~~~~~~~  4 ~~~~~~~~~~

Kod: http://wklej.to/pmWaQ

Projekt: (Gotowiec) https://www.dropbox.com/s/a0x9uyimbznihyb/MojLauncherMinecraft%20-%20Punkt4.zip

 

JEST TO KONTYNUACJA LAUNCHER'A Z 3PKT

 

1. Dodajemy Kod Na Forge

igvfLRqTMkOfU.png

2. Dodajemy If'y

iTY01nCftkYnZ.png

3. Pobieramy potrzebne nam biblioteki i gramy :)

Linki na dole strony.

~~~~~~~~~~  5 ~~~~~~~~~~

 


Dowody Działania

ibiMzfD78aspsn.JPG

Skany

Gotowce

ifrYsmAfYh7FN.JPG

ibrvflJjTqttaj.JPG

ivLUm9nDJMKkU.JPG

iQbsLHoQLBqFK.JPG

iy2HIVvN8h6k5.JPG

Pliki

 

iboNckV6ynpmMo.JPG

igN4r8VqsqIWw.JPG

ipb34P1lSdvJM.JPG

Pobieranie

 

Ważne INFO!!!! Do działania potrzebne wam są jeszcze assets i natives!

371007.gif

 

  • Odpowiedzi 69
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Drodzy moderatorzy proszę dać mi jeszcze 24h na skan. Mam straszne lagi na lapku (59% zużycia procesora "system" nigdy tak nmiałem ;/)

371007.gif

 

Opublikowano

ładny poradnik ;) - no brakuje mi pkt 4 z spisu treści bo na niego liczę najbardziej - PS. będzie tam info o imlementowaniu np statusu serwera, item shopa, logowania odrazu na serwerze launcherem? - ogolnie polaczenie launchera i serwera za pomoca odp pluginsow?
leci plus ;)

Opublikowano

ładny poradnik ;) - no brakuje mi pkt 4 z spisu treści bo na niego liczę najbardziej - PS. będzie tam info o imlementowaniu np statusu serwera, item shopa, logowania odrazu na serwerze launcherem? - ogolnie polaczenie launchera i serwera za pomoca odp pluginsow?

leci plus ;)

tych pkt. bedzie o wiele więcej, to takie minimum ;)

 

Nie wiem czemu nie działa mi forge na 1.6.2 i 1.6.4 (jeszcze 5 tygodni temu działało aż miło)

371007.gif

 

Opublikowano

Nie lepiej to było to w Select Case zrobic albo Try ?

 

albo nie wiem,jakaś tablica array czy coś. elseif to już najgrosze rozwiązanie 

Opublikowano

Dzięki, poradnik przydatny. Brakowało mi paru bibliotek, napisałem do autora tematu, wszystko objaśnił, pomógł,

i przesłał brakujące biblioteki. Wielki + dla tego gościa! Oby więcej takich ludzi na mpcforum.

- Czytał pan nasz regulamin?

- Nie...

- Witamy na pokładzie!

MPCFORUM

Opublikowano

Nie lepiej to było to w Select Case zrobic albo Try ?

 

albo nie wiem,jakaś tablica array czy coś. elseif to już najgrosze rozwiązanie

Co do ifów to się nie zgodze, aczkolwiek funkcję Shell ze stałymi argumentami przeniósłbym pod tą instrukcję.
Opublikowano

xcxxxxxxxxx.png

zrobiłem tak jak w poradniku chyba 

 

sorry za spam troche zmęczony jestem i mogłem coś zwalić

Imports System.Net
Imports System.Net.Sockets
Imports System.Threading

Public Class TroLuncher

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
        Ram.Text = My.Settings.Ram
        Nick.Text = My.Settings.Nick
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        My.Settings.Ram = Ram.Text
        My.Settings.Nick = Nick.Text

        Dim login As String = "--username=" & Nick.Text
        Dim m100 As String
        Dim m110 As String
        Dim m125 As String
        Dim m132 As String
        Dim m147 As String
        Dim m152 As String = "javaw -Xmx" & Ram.Text & "m -Djava.library.path=%APPDATA%/.minecraft/versions/bin/natives -cp %APPDATA%/.minecraft/versions/1.5.2/1.5.2.jar;%APPDATA%/.minecraft/versions/bin/jinput.jar;%APPDATA%/.minecraft/versions/bin/lwjgl.jar;%APPDATA%/.minecraft/versions/bin/lwjgl_util.jar net.minecraft.client.Minecraft "
        Dim m162 As String = "javaw -Xmx" & Ram.Text & "m -Djava.library.path=%appdata%/.minecraft/versions/natives -cp %appdata%/.minecraft/libraries/1.6.2/jopt-simple-4.5.jar;%appdata%/.minecraft/libraries/1.6.2/codecjorbis-20101023.jar;%appdata%/.minecraft/libraries/1.6.2/codecwav-20101023.jar;%appdata%/.minecraft/libraries/1.6.2/libraryjavasound-20101123.jar;%appdata%/.minecraft/libraries/1.6.2/librarylwjglopenal-20100824.jar;%appdata%/.minecraft/libraries/1.6.2/soundsystem-20120107.jar;%appdata%/.minecraft/libraries/1.6.2/argo-2.25_fixed.jar;%appdata%/.minecraft/libraries/1.6.2/bcprov-jdk15on-1.47.jar;%appdata%/.minecraft/libraries/1.6.2/guava-14.0.jar;%appdata%/.minecraft/libraries/1.6.2/commons-lang3-3.1.jar;%appdata%/.minecraft/libraries/1.6.2/commons-io-2.4.jar;%appdata%/.minecraft/libraries/1.6.2/jinput-2.0.5.jar;%appdata%/.minecraft/libraries/1.6.2/jutils-1.0.0.jar;%appdata%/.minecraft/libraries/1.6.2/gson-2.2.2.jar;%appdata%/.minecraft/libraries/1.6.2/lwjgl-2.9.0.jar;%appdata%/.minecraft/libraries/1.6.2/lwjgl_util-2.9.0.jar;%appdata%/.minecraft/versions/1.6.2/1.6.2.jar net.minecraft.client.main.Main --session SessionID --version 1.6.2 --gameDir %appdata%/.minecraft  --assetsDir %appdata%/.minecraft/assets "
        Dim m164 As String = "javaw -Xmx" & Ram.Text & "m -Djava.library.path=%appdata%/.minecraft/versions/natives -cp %appdata%/.minecraft/libraries/1.6.2/jopt-simple-4.5.jar;%appdata%/.minecraft/libraries/1.6.2/codecjorbis-20101023.jar;%appdata%/.minecraft/libraries/1.6.2/codecwav-20101023.jar;%appdata%/.minecraft/libraries/1.6.2/libraryjavasound-20101123.jar;%appdata%/.minecraft/libraries/1.6.2/librarylwjglopenal-20100824.jar;%appdata%/.minecraft/libraries/1.6.2/soundsystem-20120107.jar;%appdata%/.minecraft/libraries/1.6.2/argo-2.25_fixed.jar;%appdata%/.minecraft/libraries/1.6.2/bcprov-jdk15on-1.47.jar;%appdata%/.minecraft/libraries/1.6.2/guava-14.0.jar;%appdata%/.minecraft/libraries/1.6.2/commons-lang3-3.1.jar;%appdata%/.minecraft/libraries/1.6.2/commons-io-2.4.jar;%appdata%/.minecraft/libraries/1.6.2/jinput-2.0.5.jar;%appdata%/.minecraft/libraries/1.6.2/jutils-1.0.0.jar;%appdata%/.minecraft/libraries/1.6.2/gson-2.2.2.jar;%appdata%/.minecraft/libraries/1.6.2/lwjgl-2.9.0.jar;%appdata%/.minecraft/libraries/1.6.2/lwjgl_util-2.9.0.jar;%appdata%/.minecraft/versions/1.6.4/1.6.4.jar net.minecraft.client.main.Main --session SessionID --version 1.6.4 --gameDir %appdata%/.minecraft  --assetsDir %appdata%/.minecraft/assets "
        Dim m172 As String = "javaw -Xmx" & Ram.Text & "m -Djava.library.path=%appdata%/.minecraft/versions/natives -cp %appdata%/.minecraft/libraries/1.7.2/vecmath-1.3.1.jar;%appdata%/.minecraft/libraries/1.7.2/trove4j-3.0.3.jar;%appdata%/.minecraft/libraries/1.7.2/icu4j-core-mojang-51.2.jar;%appdata%/.minecraft/libraries/1.7.2/jopt-simple-4.5.jar;%appdata%/.minecraft/libraries/1.7.2/codecjorbis-20101023.jar;%appdata%/.minecraft/libraries/1.7.2/codecwav-20101023.jar;%appdata%/.minecraft/libraries/1.7.2/libraryjavasound-20101123.jar;%appdata%/.minecraft/libraries/1.7.2/librarylwjglopenal-20100824.jar;%appdata%/.minecraft/libraries/1.7.2/soundsystem-20120107.jar;%appdata%/.minecraft/libraries/1.7.2/netty-all-4.0.9.Final.jar;%appdata%/.minecraft/libraries/1.7.2/guava-14.0.jar;%appdata%/.minecraft/libraries/1.7.2/commons-lang3-3.1.jar;%appdata%/.minecraft/libraries/1.7.2/commons-io-2.4.jar;%appdata%/.minecraft/libraries/1.7.2/jinput-2.0.5.jar;%appdata%/.minecraft/libraries/1.7.2/jutils-1.0.0.jar;%appdata%/.minecraft/libraries/1.7.2/gson-2.2.2.jar;%appdata%/.minecraft/libraries/1.7.2/authlib-1.1.jar;%appdata%/.minecraft/libraries/1.7.2/log4j-api-2.0-beta9.jar;%appdata%/.minecraft/libraries/1.7.2/log4j-core-2.0-beta9.jar;%appdata%/.minecraft/libraries/1.7.2/lwjgl-2.9.0.jar;%appdata%/.minecraft/libraries/1.7.2/lwjgl_util-2.9.0.jar;%appdata%/.minecraft/versions/1.7.2/1.7.2.jar net.minecraft.client.main.Main --version 1.7.2 --gameDir %appdata%/.minecraft --assetsDir %appdata%/.minecraft/assets --uuid id --accessToken 40d1fad5-37e6-40b2-bcc2-8dcb50522bf0 --username=" & Nick.Text
        Dim m174 As String = "javaw -Xmx" & Ram.Text & "m -Djava.library.path=%appdata%/.minecraft/versions/natives -cp %appdata%/.minecraft/libraries/1.7.4/vecmath-1.3.1.jar;%appdata%/.minecraft/libraries/1.7.4/trove4j-3.0.3.jar;%appdata%/.minecraft/libraries/1.7.4/icu4j-core-mojang-51.2.jar;%appdata%/.minecraft/libraries/1.7.4/jopt-simple-4.5.jar;%appdata%/.minecraft/libraries/1.7.4/codecjorbis-20101023.jar;%appdata%/.minecraft/libraries/1.7.4/codecwav-20101023.jar;%appdata%/.minecraft/libraries/1.7.4/libraryjavasound-20101123.jar;%appdata%/.minecraft/libraries/1.7.4/librarylwjglopenal-20100824.jar;%appdata%/.minecraft/libraries/1.7.4/soundsystem-20120107.jar;%appdata%/.minecraft/libraries/1.7.4/netty-all-4.0.10.Final.jar;%appdata%/.minecraft/libraries/1.7.4/guava-15.0.jar;%appdata%/.minecraft/libraries/1.7.4/commons-lang3-3.1.jar;%appdata%/.minecraft/libraries/1.7.4/commons-io-2.4.jar;%appdata%/.minecraft/libraries/1.7.4/jinput-2.0.5.jar;%appdata%/.minecraft/libraries/1.7.4/jutils-1.0.0.jar;%appdata%/.minecraft/libraries/1.7.4/gson-2.2.4.jar;%appdata%/.minecraft/libraries/1.7.4/authlib-1.2.jar;%appdata%/.minecraft/libraries/1.7.4/log4j-api-2.0-beta9.jar;%appdata%/.minecraft/libraries/1.7.4/log4j-core-2.0-beta9.jar;%appdata%/.minecraft/libraries/1.7.4/lwjgl-2.9.1-nightly-20131120.jar;%appdata%/.minecraft/libraries/1.7.4/lwjgl_util-2.9.1-nightly-20131120.jar;%appdata%/.minecraft/libraries/1.7.4/twitch-5.10.jar;%appdata%/.minecraft/versions/1.7.4/1.7.4.jar net.minecraft.client.main.Main --version 1.7.4 --gameDir %appdata%/.minecraft --assetsDir %appdata%/.minecraft/assets --assetIndex %appdata%/.minecraft/assets/indexes --uuid id --accessToken 40d1fad5-37e6-40b2-bcc2-8dcb50522bf0 --userProperties x --userType Premium"


        If ComboBox1.Text = "1.0.0" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m100 & Nick.Text)
            Thread.Sleep(10)
            Shell("taskkill.exe /f /im cmd.exe")
        ElseIf ComboBox1.Text = "1.1.0" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m110 & Nick.Text)
            Thread.Sleep(10)
            Shell("taskkill.exe /f /im cmd.exe")
        ElseIf ComboBox1.Text = "1.2.5" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m125 & Nick.Text)
            Thread.Sleep(10)
            Shell("taskkill.exe /f /im cmd.exe")
        ElseIf ComboBox1.Text = "1.3.2" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m132 & Nick.Text)
            Thread.Sleep(10)
            Shell("taskkill.exe /f /im cmd.exe")
        ElseIf ComboBox1.Text = "1.4.7" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m147 & Nick.Text)
            Thread.Sleep(10)
            Shell("taskkill.exe /f /im cmd.exe")
        ElseIf ComboBox1.Text = "1.5.2" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m152 & Nick.Text)
            Thread.Sleep(10)
            Shell("taskkill.exe /f /im cmd.exe")
        ElseIf ComboBox1.Text = "1.6.2" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m162 & login)
        ElseIf ComboBox1.Text = "1.6.4" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m164 & login)
            Thread.Sleep(10)
            Shell("taskkill.exe /f /im cmd.exe")
        ElseIf ComboBox1.Text = "1.7.2" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m172)
        ElseIf ComboBox1.Text = "1.7.4" And CheckBox1.Checked = False Then
            Shell("cmd.exe /c" & m174 & "--username=" & Nick.Text)
        End If
    End Sub

    Private Sub Form1_FormClosed1(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        My.Settings.Save()
    End Sub

End Class

Pomogłem? Daj lajka ;)


trorek.png 


 

Opublikowano

Można by zrobić też tak, że wersje byłyby automatycznie ściagane z serwera tak jak to było np. w minecraft version changer, co zapobiega ciągłym minimalnie gównianym aktualizacjom bazowego srouce które są aktualnie potrzebne gdy chcesz dodać inną wersje

Opublikowano

No chodzi oto, żebyś nie musiał za każdą nową wersją minecrafta samemu wchodzić do kodu, tylko żeby się to samo zapisało i pobrało z serwera .

 

Najprościej zrób sobie jakiś plik .txt z tym kodem z wersjami, wrzuć go na serwer, a w programie ustaw pobranie tego ,skopiowanie, i wrzucenie do funkcji.

 

Coś w stylu auto-update które za każdym razem dodaje kolejną linie kodu.

 

@edit

 

Albo zrobić folder w appdacie dla tego launchera, które na początku pobierze wszystkie wersje + jeśli nie posiada jakiejś versji nowej pobierze ją automatycznie(synchro z serwerem)

Opublikowano
 

@up no nie wiem, może być trudne, wiem o co Ci chodzi ale nie bardzo ogarniam

 

Najprostsza droga : Zrób na początku coś w stylu aplikacji ftp downloader, która pobierze plik z kodem oraz z resztą z ftp(moze byc to darmowe z friko lub cokolwiek), jak bys chcial to napisz na pw to dam ci cała klase na ftp 

 

później, StreamReader i copy & paste do funkcji, albo replace jakiś Const, no nie wiem. Opcji jest bardzo dużo. Możesz też zrobić własną bibloteke .dll w której wszystko napiszesz, tak żeby launcher ważył bardzo mało w wszystko znajdowało się tam.

 

Druga droga :

 

Bibloteka .dll programu, która za kazdym razem gdy application.version jest nowa, sama się usuwa(zeby nie wystapił błąd ze plik istnieje, wtedy wywaliło by błąd, dlatego wszystko rób w try catch ex as excetion end try),

sciaga, i odpala program. Wtedy modyfikujesz tylko .dll, nie ingerujesz w sam kod programu (tez spoko sprawa)

Opublikowano

Bez zmian pokazuje 

A JAVA EXCEPTION HAS OCCURRED

:) Ogólnie fajna inicjatywa z wszystkimi wersjami, ale coś to kuleje

apple.png

Opublikowano

@up to masz Ty problem tylko ;) mi działa innym działa Tobie nie :)

 

Już był jeden post z tym błędem :) Coś jest chyba nie tak, skoro teoretycznie "gotowy" projekt nie działa.

apple.png

  • 2 tygodnie później...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...