1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Утилита [Forge, Skins, Cloaks, Joinserver] Создание клиента для личного сервера

Тема в разделе "Модификации клиента", создана пользователем caver, 10 июл 2013.

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

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

    Баллы:
    88
    Skype:
    caver15
    После того как накропал альфу версии авторизацинного сервера для 1.6.x возник вопрос с генерацией "патченного" клиента c переопределение URL для /joinserver и загрузки скинов/плащей с нужного мне сервера, а также интегрировать Forge. Пошел старой накатанной дорогой. Т.е. Взял MCP декомпилировал клиента, поменял пути NetClientHandler.java и AbstractClientPlayer.java собрал, залил в jar. В общем все как обычно. Вооружился новой системой установки Forge для 1.6.x и думал что получу тут же все из коробки и даже не чизнув. А вот фигушки. В новых форджах произошли серьезные изменения.
    1. Forge в виде пака install патчит все на лету
    2. Вывод из 1: проверяется целостность файлов в клиенте, если что не так ругаемся (в принципе меня удовлетворял такой вариант) однако п.3
    3. Forge стал патчить пресловутый NetClientHandler.java, соответственно Forge патчи не накладываются -> неизвестно какие последствия, проверять не хочется.
    Начал разбираться как и что. После недолгого курения форумов и документации я принял решение собирать собственно клиент с Forgeм из сорцов, с промежуточным подсовыванием своих патчей.
    В аттаче скриптик ( linux only !!! впрочем желающие могут попробовать под cygwin) c патчами для клиента.

    Способ употребления:
    1. Скачать и распаковать архив.
    2. Зайти в директорию forge.builder
    3. Отредактировать buildclient.sh на предмет версии клиента и форджа (актуальные версии форджа можно узнать на официальном сайте)
    4. Зайти в директорию forge.builder/patches и отредактировать AbstractClientPlayer.java.skinscloack.patch NetClientHandler.java.joinserver.patch на предмет URL вашего сайта, заменяя "YOUR.SITE.HERE" на нужное
    5. Запустить buildclient.sh и ждать пока сборка закончится (это может занять МНОГО времени, в связи с тем что выкачиваются библиотеки и assets)
    6. Использовать 1.6.2-forge.jar по назначению :D

    PS: Третьим патчем FMLSanityChecker.java.dirtyhack.patch отключается проверка на наличие сертификата в META-INF, никаких параметров fml.ignoreInvalidMinecraftCertificates передавать не надо.
    PPS: Из .json файла надо обязательно удалить ноду с библиотекой net.minecraftforge:minecraftforge:9.10.0.xxx
     

    Вложения:

    • fbuilder.zip
      Размер файла:
      3 КБ
      Просмотров:
      101
    blackadder, DrublFuck и syllik нравится это.
  2. Автор темы
    caver

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

    Баллы:
    88
    Skype:
    caver15
    Чтобы не парится с редактированием выкладывают .json файлик
     

    Вложения:

  3. Dantara

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

    Баллы:
    63
    Супер! Мне нравится!!!
     
  4. Автор темы
    caver

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

    Баллы:
    88
    Skype:
    caver15
    К вопросу "О бездумном запихивание Optifine в клиент с форджем"

    ===
    fml/patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch
    fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch
    fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch
    fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServerListenThread.java.patch
    patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch
    patches/minecraft/net/minecraft/client/renderer/OpenGlHelper.java.patch
    patches/minecraft/net/minecraft/client/renderer/RenderBlocks.java.patch
    patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch
    patches/minecraft/net/minecraft/client/renderer/Tessellator.java.patch
    patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch
    patches/minecraft/net/minecraft/client/renderer/texture/TextureAtlasSprite.java.patch
    patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
    patches/minecraft/net/minecraft/client/renderer/WorldRenderer.java.patch
    patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch
    patches/minecraft/net/minecraft/server/management/PlayerInstance.java.patch
    ===
    Это список файлов из форджа которые пересекаются с optifine
    Т.е. если БЕЗДУМНО запихнуть оптик в клиент с форджем получим полный винегрет.
     
  5. Trespasser

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

    Баллы:
    123
    Имя в Minecraft:
    trespasser
    Че тогда разраб оптика пишет именно о бездумном впихивании оптика в клиент с форджем. Или он не видит этих накладок?
     
    slavik123123123 нравится это.
  6. Автор темы
    caver

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

    Баллы:
    88
    Skype:
    caver15
    Ну как бы ты читал что они рекомендуют ?
    Вкратце: отрубаем нафиг все проверки, а дальше трава не расти.
    Раньше (в 1.5.2) фордж с оптиком не пересекался, сейчас попа :(
    В итоге будет корректно (как задуманно разработчиками) работать либо фордж либо оптик, либо что более вероятно, полезут глюки в обоих.
    Т.е. по уму разработчикам оптика надо брать в зуб сорцы форжа, брать свои оптиковские патчи и дружить все это добро. Я вчера mcp/forge побаловался, оценил объем патчей - порядка 200 килобайт и куча режектов.
     
  7. 0mi4

    0mi4 Активный участник

    Баллы:
    68
    Можешь в батник переделать плж? :)
     
  8. Автор темы
    caver

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

    Баллы:
    88
    Skype:
    caver15
    @Omi4 поставь уже cygwin и не парь мозги
     
  9. Alexey123

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

    Баллы:
    153
    Не работал с 1.6, но чувствую, что в нём всё совсем испортили... Сочувствую тем, кто с ним мучается.
     
    Bars нравится это.
  10. alexandrage

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

    Баллы:
    173
    Не понимаю зачем столько шума из ничего. Оптифайн спокойно дружит с Forge.
    Запускаю таким батником.
    Код:
    java -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -Xmx1G -Djava.library.path=versions\1.6.2\natives -cp libraries\net\minecraftforge\minecraftforge\9.10.0.776\minecraftforge-9.10.0.776.jar;libraries\net\minecraft\launchwrapper\1.3\launchwrapper-1.3.jar;libraries\org\scala-lang\scala-library\2.10.2\scala-library-2.10.2.jar;libraries\org\scala-lang\scala-compiler\2.10.2\scala-compiler-2.10.2.jar;libraries\org\ow2\asm\asm-all\4.1\asm-all-4.1.jar;libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;libraries\com\google\guava\guava\14.0\guava-14.0.jar;libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;versions\1.6.2\OptiFine.zip;versions\1.6.2\1.6.2.jar net.minecraft.launchwrapper.Launch --username zenit --session 123456789 --version Forge9.10.0.776 --gameDir minecraft --assetsDir assets --tweakClass cpw.mods.fml.common.launcher.FMLTweaker
    Никаких ошибок в консоли не обнаружил. Forge теперь почти не затрагивает код клиента, только 3 класса aqw$1.class wi$1.class yc$1.class
     
  11. Trespasser

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

    Баллы:
    123
    Имя в Minecraft:
    trespasser
    Зачем в запуске
    versions\1.6.2\OptiFine.zip ? Работает прекрасно и без этого.
     
  12. alexandrage

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

    Баллы:
    173
    Затем чтоб каждый рас не патчить сам клиент новой версией optifine. Тупо заменил архив и все.
     
  13. Trespasser

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

    Баллы:
    123
    Имя в Minecraft:
    trespasser
    Дык, зачем в параметрах явы zip? Или я чего-то не знаю.
     
  14. Alexey123

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

    Баллы:
    153
    Он загружает все файлы, которые есть в папке, если классы в архиве - загружает, если какой-то класс был уже загружен - использует новый. Скоро так и читы будут подгружать.
     
  15. alexandrage

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

    Баллы:
    173
    Как ты отстал от жизни о_О , не скоро, а уже вовсю :D. Там важен порядок загрузки.
     
  16. alexandrage

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

    Баллы:
    173
    Не работает что?
     
    slavik123123123 нравится это.
  17. alexandrage

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

    Баллы:
    173
    ЛОЛКА :D.
     
  18. alexandrage

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

    Баллы:
    173
    Вот тебе класс для 1.6.4 http://yadi.sk/d/5NBsJxfuB4i5D Комбилится без проблем.
    От чего у тебя такие ошибки мне не понять.
     
  19. gren236

    gren236 Активный участник

    Баллы:
    63
    Имя в Minecraft:
    gren236
    Та же проблема, что и постом выше.
     
  20. gren236

    gren236 Активный участник

    Баллы:
    63
    Имя в Minecraft:
    gren236
    Может подскажете тогда?
     

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