- Баллы
- 123
- Имя в Minecraft
- Reality_SC
[update] ТЫК.
Строго говоря, тут представлен не просто лаунчер, а комплекс из лаунчера, веб-обвязки, клиентского мода и серверного плагина. Работу всего комплекса можно опробовать в действии на моём проекте voxile.ru.
В комплекте поставляются:
Все Java проекты автоматически и регулярно собираются на Jenkins-е и выкладываются в мой публичный репозиторий Maven.
Основные положения обвязки и лаунчера.
Задумывалось всё как мультипроектное/мультиклиентное/мультисерверное решение, которое предлагается владельцам проектов как услуга.
Каждый проект получает свой случайный пятисимвольный буквенно-цифровой идентификатор, например мой проект voxile.ru имеет такой — MGMCV. Каждый проект может указать URL адрес своего сайта, где лежат специальные callback-скрипты, и система будет дрочить их, чтобы сайт подтверждал аккаунты своих игроков. Это прямопротивоположно ely.by и другим появлявшимся на rubukkit.org надпроектам.
Каждый игрок получает свой уникальный идентификатор, uuid. Именно к uuid-у привязаны скины, способы аутентификации, прочая ересь. Проект проксирует все методы Mojang API для лицушников до Mojang, а для пиратов эмулирует его поведение.
SSP и CSW используют для привязки клиента и сервера сразу несколько подходов, они описаны в посте про SSP (ниже).
Плюсы для администраторов серверов:
Выложенное в этой теме хоть и местами костыльно, не имеет фронт-энда, задирает до небес порог вхождения, требует доработки многих кусков (интеграции с различными CMS, рейтингами, ЛК, галереями скинов), но всё же имеет очень богатый потенциал к развитию. Наиболее сложной для меня задачей является написание фронт-енда к веб-обвязке, поэтому именно для её решения я надеюсь найти опытных помощников.
Тем, кто ищет лёгкий путь, я рекомендую использовать Ely.by.
Строго говоря, тут представлен не просто лаунчер, а комплекс из лаунчера, веб-обвязки, клиентского мода и серверного плагина. Работу всего комплекса можно опробовать в действии на моём проекте voxile.ru.
Сам лаунчер не имеет каких-то особенных фич, в нём нет сколько-нибудь серьёзной защиты клиентов, и т.п. Выкладывается "потому что задолбало" — становление пабликом для него скорее всего единственный путь к развитию.
А вот остальное может оказаться уже более полезным.
В ближайшее время всё это будет мной как-то подчищаться и выглядеть более прилично. Небольшой части кода несколько лет, особенно в самом лаунчере (в это трудно поверить, но он основан на каком-то ужесно старом ломанном нотчевском), какие-то задумки не были доделаны до конца. Может быть никогда и не будут.
Я искренне надеюсь, что толковые разработчики присоединятся к этой байде и помогут мне в тяжком деле
А вот остальное может оказаться уже более полезным.
В ближайшее время всё это будет мной как-то подчищаться и выглядеть более прилично. Небольшой части кода несколько лет, особенно в самом лаунчере (в это трудно поверить, но он основан на каком-то ужесно старом ломанном нотчевском), какие-то задумки не были доделаны до конца. Может быть никогда и не будут.
Я искренне надеюсь, что толковые разработчики присоединятся к этой байде и помогут мне в тяжком деле

В комплекте поставляются:
- Библиотека Methuselah AuthLib, в которой описаны структуры для взаимодействия .jar-приложений и веб-скриптов.
- Server-Side Plugin (SSP) [ссылка на отдельный пост] — drag'n'drop плагин/враппер для Bukkit/BungeeCord/Sponge и даже для ванильных серверов, которая привязывает их к веб-обвязке.
- Библиотека Server-Side Plugin API для доступа к функциям серверного плагина из других плагинов.
- Client-Side Wrapper (CSW) — drag'n'drop мод для клиентской сборки игры, который привязывает сборку к веб-обвязке.
- Лаунчер (исходный код).
- Библиотека общего кода для лаунчера, CSW и SSP.
- Исходный код веб-обвязки auth.methuselah.ru: полноценный эмулятор и прокси до Mojang API. Установщиком является дамп структуры MySQL без самих данных.
- Скрипты на сторону сайта проекта, которыми можно привязать свой сайт (учётки игроков с него) (на данный момент только форумы XenForo) к системе Мафусаил.
Все Java проекты автоматически и регулярно собираются на Jenkins-е и выкладываются в мой публичный репозиторий Maven.
Основные положения обвязки и лаунчера.
Задумывалось всё как мультипроектное/мультиклиентное/мультисерверное решение, которое предлагается владельцам проектов как услуга.
Каждый проект получает свой случайный пятисимвольный буквенно-цифровой идентификатор, например мой проект voxile.ru имеет такой — MGMCV. Каждый проект может указать URL адрес своего сайта, где лежат специальные callback-скрипты, и система будет дрочить их, чтобы сайт подтверждал аккаунты своих игроков. Это прямопротивоположно ely.by и другим появлявшимся на rubukkit.org надпроектам.
Каждый игрок получает свой уникальный идентификатор, uuid. Именно к uuid-у привязаны скины, способы аутентификации, прочая ересь. Проект проксирует все методы Mojang API для лицушников до Mojang, а для пиратов эмулирует его поведение.
SSP и CSW используют для привязки клиента и сервера сразу несколько подходов, они описаны в посте про SSP (ниже).
Плюсы для администраторов серверов:
- Сервера в online-mode — отсутствие AuthMe и других регистраторов. Все игроки имеют уникальные uuid-ы, генерацией и обработкой которых занят не костыль на сервере, а что-то общее и стандартизированное для всех серверов.
- Использование таких хаков, как подмена URLStreamHandler на стороне сервера, позволяет забыть об целенаправленном "обмане" любых плагинов, которые делают т.н. uuid bulk updates — все вызовы до Mojang API автоматически заменяются на аналогичные вызовы до Мафусаил API, вне зависимости от того, кто вызывает.
- Клиентский мод заменяет всего лишь один класс (Property.class) в официальной библиотеке Mojang AuthLib с целью вырезать проверку сигнатуры. Этим мы позволяем игроку видеть скины не только лицензионщиков, но и всех остальных игроков. Никаких других изменений в клиентскую сборку на этапе её подготовки не производится! — клиентский мод сделает остальную привязку во время запуска игры.
Выложенное в этой теме хоть и местами костыльно, не имеет фронт-энда, задирает до небес порог вхождения, требует доработки многих кусков (интеграции с различными CMS, рейтингами, ЛК, галереями скинов), но всё же имеет очень богатый потенциал к развитию. Наиболее сложной для меня задачей является написание фронт-енда к веб-обвязке, поэтому именно для её решения я надеюсь найти опытных помощников.
Тем, кто ищет лёгкий путь, я рекомендую использовать Ely.by.
Последнее редактирование: