2014년 9월 9일 화요일

마인크래프트 한글패치(AdChat) 1.8

1.8 한글패치를 가지고 돌아온 KIPA00이에요!

중요!

새로운 버전이 나왔습니다! 여기로 이동해 주세요!


이전 버전과 다른 점


한가위라 친가에 가서 사촌들에게 HGPatch를 읽어보라 하니 에이치지패치라고 해서(...)
한글패치 이름을 개편하여 AdChat으로 새롭게 시작합니다.
AdChatAdvanced 한글 Chatting의 줄임말입니다.
읽을 때는 애드챗 애드챗 하시면 돼요. 한글패치인데 왜 한글이란 말이 없냐 하면,
넣으니까 핸게울(...) 아니면 에이치지(...)가 될 것 같아서 그냥 빼 버렸습니다.
이번 버전까지는 "한글패치" 혹은 "HGPatch"와 "AdChat"이라는 이름을 병행하고,
다음 1.8 버전이나 그 이후 버전부터는 AdChat 쓰겠습니다.
이렇게 하는 이유는 당근 검색 유입 때문입니다.
다음 버전부터 제 한글패치를 찾으시려면 AdChat이라고 검색해 주시면 되겠습니다.

이하는 HGPatch와 다른 점입니다. 추가/삭제 사항은 없고, 수정 사항만 있습니다.
  1. 한글패치 메커니즘이 약간 수정되었습니다.
    속도가 아주 약간 빨라지겠지만, 눈에 띄는 차이는 아닐 겁니다.
  2. 1.7.8까지 유지되었던 이스터 에그가 사라지고 다른 이스터 에그가 들어왔습니다.
    1.7.2에도 있던 이스터 에그는 여전히 있으니까, 현재 이스터 에그는 두 개입니다.
    너무 못 찾는 것 같아서 이스터 에그 힌트를 드리자면,
    제일 안 쓸 것 같은 기능에 넣어두지 않았을까요?

수정 방지에 관해


1.7.4New 버전부터 수정 방지 차원에서 수정된 클래스 파일에 잠금을 걸어 놓았는데요,
상황을 보아 다음 버전부터 풀 생각입니다. 기쁜 소식이죠!
원래 수정 방지의 목적은 제 한글패치가 다른 사람의 한글패치로 알려지는(특히 룻트님 ㅠㅠ) 경우가 한둘이 아니어서 제 것임을 잠금을 걸어서 보여 주었는데요, 제 한글패치를 많은 분들이 사용하시고 또 알게 되면서 더 이상 그럴 필요가 없게 되었다는 판단을 내렸습니다.
물론 상황을 보고 악화된다면 더 강한 잠금을 걸 수도 있습니다.

(추가됨) 보고된 버그


현재 보고된 버그는 총 2개입니다. 시험 마치고(10월 22일 이후) 고칠 생각입니다.
저도 평범한 일반고생이니까 시험은 멀쩡하게 칠 수 있도록 해 주세요 ㅠㅠ
  1. 표지판에서 아무 것도 입력하지 않은 상태로 bksp를 누르면 튕깁니다. 원인은 substring 예외 처리가 없다 정도겠군요.
  2. 중성 "ㅟ"를 가진 일부 글자들의 중성이 "ㅝ"로 보입니다. 일일이 수정해야 되므로 시간이 오래 걸릴 수 있습니다.
이외에도 더 보고받게 된다면 시험 마치고 고쳐 보겠습니다.

이제 파일 주세요!


제발, 위의 내용이 길더라도 파란색 아니면 빨간색으로 강조 표시된 부분,
하다못해 밑줄 친 세 문장이라도 꼭 읽어주세요.

다 읽고 오셨다면 여기서 받아가시면 됩니다. 설치 방법은 다시 말하지 않겠습니다.

이상, AdChat 제작자 KIPA00이었습니다!

댓글 30개:

  1. 포스팅 된다는건지 안된다는건지...

    답글삭제
  2. 근데 AdChat은 Advertisement Chatting같으니까 AdvChat으로 바꾸는거 추천해요!

    답글삭제
    답글
    1. 그래도 같은데요 AdvanChat이 아닌 이상 ..

      삭제
    2. AD는 광고, ADV는 주로 Advanced를 나타냅니다. 사전 찾아보면 Adv가 advertisement 도 있지만 주로 광고는 ad를 쓰니까요 ㅇㅂㅇ

      삭제
    3. "광고"를 예상치 못했던 것은 아니지만, 저 이름을 발음 때문에 바꿨던 만큼 "AdvChat"가 [애드브챗]으로 읽히는 게 싫어서 Ad를 썼습니다.

      삭제
    4. 작성자가 댓글을 삭제했습니다.

      삭제
  3. 한글패치 만들어 보고 싶은데 어떻게 만드나요?

    답글삭제
    답글
    1. 기초부터 차근차근 해 보세요. 프로그래머는 생각하는 것만큼 호락호락한 직업이 아닙니다. 정복해야 할 큰 산은 세 가지로 나뉩니다:

      1. 컴퓨터가 이해하는 언어를 하나 이상 완벽히 구사하기.
      모든 사람이 사용하는 모국어가 다르듯, 컴퓨터 프로그램도 사용하는 언어가 각각 다릅니다. 컴퓨터는 한 가지 언어인 "기계어"만을 이해하는데 이는 사람이 이해하기에는 매우 힘드므로 프로그램의 편리한 개발을 위해 "고-수준 언어"를 지원합니다. 고치고 싶은 "마인크래프트"가 이해하는 언어는 Java입니다. 따라서 Java를 완벽하게 이해하는 것이 한글패치를 만드는 데 중요합니다. Java를 배울 만한 곳으로 추천할 곳은 잘 모르겠습니다. 저는 Java를 눈대중으로 배웠습니다(...) 이는 C++를 배웠기 때문에 가능한 것으로 생각됩니다. Java와 C++의 관계는 한국어와 일본어의 관계로 보면 쉽습니다.

      2. 컴퓨터가 생각하는 방식을 이해하기.
      4*(2+3)은 얼마인가요? 사람은 2 + 3 = 5, 4 * 5 = 20이라는 과정을 통해 20을 이해하지만 컴퓨터는 이 수식을 이해하는 방식이 완전히 다릅니다. (간단히 설명하자면, "4*(2+3)"을 "4 2 3 + *"라는 후위식(postfix expression)으로 바꾼 후, 이 식을 스택(stack)이라는 구조에 넣어 계산합니다.) 컴퓨터가 생각하는 방식은 사람이 생각하는 방식과 같은 것도 있지만 보통은 매우 다르므로 충분한 이해를 바탕으로 해야 합니다. 이에 대해서는 http://learn.code.org/ 를 강추합니다.

      3. 프로그램 공격의 기본 원리나 기초적 기법을 이해하기.
      우리가 새로운 프로그램을 만들 것인가요? 아닙니다. 한글패치는 기본적으로 모드(Modification)이며 따라서 이전에 있던 기계어로 쓰인 마인크래프트를 Java 언어로 바꾸었다가 다시 기계어로 바꿀 필요가 있습니다. 하지만 마인크래프트는 난독화(obfuscation)를 하여 단순한 방법으로는 구조를 파악하기 힘듭니다. 이것은 따로 배울 수 있는 방법은 없으며, Java를 배우면서 코딩 관습 등을 따르고, 이를 바탕으로 값을 찍는 등의 공격 행위를 하여 무엇이 무슨 역할을 하는지 알 필요가 있습니다. 첨언하자면 한글패치를 만들기 위해 마인크래프트의 전체를 이해할 필요가 없다는 점만을 명심하세요.

      삭제
  4. 룻트 한글패치보다 심플하고 한영키 전환이 가능해서 좋아하는 편입니다.
    그러나 포지랑 같이 못쓴다는게 좀 아깝네요. 다른 모드들과 같이 쓰고 싶은데(nei라던지) 같이 못쓰다 보니 그점은 많이 좀 아쉬운 편입니다. 다음부터는 지원해 주셨으면 감사하겠습니다.

    답글삭제
    답글
    1. 포지 모드는 아쉽게도 만들지 않습니다. 죄송합니다. 이유는 크게 두 가지입니다.

      1. 포지가 모든 것을 바꿀 수 있게 설계된 것은 아닙니다. 한글패치의 기본 기능 정도는 구현할 수 있겠지만, 마인크래프트 코드의 전반적인 흐름을 바꾸지 못해 원활한 컨텐츠 제공이 어렵습니다.
      2. 포지는 개발의 편의를 위해 수정된 클래스 파일의 주요한 기능에 대해 난독화가 풀려 있습니다. 이는 한글패치의 코드를 누구나 자유롭게 수정하여 바이러스를 퍼뜨린다든지 하는 일들이 쉽게 가능해진다는 뜻입니다. 제가 수정된 클래스 파일을 알 수 없게 한 것도 이 이유가 큽니다.

      삭제
  5. 자동설치기 만들고 싶은데 만들어도 되나요?

    답글삭제
    답글
    1. 죄송합니다, 자동 설치기에 관해서는 웬만하면 안 된다고 말씀드리고 있습니다. 정말로 설치기를 만드는 선량한 분들도 많으시겠지만 보통 자동 설치가 잘 되지 않거나 바이러스가 있거나 하기 때문입니다. 하나의 자동 설치기가 만들어지면 그를 분석하여 수정된 클래스 파일을 찾을 수 있는 것도 문제가 됩니다.

      삭제
    2. 안녕하세요.. 위에서 한번 언급되었는데
      혹시 자동설치기는 아니고 한글화 파일을
      마인크래프트 경로를 기본경로로 하여 원클릭으로 압축해제 하는
      파일은 배포해도 괜찮을까요?

      삭제
    3. 수정하는 자체가 금지입니다..
      간편설치기든 원클릭압축해제하든
      배포자의 파일을 수정하면 불법입니다.

      삭제
    4. 그러니까 파일을 수정하지 않고 그대로 넣겠다는 말씀이시지요? 네, 하셔도 됩니다. 파일 수정의 한계는 압축을 푼 후의 파일들에 한정하여 적용됩니다.

      삭제
  6. 저만 그런지는 모르겠는데 게임중에 표지판을 세우고 아무것도 안 쓴 상태에서 백스페이스키를 누르면 에러가 나면서 팅깁니다. 어쩌죠?

    답글삭제
    답글
    1. 아아 substring 예외 처리 안 했나 봐요 ㅠㅠ 죄송합니다
      일단 그대로 써 주세요. 패치 버전은 다음 주에 올릴게요
      고등학생이라 시간이 많지 않아서 ㅠㅠ

      삭제
  7. 안녕하세요 마인크래프트를 즐기려는 한 꼬마입니다. 제가 이 'adchat'를 설치하기 위해 사이트에 들어가서 다운로드 버튼을 딱 눌렀는데 '현재 이 파일을 보거나 다운로드할 수 없습니다.

    최근에 이 파일을 보거나 다운로드한 사용자가 너무 많습니다. 잠시 후 파일에 다시 액세스해 보시기 바랍니다. 액세스하려는 파일이 너무 크거나 공유 사용자가 많은 경우 파일을 보거나 다운로드하는 데 최대 24시간이 걸릴 수 있습니다. 24시간 후에도 파일에 액세스할 수 없는 경우 도메인 관리자에게 문의하시기 바랍니다.'라고 떴어요. 이거 어떻게 해야 하나요? 해결 방법을 모르겠습니다. 좀 도와주세요..

    그리고 좋은 하루 보내세요~(*^▼^*)

    답글삭제
    답글
    1. 공유 사용자가 지나치게 많나 봅니다. 일단 구글에서 계속 쓸 생각이 있으니, 24시간 후에 정말로 다시 시도해 보세요(댓글 쓰신 날짜를 보아하니 지금이 가장 적절해 보이네요.). 그래도 안 된다면, 이 댓글에 다시 댓글 달아 주세요.

      삭제
  8. 표지판 아무것도 안쓰인 줄에서 백스페이스를 누르면 크래쉬 뜹니다.
    저만 그런가요?

    답글삭제
    답글
    1. 보고된 버그입니다. substring 처리를 안 했나 보네요. 이번 주까지 하겠다고 했는데 중간고사가 겹쳐서... 시험 마치고 2차 버전 내놓으면서 글자 수정 등 모든 것을 하겠습니다. 현재 "ㅟ"가 붙은 일부 글자들의 중성이 "ㅝ"로 보이는 버그도 보고되었습니다.

      삭제
  9. 안녕하세요 블로거 프리루트입니다
    혹시 괜찮으시다면 해당 파일을 간편설치기로 제작해서 공유해도 될까요? ( 제작자 명시 및 파일의 출처 포함까지 해서 )

    답글삭제
    답글
    1. .class 파일을 수정하는 것은 현재는 막고 있습니다. 죄송합니다. 파일을 직접 교체하는 간편설치기는 출처 명시 하에 얼마든지 하셔도 됩니다!

      삭제
  10. 답글
    1. 제가 직접 만든 거라서, 바이러스는 없다고 확실히 말씀드릴 수 있습니다. 감사합니다!

      삭제
  11. 적용했는데 안 되더라고요.....
    ㅠㅠ

    답글삭제
    답글
    1. 어디에 적용하셨나요? 파일 경로는 %appdata%\.minecraft\versions입니다.

      삭제