Игра Minecraft имеет огромную базу фанатов по всему миру. Эта популярная песочница позволяет получить доступ к нескольким режимам геймплея, но предварительно для запуска придется скачать майнкрафт лаунчер. В этой программе вводится логин и пароль игрока, после чего начинается запуск файлов. Launcher отвечает за загрузку основных пакетов Java, в том числе minecraft.jar, который содержит код и главные ресурсы игры (текстуры, LWJGL). Утилита Minecraft Launcher поддерживает 57 языков.

Пользователь обязан войти в систему, чтобы запустить игру в первый раз. Дополнительно использовать лаунчер рекомендуется для запуска устаревших версий и обновления Minecraft. В настоящее время действует шестая версия Minecraft Launcher, предназначенная для автоматического обновления.

Каждый раз, когда выполняется вход в систему, программа тщательно проверяет директорию, в которой игра хранит основные файлы. Речь идет о папке под названием «minecraft». Сперва проверяются файлы с именем «launcher_profiles.json», в которых хранятся данные учетных записей для входа. Если файла не существует, он поврежден или ни один из пользователей не вошел в систему, рекомендуется использовать премиум-аккаунт. В противном случае новый пользователь направляется в демоверсию игры.

Что за новый лаунчер майнкрафт??

В случае повреждения файлов учетной записи появляется также предложение приобрести игру. При входе в систему для начала лаунчер попытается проверить имя пользователя. Если действующий файл «launcher_profiles.json» существует, но подключение к интернету закрыто, игроку будет предложен автономный режим (кнопка «Play»).

Если соединение прошло успешно, игра запустится в зависимости от текущих параметров профиля. Автоматически производится проверка обновлений. Когда выбранная версия игры не поддерживается или значительно устарела, игроку будет предложено «Использовать последнюю версию».

В процессе обновления Launcher загрузит все компоненты Minecraft и необходимые файлы Java. Дополнительно произойдет синхронизация файлов в папке «Assets». Здесь находятся игровые ресурсы. После успешной установки и своевременного обновления лаунчер выполнит вход в Minecraft (через «javaw.exe» и Java Virtual Machine).

Если в системе отсутствуют файлы «.jar», программа для запуска попытается автоматически заменить все недостающие компоненты. В этом случае рекомендуется подключиться к интернету, иначе загрузка остановится.

Источник: www.niasam.ru

Как работает лаунчер Minecraft

Данная статья написана в ознакомительных целях и рассчитана на читателей уже знакомых в первую очередь с Minecraft, HTTP протоколом, имеющих опыт прикладного программирования на языках Java, C++ или др.

Прежде чем начать воспользуемся хорошей практикой и обратимся к Google с запросом «Minecraft Launcher вики» далее пройдя по ссылке на официальную Minecraft вики мы найдем следующую важную для понимания информацию .

Лучший лаунчер майнкрафт

Читайте также:  Как в Майнкрафт пе узнать свои координаты

Лаунчер является интерфейсом загрузки и входа в клиент Minecraft. Он отвечает за загрузку пакетов Java, включая minecraft.jar , который содержит код игры, авторизует игрока и запускает клиент.

Основное функциональное назначение:

  1. Загрузка файлов игры
  2. Авторизация игрока
  3. Запуск клиента

Рассмотрим процесс детальнее на примере.

Файлы игры

Скачаем официальный лаунчер, авторизуемся, загрузим версию игры 1.12.2.
Далее в зависимости от системы перейдем к расположению загруженных файлов.

  • Windows %APPDATA%.minecraft
  • macOS ~/Library/Application Support/minecraft
  • Linux ~/.minecraft

Вид каталога с игрой после загрузки ( структура ).

В рамках данной статьи я оставлю минимальный набор файлов, необходимый для самостоятельного запуска игры.

Сформируем общее понимание базовых составляющих игры.

  • Файл versions/1.12.2/1.12.2.jar (в более ранних версиях minecraft.jar) содержит в себе весь код игры и является ядром.
  • Папка libraries/ содержит в себе все сторонние пакеты или библиотеки Java такие как графическая библиотека LWJGL которые используются в исходном коде игры из versions/1.12.2/1.12.2.jar они также требуют поставки в комплекте с игрой.
  • Некоторые сопутствующие библиотеки написаны специально под конкретную операционную систему их называют нативными (нативные библиотеки имеют разные расширения в зависимости от ОС, примеры расширений: macOS – .dylib ; Linux – .so ; Windows – .dll ), официальный лаунчер хранит их в bin/natives на ОС Windows.
  • Папка assets/ содержит звуки, текстуры, шрифты, языковые файлы и другие ресурсы игры.
  • Файл versions/1.12.2/1.12.2.json является файлом версии, это означает что он хранит в себе всю информацию о конкретной версии игры, в нем можно найти список всех необходимых библиотек, клиента, сервера игры, URL адресов для скачивания, Hash-кодов для сверки соответствия файлов и параметры запуска (об этом далее).

Авторизация

Процесс авторизации в лаунчере:

  1. Пользователь вводит учетные данные: имя пользователя, пароль.
  2. Лаунчер преобразует данные в JSON и отправляет POST запрос на сервер аутентификации.
  3. Сервер аутентификации находит пользователя в базе данных и генерирует уникальный UUID и accessToken, затем возвращая их вместе с именем пользователя обратно лаунчеру.
  4. Лаунчер записывает имя пользователя, UUID и accessToken, в дальнейшем используя эти параметры для запуска игры.

Запуск клиента

Дальнейшие действия выполняются лаунчером при входе в игру. Их можно сымитировать в ручную через терминал (или консоль в Windows). Для ручного запуска нам потребуется загруженный набор файлов игры из versions/1.12.2/1.12.2.json и полученные от сервера аутентификации наше имя пользователя, UUID и accessToken. Для запуска игры мы просим Java запустить versions/1.12.2/1.12.2.jar со списком параметров:

  1. Путь к папке с нативными пакетами, которые используются в versions/1.12.2/1.12.2.jar
  2. Путь к папке с Java пакетами, которые используются в versions/1.12.2/1.12.2.jar
  3. Главный класс net.minecraft.client.main.Main (берется из versions/1.12.2/1.12.2.json )
  4. Параметры Java машины (опционально, такие как количество выделяемой оперативной памяти и т.д.)
  5. Игровые параметры (берется из versions/1.12.2/1.12.2.json ):
    • Имя игрока —username
    • Версия игры —version 1.12.2
    • Путь к папке с игрой —gameDir ‘/Users/scavver/Library/Application Support/minecraft’
    • Путь к папке с ассетами —assetsDir ‘/Users/scavver/Library/Application Support/minecraft/assets’
    • Индекс ассетов —assetIndex 1.12
    • UUID игрока —uuid
    • Токен игрока —accessToken
    • Тип пользователя —userType mojang
    • Тип версии —versionType release
    Читайте также:  Скилл клиент для Майнкрафта

    Демонстрация итоговой строки запуска для macOS без перечисления всего списка библиотек и дополнительных параметров Java машине (в терминале подобная конструкция должна быть объеденена в одну строку, вместо символов переноса строки должны быть символы пробела):

    «/Applications/IntelliJ IDEA CE.app/Contents/jbr/Contents/Home/bin/java» -Djava.library.path=»/Users/scavver/Library/Application Support/minecraft/bin/natives» -cp «/Users/scavver/Library/Application Support/Minecraft.biz/libraries/1.jar: /Users/scavver/Library/Application Support/Minecraft.biz/libraries/2.jar: /Users/scavver/Library/Application Support/Minecraft.biz/libraries/3.jar: /Users/scavver/Library/Application Support/Minecraft.biz/libraries/N.jar: /Users/scavver/Library/Application Support/Minecraft.biz/versions/1.12.2/1.12.2.jar» net.minecraft.client.main.Main —username scavver —version 1.12.2 —gameDir ‘/Users/scavver/Library/Application Support/minecraft’ —assetsDir ‘/Users/scavver/Library/Application Support/minecraft/assets’ —assetIndex 1.12 —uuid —accessToken —userType mojang —versionType release

    • Для параметра -cp (classpath – местоположение пользовательских классов или пакетов) необходимо перечислить список полных путей ко всем пакетам (библиотекам) из libraries/ .
    • Разделитель двоеточие ( : ) используется на macOS и Linux, в Windows необходимо использовать точку с запятой ( ; ).
    • Разделитель пути косая черта ( / ) используется на macOS и Linux, а в DOS и Windows обратная косая черта ( ).
    • Пути могут содержать пробелы поэтому их нужно заключать в кавычки.

    Для закрепления материала рекомендую самостоятельно запустить игровой клиент с помощью .bat файла на Windows или составив строку запуска для терминала macOS или Linux. Подсказка: воспользуйтесь официальным лаунчером для загрузки чистого клиента и авторизации (получения UUID и accessToken от сервера аутентификации Mojang). Теперь у вас есть достаточно информации для самостоятельной работы и поисков, тема также останется открытой на форуме.

    Источник: teletype.in

    Лаунчер

    Launcher.png

    Лаунчер (англ. Launcher) — программа, предоставляющая пользователю возможность войти в свой аккаунт Mojang или Microsoft, а также загрузить и запустить клиент игры. Лаунчер ответственен за загрузку версия игры>.jar , в котором содержится байт-код игры, библиотек и ресурсов (ассетов). Он также выступает в роли технического средства защиты авторских прав, позволяя запускать полную версию игры только пользователям, зашедшим с премиум-аккаунта, для других доступна демо-версия. Для загрузки доступны все вышедшие версии игры, за исключением Indev.

    Также через клиент игры можно загрузить лаунчер для Minecraft Dungeons.

    • 1 Описание
    • 2 Последняя версия лаунчера
    • 3 Предыдущая версия лаунчера
    • 4 Использование командной строки
    • 5 История
    • 6 Примечания

    Описание

    Каждый раз при запуске лаунчера, он проверяет папку .minecraft , которая является корневой папкой для всех файлов игры. Также лаунчер проверяет файл, под названием launcher_profiles.json , который хранит данные авторизации. Если в файле launcher_profiles.json верные данные, и если лаунчеру не удается установить соединение с сервером авторизации, то он предложит игроку вариант игры в режиме оффлайн. Если этот файл поврежден или не существует, пользователь должен войти в игру с действительным премиум-аккаунтом, иначе игра не будет запущена.

    Читайте также:  Как установить шейдеры на minecraft Windows 10 edition

    При входе в систему лаунчер сначала попытается проверить подлинность аккаунта на сервере авторизации. Если лаунчеру удается установить соединение с сервером, он проверит, не доступна ли новая версия игры. Информация про версию расположена в файле версия игры>.json каталоге versions . Если этого файла не существует или система обнаруживает, что данная версия игры устарела, лаунчер предложит игроку загрузить с сервера новую версию игры.

    Наконец, после успешного обновления или установки игры, лаунчер запустит игру из файла версия игры>.jar . Впрочем, возможна и такая ситуация, когда файл версия игры>.json будет рабочим и обновлённым, но будут отсутствовать необходимые jar-файлы, то в этом случае лаунчер зависнет.

    Последняя версия лаунчера

    Последняя версия лаунчера была в разработке с мая 2013 года, и одновременно была публично представлена. Она отличалась тем, что можно загружать разные версии Minecraft, в версии 1.0 — заменилось профилями. Также, он позволяет менять папки версий Minecraft и расположение исполняемого файла Java. В 1.2 лаунчер теперь может загружать версии Beta, с 1.2.1 — Alpha, Infdev и версии Classic. Лаунчер был выпущен 1 июля 2013 года.

    Предыдущая версия лаунчера

    Вторая версия лаунчера была в разработке с 21 января 2011 года. [1] . Обновленный лаунчер на данный момент обладает улучшенной системой обновления файлов игры (теперь обновляются только изменённые файлы), запросом перед обновлением игры, поддержкой входа через HTTPS для увеличения стойкости соединения и другими улучшениями в интерфейсе. Техническая демо-версия лаунчера «утекла» (её выложил Нотч) в сеть 18 февраля 2011 года. [2] . В новом лаунчере также было добавлено окно «Опции», где размещена ссылка на директорию установленной на ПК игры, а также кнопка «Force Update», после нажатия которой игра будет полностью загружена с сервера и установлена поверх существующей. В новом лаунчере также есть окно, в котором размещена лента новостей обновлений игры, которая синхронизируется из Tumblr, а также добавлена поддержка командной строки. [3] Новый лаунчер был выпущен 21 февраля 2011 года. [4]

    Использование командной строки

    Minecraft.jar (Все ОС):

    Minecraft.jar (Windows — без окна CMD):

    Источник: minecraft.fandom.com