마인크래프트 멀티플레이어리스트의 내서버를 띄어보자

2013. 4. 1. 17:51·Game/Minecraft
반응형

2017-08-21

주의

이 글은 쓰여진지 4년이 다 되어가는 글입니다.

지금 마인크래프트와는 차이점이 많을 수 있으니, 다른 블로그 글을 참고하거나 직접 소스를 분석해서 서버 리스트에 서버를 추가하는 소스를 작성하시기 바랍니다.


이 소스대로 하면 마인크래프트를 실행할 때 마다 추가한 서버가 한개씩 늘어나는 괴현상이 생깁니다.

해당 처리는 이 포스팅에서 다루지 않습니다. 직접 알아보세요.




안녕하세요. 말똥이입니다.


이번에 포스팅할 것은 마인크래프트 멀티를 할때 꼭 누르게 되는 멀티플레이메뉴에

자신의 서버가 항상 뜨게 하는법을 알아보겠습니다.


서버 리스트를 로딩하는데를 찾으러 가볼까요?


ServerList.java로 가봅시다.


    public void loadServerList()



오.. 뭔가 있을거같죠?




            NBTTagCompound var1 = CompressedStreamTools.read(new File(this.mc.mcDataDir, "servers.dat")); // 여기서 서버주소,포트 뽑아서 var1이라는 NBTTagCompound형 변수에 넣고

            NBTTagList var2 = var1.getTagList("servers"); // 또 그걸 어떻게 정제하는지는 모르겠지만 또 NBTTagList형인 var2변수에 집어넣습니다.

            this.servers.clear(); // 그리고 서버리스트는 지워줍니다.



그리고 그 아래



            for (int var3 = 0; var3 < var2.tagCount(); ++var3)

            {

                this.servers.add(ServerData.getServerDataFromNBTCompound((NBTTagCompound)var2.tagAt(var3)));

            }


이런게 있습니다.


이건 복잡하게 생각할필요 없고 서버갯수만큼 for문을 돌려서 추가하는겁니다.


this.servers.add(ServerData.getServerDataFromNBTCompound((NBTTagCompound)var2.tagAt(var3)));


이렇게 추가를 하는군요..


더욱 줄여보자면


this.servers.add(서버 데이터);


이런 식으로 추가하는겁니다.


데이터를 받는곳을 보니



        NBTTagCompound var1 = new NBTTagCompound();

        var1.setString("name", this.serverName);

        var1.setString("ip", this.serverIP);

        var1.setBoolean("hideAddress", this.hideAddress);


        if (!this.field_78842_g)

        {

            var1.setBoolean("acceptTextures", this.acceptsTextures);

        }


        return var1;


이렇게 되있더라고요.


설명 들어갑니다





        NBTTagCompound var1 = new NBTTagCompound(); // var1이라는 NBTTagCompound형 변수를 만듬

        var1.setString("name", this.serverName); // 그변수의  서버이름 설정

        var1.setString("ip", this.serverIP); // 서버주소설정

        var1.setBoolean("hideAddress", this.hideAddress); // 주소숨기는건지 확인(Boolean형임 - true또는 false로 이루어진 변수형)


        if (!this.field_78842_g)

        {

            var1.setBoolean("acceptTextures", this.acceptsTextures);

        }

몰라요 이곳은 택팩관련일거임..;;


        return var1; var1을 리턴합니다.



그리하여


            ServerData var11 = new ServerData("서버이름", "서버주소");

            var11.hideAddress = true;

            var11.setAcceptsTextures(true);

            this.servers.add(var11);


소스가 이렇게 완성됩니다..


옵션 바꿀거 있으면 true를 false로 바꾸셔도 됩니다.


위 소스를


            for (int var3 = 0; var3 < var2.tagCount(); ++var3)

            {

                this.servers.add(ServerData.getServerDataFromNBTCompound((NBTTagCompound)var2.tagAt(var3)));

            }


이 for문 위에 넣으세요.


아래에 넣게 되면 for문 다 끝난다음 서버 목록에 추가되어서, 서버가 맨아래 추가됩니다. 우리는 맨 위에 추가하고 싶죠.


그러면




맨 위에 떠있게 됩니다.

우왕굳.



반응형
저작자표시 비영리 동일조건 (새창열림)
'Game/Minecraft' 카테고리의 다른 글
  • 마인크래프트 1.5.2 한글패치 [한글채팅/한글패치]
  • 멀티플레이어에뛰운내서버의수정을 막자
  • 마인크래프트 서버 접속기 만들기[6]
  • 마인크래프트 서버 접속기 만들기[5]
ryush00
ryush00
IT 관련 글이 올라와요
    반응형
  • ryush00
    말똥이의 블로그
    ryush00
  • 전체
    오늘
    어제
    • 모든 글 (225)
      • 블로그 (13)
        • 공지 사항 (5)
        • 블로그 운영 팁 (6)
        • 기타 (2)
      • IT (69)
        • 정보글 (51)
        • 리뷰 (8)
        • 심층 분석 (5)
        • NAS (5)
      • Game (44)
        • Minecraft (40)
        • 게임 정보글 (4)
      • Dev (53)
        • PHP (1)
        • HTML & CSS (0)
        • Ruby (3)
        • DB (2)
        • 클라우드 (2)
        • 행사 (0)
        • 삽질 방지 (20)
      • 마인리스트 (10)
      • 이모저모 (21)
        • 나의 생각 (7)
        • 나의 일상 (4)
        • 유용한 것들 (3)
        • 노하우 (6)
      • 휴지통 (0)
      • 안전 (0)
        • 베리어프리 (0)
        • 교통 안전 (0)
  • 블로그 메뉴

    • 전체글
    • 공지사항
  • 링크

    • 마인리스트
  • 공지사항

    • 저작권 안내
  • 인기 글

  • 태그

    NAS
    구글 지도
    문제해결
    오류
    howto
    해킹
    마인리스트
    클라우드플레어
    티스토리 초대장
    java
    애플
    티스토리
    블로그
    토렌트
    안드로이드
    Ruby on Rails
    php
    bukkit
    구글 지도 반출
    MySQL
    시놀로지
    개발
    apk
    마인크래프트
    아이폰
    삽질
    spigot
    CloudFlare
    ruby
    맥
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ryush00
마인크래프트 멀티플레이어리스트의 내서버를 띄어보자
상단으로

티스토리툴바