Данный API нужен для облегчения привязки сервера и клиента к лаунчеру. Т.к. этот скрипт сделан "из коробки" для DLE, то получайте скрипт на PHP. Я не долбаеб выкладывать исходники нормального API на nodejs, чтобы его потом каждый недо-ютубер выдавал за свой.
-
Перейти к файлу
api_settings.php
по путиauthlib/_functions/
и настроить его. Не забудьте выполнить SQL запрос (database.sql
) в своей базе! -
Закинуть папку
authlib
иtextures
(без переименовывания, раз вы такие тупые) в корень вашего сайта DLE. -
В настрйоках лаунчера указать настройки:
# Настрйока API authlib-injector под лаунчер
authHandler: "authlib-injector";
authHandlerConfig: {
urlApiInjector: "https://example.com/authlib";
};
authProvider: "authlib-injector";
authProviderConfig: {
urlApiInjector: "https://example.com/authlib";
};
textureProvider: "authlib-injector";
textureProviderConfig: {
urlApiInjector: "https://example.com/authlib";
};
ссылка на ваш сайт - https://example.com
, где:
https
- протокол использования сайта (используете ли выhttp
илиhttps
)api.example.com
- домен вашего сайта для API- Обратите ваше внимание, что
/
в конце указывать не нужно!
- Чтобы привязать игровой сервер к API - нужно скачать сам
authlib-injector
отсюда, положить в папку с игровым сервером и вписать следующую команду:
java -javaagent:authlib-injector-1.1.40.jar="https://example.com/authlib" -jar minecraft_server.jar
где:
authlib-injector-1.1.40.jar
- сам файлauthlib-injector.jar
example.com
- домен вашего сайтаminecraft_server.jar
- файл игрового сервера
Так как мне впадлу писать личный кабиент, скин можно спокойно поставить руками в директорию textures
. Сделано это не по приколу, а потому что так работает система кеширования в майне. Почему - идите узнавайте у своих "кумиров", которым было на вас срать.
Теперь по порядку:
- Идем на сайт сюда
- Переносим файл со скином/плащем на надпись "Drop File Here"
- Получаем хеш файла. Переименовываем файл в полученный хеш -
<hash>.png
. Пример названия файла:e5bfc51833b5d38370761c29da7f2e61.png
- Переносим файл в папку
textures/skins
илиtextures/cloaks
(зависит от того, что за файл вы подготовили). - Заходим в sql-базу сайта. В столбцах
mc_skin_hash
иmc_cloak_hash
указываем тот самый хеш файла, который вы положили в папку. - Колонка
mc_skin_type
отвечает за моделькуsteve\alex
. Если стоит0
- то будет обычная моделькаsteve
, если1
- то будет моделькаalex
с тонкими руками.
Если стоит скин "по умолчанию" ('server_default_skins' => true
) и стоит параметр 1
- сервер тоже отдаст модельку alex
с женским скином.
Файлы .empty
можно удалить. Они нужны просто для того, чтобы GitHub
видел директории. Может быть напишу простенький кабинет под это дело, чтобы он закидывал скины и плащи по хешу (майновская реализация).
Но я это не обещаю.
Чтобы переадресовать со своего сайта example.com
на API Authlib Injector, можно добавить в заголовок вашего DLE параметр X-Authlib-Injector-API-Location
:
X-Authlib-Injector-API-Location: /authlib/
- сервер перейдет на сервер по адресуexample.com/authlib/
.X-Authlib-Injector-API-Location: https://api.example.com/authlib/
- сервер переадресует на указанный домен.
Лаунчер сервер к сожалению пока не умеет определять данный параметр (мб оно и к лучшему).
P.S. Скрипт может быть немного дырявым, но ишью всегда открыт. И ДА, ПОВТОРЯЮ, ЧТО Я ПИСАЛ ЭТОТ СКРИПТ НА ОТЬЕБИСЬ, ИБО PHP! Я вкурсе как работает архитектура, так что если этим API светят в паблик - это уже не мои проблемы.
Я просто показал, за что ненавижу свою аудиторию и весь РуМайн.