Minecraft 1.6.2 Custom Launcher

TheUnrealMegashark

I am making a launcher for Minecraft. 1.6.2 changed a lot, so the way you login is different. If any of you have any knowledge of logging into minecraft using C#, I would appreciate it.

wClient.DownloadString("http://login.minecraft.net/?user=" + strUsername + "&password=" + strPassword + "&version=13");  

I believe this used to be a valid way of doing it, but I am not quite sure anymore. Help is appreciated, thanks.

TrinaryAtom

In reply to TheUnrealMegashark's comments to Rhys Towey's Answer. I have been working really hard to get it to launch, but. Its throwing me off a bit. The very next update will include a 1.6 fix. Just got to figure it out.

The proper answer to your question is that the web link that fetches the Session is still currently in use. Nothing new there.

Beware! You must know that your

"http://login.minecraft.net/?user=" + strUsername + "&password=" + strPassword + "&version=13"

Is unsafe. It sends the password of the user through the internet in plain text. it can be subject to "Man in the Middle" attacks.

One of the proper ways to encrypt the connection is to use HTTPS with POST. Using POST, I avoid sending all of the data in the request URL and send the data through POST. Using HTTPS, I encrypt any data sent after the request URL returns. HTTPS makes POST encrypted, thus removing "Man in the Middle" attacks.

You can use GET with HTTPS and it still be secure (from what i have read). But, it is considered an unsafe practice. Although it is safe in all accounts between your computer and the connected device, anywhere else it might be seen and be subject to "Man behind you Attack". What I mean is that when you send this URL, it is possible for your computer to record the URL in some sort of history, or, display it in an address bar in plain text. Although, sense your not making a web browser and the URL is not displayed, this could possibly all be forgotten.

But, If it were me, I would still play it safe and just use the safer strategy.


To use HTTPS with POST.
Here is a sample of code i use in my "AtomLauncher." This code will send the POST data to the URL and return a string. Goto http://www.minecraftwiki.net/wiki/Minecraft.net to get more info on the string that is returned.

string mcURLData = "Error";
using (WebClient client = new WebClient()) // Get Data from Minecraft with username and password
{
    //  This a Text control for my Program, ignore this commented line if you wish.
    //  this.Invoke(new MethodInvoker(delegate { homeLabelTop.Text = "Connecting to Minecraft.net..."; }));
    try
    {
        System.Collections.Specialized.NameValueCollection urlData = new System.Collections.Specialized.NameValueCollection();
        urlData.Add("user", "UserName");
        urlData.Add("password", "MYPa22w0rd");
        urlData.Add("version", "13");
        byte[] responsebytes = client.UploadValues("https://login.minecraft.net", "POST", urlData);
        mcURLData = Encoding.UTF8.GetString(responsebytes);
    }
    catch
    {
        if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
        {
            mcURLData = "Internet Disconnected.";
        }
        else
        {
            mcURLData = "Can't connect to login.minecraft.net.";
        }
    }
}

To use HTTPS with GET
just simply change the

http

in your code to

https


In other news.

I have fixed my code. Feel free (when its uploaded) to use it. For your information, you need to know that when 1.6.X launches it creates a natives folder of which it starts using immediately. What I have done to fix this was to run 1.6.2 and copy the natives folder it created and removed the number.

Created "version/1.6.2/1.6.2-natives-###"
Copied it to "version/1.6.2/1.6.2.natives"
Point my program to "natives" folder I created.

What I'll end up doing in the future is automatically checking for the natives folder and if it doesn't exist, I'll have it download natives from the internet. (I would love to know where minecraft is getting its current natives so i can essentially do the same thing. Unless, what it does is download it from the internet every time it launches. If true, that's kind of ugly. Seeing as I have bandwidth usage limits.)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Minecraft Custom Launcher 1.7.10 java.library.path에 lwggl 없음

Minecraft Launcher re-compile

Ubuntu에서 Minecraft Launcher가 "Starting Launcher"에서 멈춤

How to finish my custom launcher Programmatically in android

Minecraft Launcher : 기본 방법을 얻을 수 없습니다.

Minecraft Launcher가 Lubuntu 18.04 LTS에서 작동하지 않습니다.

Unity launcher shown over Dota 2 in Fullscreen

vector <int> + = 1,1,2,2,2,3,4,5,6; 가능한?

python custom sort list 1/2/3/../9/10

jdk 1.7.0_u2 x64의 Minecraft

hadoop_2_6_1_0_129-hdfs 설치

RailsTutorial Chapter 6 wrong number of arguments (1 for 2)

`foo[1] ==1; foo[1][2]==3; foo[1][2][3]==6` JavaScript에서 작동합니까?

JavaScript에서 [1,2] + [4,5,6] [1] = 1,25

다른 디렉토리에서 Java 프로그램을 통해 Minecraft Launcher를 실행 하시겠습니까?

Minecraft 서버-1 개의 외부 IP, 2 개의 서버, 2 개의 포트-게임에서 포트 지정 방지-SRV 기록

為什麼 Julia 為等效表達式返回不同的結果?6÷2(1+2) 和 6÷2*(1+2)

2로 그룹화 된 인접 요소 교체 [1,2,3,4,5,6] = [2,1,4,3,6,5]

Find smallest number K , if exists, such that product of its digits is N. Eg:when N = 6, smallest number is k=16(1*6=6) and not k=23(2*3=6)

Find smallest number K , if exists, such that product of its digits is N. Eg:when N = 6, smallest number is k=16(1*6=6) and not k=23(2*3=6)

Custom prototype cell xcode 6

Xcode 6 custom launch screen

Custom right-click action in Unity Launcher keeps cursor busy for 20 seconds

Java에서 1=>5에 대한 함수를 찾으십시오. 2=>4; 3=>3; 4=>2; 5=>1; 6=>7; 7=>6;

How to concatenate c(1,2,3) and c(4,5,6) to c(1,4,2,5,3,6) in R?

순서 반복 방법 : 1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10 in r

DHCPD ip6, No subnet6 declaration for enp2s0 (2001:470:1f1a:5b3::2)

int 배열([3,6])을 [[1,2,3],[1,2,3,4,5,6]]으로 변환

Minecraft Launcher가 보이지 않습니다. 미리보기가 작동하지만 alt-tab / alt-space는 작동하지 않습니다.

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관