Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал Замена байт клиента и сервера bukkit с 1.3.1 не работает

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Pawelitel, 27 ноя 2011.

  1. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    Копался всю прошлую ночь и наконец нашел заветные строчки :)
    Ну что начнем урок!
    1) Нам понадобится MCP для minecraft 1.0.0
    2) Я использую NetBeans и этот пример будет на нем
    3) Удобный текстовой редактор, желательно NotePad++
    4) Исходники Bukkit желаемой версии (я использовал 1510 билд)
    5) InClassTranslator

    Начнем!

    1) Создаем в удобном вам месте папку с любым названием и распаковываем туда все из архива с программой MCP. Далее качаем чистый клиент (лучше чистый) и копируем папку bin клиента в папку jars извлеченного MCP. Жмем decompile.bat и ждем пока клиент декомпилируется, а пока что перейдем к серверу...
    2) Устанавливаем NetBeans. Распаковываем в удобное место все из архива с исходниками bukkit'a, После установки NetBeans жмем Файл>Создать проект, в открывшемся окне жмем далее, а в следующем Называем как хотим ваш проект и внизу снимаем галочку Создать главный класс. После создания щелкаем по проекту правой клавишей мыши>свойства, далее в поле исходные файлы выделаем папку src и удаляем ее! Далее жмем кнопку Добавить папку и указываем путь до исходников сервера! Слева в меню выбираем библиотеки и указываем путь до готового сервера Bukkit'a желательно такого же билда. Жмем ОК
    3) У вас появились слева список исходных файлов и их директорий. Проходим по следующему пути main.java.net.minecraft.server Тут ищем файл с названием NetLoginHandler.java Далее в нем ищем следующие строки
    Код:
        public void a(Packet1Login packet1login) {
            this.g = packet1login.name;
            if (packet1login.a != 22) {
                if (packet1login.a > 22) {
                    this.disconnect("Outdated client");
                } else {
                    this.disconnect("Outdated server");
                }
            } else {
                if (!this.server.onlineMode) {
                    this.b(packet1login);
                } else {
                    (new ThreadLoginVerifier(this, packet1login, this.server.server)).start(); // CraftBukkit
                }
            }
        }
    Видим два одинаковых числа 22 это и есть наша версия, меняем на свое усмотрении но так чтобы эти два числа совпадали например (23 и 23)
    4) Жмем по нашему проекту правой клавишей и выбираем слово Построить, если у вас построение совершилось с ошибкой значит начинайте все заново!
    5) Теперь извлекаем из скомпилированного проекта файл NetLoginHandler.class и засовываем его в нормальный сервер

    Перейдем к клиенту

    За время редактирования сервера декомпиляция должна была уже пройти

    1) Так идем в папку с MCP проходим далее в src>minecraft>net>minecraft>src
    Тут ищем файл NetClientHandler.java
    2) Открываем его NotePad++
    3) Ищем в нем следующее

    Код:
    if(packet2handshake.username.equals("-"))
    
            {
    
                addToSendQueue(new Packet1Login(mc.session.username, 22));
    
            } else
    
            {
    
                try
    
                {
    
                    URL url = new URL((new StringBuilder()).append("http://mdsset.sytes.net:8080/2/register/game/joinserver.jsp?user=").append(mc.session.username).append("&sessionId=").append(mc.session.sessionId).append("&serverId=").append(packet2handshake.username).toString());
    
                    BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openStream()));
    
                    String s1 = bufferedreader.readLine();
    
                    bufferedreader.close();
    
                    if(s1.equalsIgnoreCase("ok"))
    
                    {
    
                        addToSendQueue(new Packet1Login(mc.session.username, 22));
    
                    } else
    
                    {
    
                        netManager.networkShutdown("disconnect.loginFailedInfo", new Object[] {
    
                            s1
    
                        });
    
                    }
    
                }
    Опять замечаем два одинаковых числа 22 меняем их на те которые вы прописали в сервере, сохраняемся!
    4) Идем опять в папку MCP и жмем на recompile.bat ждем завершения
    5) После завершения пункта 4) Жмем на reobfuscate.bat так же ждем завершения
    6) После проведения действий пункта 4 и 5 проходим в папку reobf и видим файл который был изменен, его вам надо переместить в свой клиент то есть в minecraft.jar и не забудьте удалить папку META-INF

    Спасибо за внимание надеюсь вам это пригодилось! Удачи!
     
    qwertyYy2, Bars, DimasForce и 8 другим нравится это.
  2. Хостинг MineCraft
    <
  3. momai

    momai Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    momai
    Хм. Вещь конечно полезная, но ни чего не мешает внести необходимые изменения в уже скачаный клиент. Нужно ток тем кто скины юзает на серваках своих. Ну либо использовать лаунчер с автоапдейтом и запретить использование другого.
     
  4. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    ну это тема чисто про привязку клиента к серверу и для этого на форуме есть соответствующие темы доделать скины и плащи дело 2-х минут
     
  5. sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    Это привязка сервер<->клиент, скоро выложу тутор, как сделать что бы клиент проверял md5 с сайта, если не соответсвуют - блок кнопки Multiplayer
     
    Stalkerdeni971 нравится это.
  6. level96

    level96 Активный участник Пользователь

    Баллы:
    88
    Оо, буду очень тебе благодарен!!!
    Когда примерно выложешь тутор?
     
  7. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    да тоже интересно, буду усовершенствовать знания :)
     
    NoNaMeHaCkEr2002 нравится это.
  8. sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    Когда сам разб. очень скоро. (PS: Технология ворованная:D)
     
  9. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
  10. byxar

    byxar Старожил Девелопер

    Баллы:
    103
    как я уже писал, у этого способа есть существенный минус - не получится зайти на другие сервера, т.к. будет писать что то типа "Outdated Server"
     
    Mr_RoboMan нравится это.
  11. sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    Решаетсся так:
    в NetClientHadler
    и в GuiConnecting
     
    Mr_RoboMan, ВремяПриключений и byxar нравится это.
  12. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    зачем заходить на другие серверы, если это специально для одного сервера, на то она и привязка
     
    Mr_RoboMan и I-Am-Black-Overlord нравится это.
  13. sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    Мои игроки жаловались на это, раньше я делал так + кнопка сетевая игра в главном меню автоматом отправляла игрока на мой серв
     
    Mr_RoboMan нравится это.
  14. byxar

    byxar Старожил Девелопер

    Баллы:
    103
    ну например захотел я с другом на локалке поиграть, и что тогда делать?
     
    Mr_RoboMan нравится это.
  15. welcome13

    welcome13 Старожил

    Баллы:
    103
    Skype:
    anttoxa1387
    Имя в Minecraft:
    welcome13
    Юзай другой клиент, как вариант.
     
    Mr_RoboMan нравится это.
  16. Fantarar

    Fantarar Старожил Переводчик Пользователь

    Баллы:
    123
    компилил лаунчер а вот букит из исходников никак не получается, что делать?
     
    Mr_RoboMan и zuma2 нравится это.
  17. lol63

    lol63 Модератор Переводчик

    Баллы:
    153
    Буккит мавеном компилится
     
    Mr_RoboMan и Сникерсни нравится это.
  18. Fantarar

    Fantarar Старожил Переводчик Пользователь

    Баллы:
    123
    можно подробнее что это и как?
     
    Mr_RoboMan нравится это.
  19. sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    его моно и еклипсом, смотри github
     
    Mr_RoboMan нравится это.
  20. Fantarar

    Fantarar Старожил Переводчик Пользователь

    Баллы:
    123
    я с эклипсом тем более не дружу:)
     
    Mr_RoboMan нравится это.
  21. sashok724

    sashok724 Старожил Девелопер

    Баллы:
    123
    ну тогда ничего предл не могу
     
    Mr_RoboMan нравится это.

Поделиться этой страницей