Если вы создаете свои собственные сервера в майнкрафте и хотите заметно упростить жизнь живущим там крафтерам (речь идет об обновлениях) тогда вы зашли именно по теме! Сегодня мы рассмотрим вместе с вами подробно тему о создании сборки (лаунчера) в minecraft самостоятельно. Тогда ваши гости и пользователи без труда смогут скачать необходимые обновления, а также подборки мобов. Более того, вам больше не нужно рассылать сообщения каждому игроку со ссылкой на скачивание.
Что нам нужно
Для начала свой собственный сайт. Да-да, вы не ослышались, вам необходимый свой сайт/площадка для закачивания файлов. Можно попробовать и бесплатные хостинги, но учтите при этом их минусы. Также вам нужны уже ваши знания определенных кодов майнкрафт + особые программы для работы с некоторыми файлами minecraft. Одну из таких можно скачать по ссылке ниже под статьей.
В чем заключается основной принцип собственного лаунчера? В том, что все необходимое, в том числе и «пакеты» заложены в едином всем известном файле minecraft.jar (архив). Займемся далее самим поиском этого архива. Нашли? Откройте его в любой папке и ищите далее файл — вот с таким названием — GameUpdater.class (он нужен для изменения данных).
Как создать лаунчер Minecraft на C#
Откройте его с помощью стандартного редактора: идем на строку http://. Тут-то самое главное. Удалите адрес какого-то старого урла, а после вставьте свой (тот самый новый адрес сайта). Почти готово!
Переходим в админку сайта, а затем в файловый менеджер. Закиньте туда необходимые обновленные файлы для майнкрафта. Вот собственно все. Однако, конечно же, есть другие способы. Они не сильно отличаются друг от друга, но требуют разных «технических» знаний, касающихся не только мира игры.
Еще один подобный способ
- Закачиваем на свой компьютер любой пиратский клиент.
- Смотрим папки, в том числе скрытые с такими же файлами.
- Находим, как и в предыдущем методе, архив minecraft.jar находящийся поблизости с MineCraft_Start.exe
- Открываем далее директорию программы minecraftGameUpdater с расширением class
- Меняем именно в нем строчку старого сайта на ваш новый (ссылку).
- Архивируем все обратно, в единый архив. Это несложно: можно сделать с любым человеческим архиватором на компьютере.
- Помещаем в нужную директорию файлы из bin + вставляем все файлы из полученного архива.
- Наш момент истины настал! Жмем заветный файл загрузки MineCraft_Start.exe, нажимаем все галочки — наш лаунчер в действии и полностью готов к работе.
Лаунчер Minecraft — специально разработанный интерфейс для входа игрока в аккаунт и загрузки клиента игры. Лаунчер автоматически загружает java-пакеты, в том числе и minecraft.jar с основным кодом и ресурсами игры. В этой статье мы расскажем вам, как создать Майнкрафт лаунчер.
Создание лаунчера
Перед тем как создать свой лаунчер Minecraft, вам понадобится предварительно сделать свой сайт и сервер, а также скачать исходники. Исходников существует масса, поэтому качайте любые понравившиеся вам. Также необходимо скачать и установить программу NetBeans , при помощи которой вы будете править код.
Как создать проект Майнкрафт с модами 1.12.2 | Полное руководство
- Запустите программу NetBeans. В верхнем правом углу программы нажмите на кнопку «Файл» и в выпадающем списке выберите пункт «Создать проект». В появившемся окне слева нажмите «Java», затем справа «Приложение Java» и нажмите кнопку «Далее». В графе «Имя проекта» введите название, уберите галочку с пункта «Создать главный класс» и нажмите «Готово». В NetBeans в поле проектов кликните правой кнопкой мыши по созданному вами проекту и выберите «Свойства». Выставьте формат исходного файла на JDK 6 и выберите из выпадающего списка кодировку Win1251.
- Откройте папку Мои документы/NetBeans prodject /Название вашего проекта/src и перекиньте все файлы из папки с исходниками (src).
- В NetBeans в корневой папке проекта откройте «launcher run» и нажмите на файл «Settings.java».
- В коде, появившемся в правой части интерфейса программы, измените название лаунчера и адрес домена (ваш сайт). В настройках сервера введите ID, порт и версию клиента. Замените ссылки «Регистрация», «Вспомнить пароль» и «Сайт» на нужные.
Как создать лаунчер с модами
Для того чтобы на вашем сервере можно было установить моды, выставьте значение строки «Public static bolean useModCheck» — true, а «Public static bolean useModsDelete» — false.
Как создать лаунчер с авторизацией
Чтобы при входе игрока происходила автоматическая авторизация, выставьте значение «Public static bolean useAutoenter» — true.
Вы можете править практически весь имеющийся в исходнике код, кроме жизненно важного, из-за изменений которого программа будет «обрушиваться».
Конечно, без знаний элементарных основ программирования вам будет довольно трудно понять, как создать свой лаунчер в Майнкрафт, но вы можете попробовать.
Дополнительную информацию о популярной игре читайте в разделе .
Источник: pzik.ru
Свой лаунчер на основе батника
Лаунчер — программа для загрузки и запуска игры;
ОС — операционная система;
JRE — Java Runtime Environment, программное обеспечение для запуска Java приложений;
Ассеты — игровые ресурсы;
Нативы — библиотеки для выполнения Java приложения на определенной платформе (семейство ОС);
Гб — гигабайт (1024 мегабайта);
Мб — мегабайт (1024 килобайта);
ОЗУ — Оперативно Запоминающее Устройство, если проще, оперативная память;
JVM — Виртуальная Машина Java, среда выполнения Java приложения;
Токен — ключ доступа, используемый для авторизации на серверах игры(доступ к скинам и Realms)
Получение нужной информации о системе (разрядность JRE, семейство ОС);
Аутентификация пользователя;
Получение идентификатора пользователя и токена;
Построение строки запуска;
Выполнение строки запуска и скрытие лаунчера (для логирования возможных ошибок);
Завершение процесса лаунчера после завершение процесса игры.
1. Базовая строка запуска
Откроем обычный блокнот и созданим в удобном месте файл с расширением .bat. Теперь, закроем блокнот и откроем созданный файл с помощью программы Notepad++. Перед дальнейшим редактированием советую отключить авто преобразование в UTF-8. Для этого снимем в настройках эту галочку:
Для удобства будем использовать переменные. Для создания переменной используем запись типа set имя=значение . Создадим переменные с папками игры:
set dir=%AppData%.minecraft set ast=%AppData%.minecraftassets set nat=%AppData%.minecraftnatives set lib=%AppData%.minecraftlibraries
Теперь построим базовую строку запуска:
javaw аргументы[I]jvm главный[/I]класс программные_аргументы
Первое слово указывает запускаемое приложение из системных переменных(устанавливаются с установкой JRE), потом идут все JVM аргументы, указывается главный класс и в конце программные аргументы.
1. 1. 1. Аргументы JVM. Куча
Куча — это та область оперативной памяти компьютера, которая может быть использована Java приложением. Её размер задается двумя аргументами. Один задает её начальный размер, а второй, максимальный.
Также, важно отметить, что лучше делать её фиксированной, ибо когда приложению не хватает начального объема, оно увеличивает его на какое-то значение, вплоть до максимально, что часто вызывает подлагивание. Начальный размер определяется аргументом -Xms4G а максимальный -Xmx4G . Буква G обозначает гигабайты, M — мегабайты. Ещё можно также этот объём памяти зарезервировать в самой ОС с помощью аргумета -XX:+AlwaysPreTouch Получается мы делаем фиксированную кучу равной 4Гб ОЗУ и сразу же резервируем данный объём на уровне ОС. Теперь наша строка выглядит так:
javaw -Xms4G -Xmx4G -XX:+AlwaysPreTouch
1. 1. 2. Аргументы JVM. Сборщик мусора
Процент кучи под новые данные
Процент кучи для резерва
Максимальное время для сборки мусора
Размер блоков, не больше 32М
Также, для версий Minecraft 1.14+ и версий Java 11+ есть смысл попробовать новые сборщики мусора. Они работают совсем по другим принцыпам нежели ConcMark или G1 и могут обеспечить более эффективную очистку мусора с меньшим влиянием на FPS/TPS. Первый это -XX:+UseShenandoahGC , который по моим наблюдениям является достаточно эффективнее G1.
Второй это -XX:+UseZGC , который является экспериментальным и его рекомендуется использовать с самыми новыми версиями Java. Он пока не показал себя намного эффективнее G1, но он скорее как «задел на будущее». Сами аргументы для активации этих сборщиков считаются экспериментальными, а значит без -XX:+UnlockExperimentalVMOptions не обойтись. Незабудьте, эти сборщики совсем другие нежели ConcMark или G1, так что при их ипользовании очистите остальные аргументы, которые могут касатся сборщиков мусора. Также, в последних версиях Oracle Java они могут быть вырезаны/деактивированы, поэтому можете попробовать Adopt Open JDK.
1. 2. Аргументы JVM. Дополнительно
Есть некоторые дополнительные аргументы, такие как указание названия лаунчера и его версии, указание версии и имени подсистемы DOS для управления файловой системой(иногда убирает проблему записи файлов сохранений):
-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe.heapdump — позволяет корректно записывать файлы дампов памяти при краше игры и адекватно переключатся игре на дискретную графику;
-Dos.name=»Windows 10″ — указание имени подсистемы DOS;
-Dos.version=10.0 — указание версии подсистемы DOS;
-Dminecraft.launcher.brand=my-best-launcher — название лаунчера;
-Dminecraft.launcher.version=2.0 — версия лаунчера;
-XX:+AggressiveOpts — использовать экспериментальные функции оптимизации.
Пример строки для Windows 10:
-Xms4G -Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe.heapdump -Dos.name=»Windows 10″ -Dos.version=10.0 -Dminecraft.launcher.brand=»console-minecraft-starter» -Dminecraft.launcher.version=2.5
1. 3. Аргументы JVM. Библиотеки
Теперь нужно указать пути к файлу конфигурации логирования (как не странно, не используется в пиратских лаунчерах), нативам и библиотекам игры. Тут мы и будем использовать установленные ранее переменные записью %имя_переменной% .
Файл конфигурации устанавливается аргументом -Dlog4j.configurationFile=»%ast%log_configsclient-1.12.xml», но если у вас нету этого файла, просто не используйте этот аргумент. Он настраивает логирование и архивацию устаревших логов.
Путь к нативам указывается через -Djava.library.path=»%nat%». Но эти нативы нужно достать. Обычно, они хранятся в библиотеках игры и распаковываются во временную папку перед каждым запуском. Сами нативы это dll библиотеки от игрового движка LWJGL и нарратора(в новых версиях). Просто распакуйте их в папку C:UsersпользовательAppDataRoaming.minecraftnatives а jar-ники с ними обычно находятся по путям librariescommojangtext2speech и librariesorglwjgl . Вот нативы для версии игры 1.14.4:
А вот составление аргумента игровых библиотек займет наибольшее количество времени. Аргумент имеет вид -Cр «всепутибиблиотек». В скобках нужно указать через двоеточие пути ко всем jar-никам игры (их достаточно много). К примеру так: -Cp «%lib%comgooglecodegsongson2.8.0gson-2.8.0.jar;%lib%comgoogleguavaguava21.0guava-21.0.jar;. »
Вот полный вид аргумента для всех библиотек:
-cp «%lib%comgooglecodegsongson2.8.0gson-2.8.0.jar;%lib%comgoogleguavaguava21.0guava-21.0.jar;%lib%comibmicuicu4j-core-mojang51.2icu4j-core-mojang-51.2.jar;%lib%commojangauthlib1.5.25authlib-1.5.25.jar;%lib%commojangauthlib1.5.25authlib-1.5.25.jar;%lib%commojangbrigadier1.0.17brigadier-1.0.17.jar;%lib%commojangdatafixerupper2.0.24datafixerupper-2.0.24.jar;%lib%commojangjavabridge1.0.22javabridge-1.0.22.jar;%lib%commojangpatchy1.1patchy-1.1.jar;%lib%commojangtext2speech1.11.3text2speech-1.11.3.jar;%lib%commons-codeccommons-codec1.10commons-codec-1.10.jar;%lib%commons-iocommons-io2.5commons-io-2.5.jar;%lib%commons-loggingcommons-logging1.1.3commons-logging-1.1.3.jar;%lib%ionettynetty-all4.1.25.Finalnetty-all-4.1.25.Final.jar;%lib%itunimidsifastutil8.2.1fastutil-8.2.1.jar;%lib%netjavadevjnajna4.4.0jna-4.4.0.jar;%lib%netjavadevjnaplatform3.4.0platform-3.4.0.jar;%lib%netjavajinputjinput2.0.5jinput-2.0.5.jar;%lib%netjavajutilsjutils1.0.0jutils-1.0.0.jar;%lib%netsfjopt-simplejopt-simple5.0.3jopt-simple-5.0.3.jar;%lib%optifinelaunchwrapper-of2.1launchwrapper-of-2.1.jar;%lib%optifineOptiFine1.14.4_HD_U_F5OptiFine-1.14.4_HD_U_F5.jar;%lib%orgapachecommonscommons-compress1.8.1commons-compress-1.8.1.jar;%lib%orgapachecommonscommons-lang33.5commons-lang3-3.5.jar;%lib%orgapachehttpcomponentshttpclient4.3.3httpclient-4.3.3.jar;%lib%orgapachehttpcomponentshttpcore4.3.2httpcore-4.3.2.jar;%lib%orgapachelogginglog4jlog4j-api2.8.1log4j-api-2.8.1.jar;%lib%orgapachelogginglog4jlog4j-core2.8.1log4j-core-2.8.1.jar;%lib%orglwjgllwjgl3.2.2lwjgl-3.2.2.jar;%lib%orglwjgllwjgl-glfw3.2.2lwjgl-glfw-3.2.2.jar;%lib%orglwjgllwjgl-jemalloc3.2.2lwjgl-jemalloc-3.2.2.jar;%lib%orglwjgllwjgl-openal3.2.2lwjgl-openal-3.2.2.jar;%lib%orglwjgllwjgl-opengl3.2.2lwjgl-opengl-3.2.2.jar;%lib%orglwjgllwjgl-stb3.2.2lwjgl-stb-3.2.2.jar;%lib%oshi-projectoshi-core1.1oshi-core-1.1.jar;%lib%netminecraftclient1.14.4-OptiFine_HD_U_F51.14.4-OptiFine_HD_U_F5.jar»
(может отличатся в зависимости от типа установки игры).
2. Главный класс
Главный класс, это как кнопка зажигания в машине, сам небольшой, но запускает все. Для чистой версии это net.minecraft.client.main.Main а для модифицированной (с OptiFine или Forge) это net.minecraft.launchwrapper.Launch .
3. Программные аргументы
—username никнейм
—version версия_игры
—gameDir папка_сохранений
—assetsDir папка_ассетов
—assetIndex индекс_ассетов (типа 1.14, 1.13, 1.12 и тд.)
—uuid идентификатор_пользователя (если нету, указывайте null)
—accessToken токен (если нету, указывайте null)
—userType тип_пользователя (на что влияет не понятно, но надо)
—versionType тип_версии (может влиять на надпись версии в главном меню игры)
—tweakClass класс_твикер (в чистой версии не используется, а для OptiFine это optifine.OptiFineTweaker)
javaw -Xms4G -Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe.heapdump -Dos.name=»Windows 10″ -Dminecraft.launcher.brand=»cms» -Dminecraft.launcher.version=2.3 -Dlog4j.configurationFile=»%ast%log_configsclient-1.12.xml» -Djava.library.path=»%nat%» -cp «%lib%comgooglecodegsongson2.8.0gson-2.8.0.jar;%lib%comgoogleguavaguava21.0guava-21.0.jar;%lib%comibmicuicu4j-core-mojang51.2icu4j-core-mojang-51.2.jar;%lib%commojangauthlib1.5.25authlib-1.5.25.jar;%lib%commojangauthlib1.5.25authlib-1.5.25.jar;%lib%commojangbrigadier1.0.17brigadier-1.0.17.jar;%lib%commojangdatafixerupper2.0.24datafixerupper-2.0.24.jar;%lib%commojangjavabridge1.0.22javabridge-1.0.22.jar;%lib%commojangpatchy1.1patchy-1.1.jar;%lib%commojangtext2speech1.11.3text2speech-1.11.3.jar;%lib%commons-codeccommons-codec1.10commons-codec-1.10.jar;%lib%commons-iocommons-io2.5commons-io-2.5.jar;%lib%commons-loggingcommons-logging1.1.3commons-logging-1.1.3.jar;%lib%ionettynetty-all4.1.25.Finalnetty-all-4.1.25.Final.jar;%lib%itunimidsifastutil8.2.1fastutil-8.2.1.jar;%lib%netjavadevjnajna4.4.0jna-4.4.0.jar;%lib%netjavadevjnaplatform3.4.0platform-3.4.0.jar;%lib%netjavajinputjinput2.0.5jinput-2.0.5.jar;%lib%netjavajutilsjutils1.0.0jutils-1.0.0.jar;%lib%netsfjopt-simplejopt-simple5.0.3jopt-simple-5.0.3.jar;%lib%optifinelaunchwrapper-of2.1launchwrapper-of-2.1.jar;%lib%optifineOptiFine1.14.4_HD_U_F5OptiFine-1.14.4_HD_U_F5.jar;%lib%orgapachecommonscommons-compress1.8.1commons-compress-1.8.1.jar;%lib%orgapachecommonscommons-lang33.5commons-lang3-3.5.jar;%lib%orgapachehttpcomponentshttpclient4.3.3httpclient-4.3.3.jar;%lib%orgapachehttpcomponentshttpcore4.3.2httpcore-4.3.2.jar;%lib%orgapachelogginglog4jlog4j-api2.8.1log4j-api-2.8.1.jar;%lib%orgapachelogginglog4jlog4j-core2.8.1log4j-core-2.8.1.jar;%lib%orglwjgllwjgl3.2.2lwjgl-3.2.2.jar;%lib%orglwjgllwjgl-glfw3.2.2lwjgl-glfw-3.2.2.jar;%lib%orglwjgllwjgl-jemalloc3.2.2lwjgl-jemalloc-3.2.2.jar;%lib%orglwjgllwjgl-openal3.2.2lwjgl-openal-3.2.2.jar;%lib%orglwjgllwjgl-opengl3.2.2lwjgl-opengl-3.2.2.jar;%lib%orglwjgllwjgl-stb3.2.2lwjgl-stb-3.2.2.jar;%lib%oshi-projectoshi-core1.1oshi-core-1.1.jar;%lib%netminecraftclient1.14.4-OptiFine_HD_U_F51.14.4-OptiFine_HD_U_F5.jar» net.minecraft.launchwrapper.Launch —username «%usr%» —version 1.14.4-OptiFine_HD_U_F5 —gameDir «%dir%» —assetsDir «%ast%» —assetIndex 1.14 —uuid null —accessToken null —userType mojang —versionType release —tweakClass optifine.OptiFineTweaker
Можете сохранить батник, и при его запуске вы увидите саму команду запуска и через пару секунд ваша игра запустится.
4. Оформление батника
Важно! Для корректного отображения кириллицы установите кодировку батника на OEM-866!
Вот примерный вид после оформления:
(У вас может отличатся)
5. Компиляция в .exe
Возможно вы хотите не запукать какой-то там батник? Можем преобразовать его в обычный .exe с помощью программы Bat To Exe Converter. Можете скачать её здесь. Можете открыть свой батник, немного подредактировать и задать ему иконку или информацию о версии. Если увидите вместо русских надписей кракозябры, не волнуйтесь, после компиляции будет нормально.
Когда завершили правки, просто нажмите на компиляцию и укажите путь сохранения и имя файла. Вуаля, теперь наш лаунчер — обычный исполняемый файл.
Автор WantaSanchez Скачивания 23 Просмотры 11,076 Первый выпуск 11 Май 2020 Обновление 25 Ноя 2020 Оценка 5.00 звёзд 1 оценок
Источник: forum.mcmodding.ru