Авторизация в лаунчере¶
В этом разделе описана авторизация для игрового лаунчера и описывает действия, необходимые для получения accessToken для игрового клиента Minecraft. В результате авторизации будет получен JWT-токен с правами доступаminecraft_server_session.
Авторизация на сервере¶
Эти запросы выполняются непосредственно клиентом и сервером при помощи внутреннего кода или библиотеки authlib (начиная с версии 1.7.2). Они актуальны только в том случае, если вы уже произвели авторизацию и запустили игру с валидным accessToken. Вам остаётся только заменить пути внутри игры/библиотеки на приведённые ниже пути.
Поскольку непосредственно изменить что-либо в работе authlib или игры вы не можете, здесь не приводятся передаваемые значения и ответы сервера. При необходимости вы сможете найти эту информацию самостоятельно в интернете.
Через authlib¶
Все запросы из этой категории выполняются на подуровень /session. Перед каждым из запросов указан тип отправляемого запроса.
POST/session/join
Запрос на этот URL производится клиентом в момент подключения к серверу с online-mode=true.
GET/session/hasJoined
Запрос на этот URL выполняет сервер с online-mode=true после того, как клиент, пытающийся к нему подключится, успешно выполнит join запрос.
Для старых версий¶
Все запросы из этой категории выполняются на подуровень /session/legacy. Перед каждым из запросов указан тип отправляемого запроса.
Принцип обработки этих запросов такой же, как и для authlib, отличие только во входных параметрах и возвращаемых значения.
GET/session/legacy/join
Запрос на этот URL производится клиентом в момент подключения к серверу с online-mode=true.
GET/session/legacy/hasJoined
Запрос на этот URL выполняет сервер с online-mode=true после того, как клиент, пытающийся к нему подключится, успешно выполнит join запрос.
Важно не потерять GET параметр ?user= в конце обоих запросов, чтобы получились следующие URL: http://minecraft.ely.by/session/legacy/hasJoined?user=
.
Для старых версий¶
Все запросы из этой категории выполняются на подуровень /session/legacy. Перед каждым из запросов указан тип отправляемого запроса.
Принцип обработки этих запросов такой же, как и для authlib, отличие только во входных параметрах и возвращаемых значения.
GET/session/legacy/join
Запрос на этот URL производится клиентом в момент подключения к серверу с online-mode=true.
GET/session/legacy/hasJoined
Запрос на этот URL выполняет сервер с online-mode=true после того, как клиент, пытающийся к нему подключится, успешно выполнит join запрос.
Как зайти на сервер minecraft?
Перед началом игры на сервере Майнкрафт, вам нужно придумать себе игровой никнейм. Ник должен состоять из букв латинского (английского) алфавита. Разрешено использование цифр и нижнего подчеркивания – «_».
Дальше идем и выбираем сервер в нашем мониторинге серверов Minecraft. Запускаем игру, переходим в раздел «сетевая игра», вводим IP-адрес найденного сервера и соединяемся с сервером.
Зайдя на сервак, вы не сможете двигаться, а в чате у вас будет спрашивать пароль, ниже смотрим что делать.
Какой вводить пароль на сервере minecraft?
Чтоб сервер знал о вас информацию, как о игроке, вам нужно зарегистрироваться, для этого пишем в ЧАТ:
/register «ваш пароль» «повтор пароля»
Вводим любой пароль, который вы помните, так как при следующем входе на сервер у вас снова запросит этот пароль!
Авторизацияна сервере при повторном заходе:
/login «ваш пароль, указанный при регистрации»
Одиночная игра¶
По сути, одиночная игра – это локальный сервер, созданный для одного игрока. По крайней мере это так, начиная с версии 1.6, в которой и был представлен механизм локальных серверов.
Тем не менее, описанный ниже запрос актуален только для Minecraft 1.7.6 , когда для загрузки скинов стала использоваться так же Authlib.
GET/session/profile/{uuid}
Запрос на этот URL выполняется клиентом в одиночной игре на локальном сервере (созданном посредством самой игры). В URL передаётся UUID пользователя, с которым был запущен клиент, а в ответ получается информация о текстурах игрока в таком же формате, как и при hasJoined запросе.
Туториал – [урок] система авторизации клиента
Установка authlib на сервер¶
Сервер также использует authlib для выполнения авторизации игрока, поэтому соответствующие изменения должны быть также применены и к нему. Ниже приведены инструкции по установки authlib для различных реализаций сервера Minecraft.
Установка на версии ниже 1.7.2¶
Для более старых версий существует достаточно большое многообразие различных случаев, раскрыть которые в этой документации не представляется возможным. Вся установка заключается в замене определённых строк в определённых классах через InClassTranslator.
На форуме RuBukkit есть отличный пост, в котором собрана вся нужна информация по именам классов на различных версиях Minecraft. Переписывать его сюда не имеет смысла, так что просто перейдите на его страницу и найдите нужную версию.
RuBukkit –
Список классов и клиентов для MCP.
Через authlib¶
Все запросы из этой категории выполняются на подуровень /session. Перед каждым из запросов указан тип отправляемого запроса.
POST/session/join
Запрос на этот URL производится клиентом в момент подключения к серверу с online-mode=true.
GET/session/hasJoined
Запрос на этот URL выполняет сервер с online-mode=true после того, как клиент, пытающийся к нему подключится, успешно выполнит join запрос.