10 месяцев назад
История
README.md
Важная информация
Данный репозиторий является частью системы по загрузке, обновлению, получению авторизации с сайта и запуску игры Minecraft на компьютере пользователя.
Система состоит из отдельных частей каждая из которых отвечает за отдельные функции системы:
- Лаунчер - приложение которое размещается на ПК пользователя, скачивает/обновляет файлы игры, получает авторизацию и запускает саму игру с нужными параметрами.
https://gitflic.ru/project/reaktiv/launcher-minecraft-launcher - Хранилище клиента - Скрипты для создания в интернете места, где будут лежать файлы игры в удобоваримом виде, откуда их может скачать лаунчер на компьютер пользователя.
https://gitflic.ru/project/reaktiv/launcher-minecraft-client-store - API авторизации - Набор скриптов обратившись к которым лаунчер может получить токены авторизации пользователя с сайта сделанного на CMS Joomla!
https://gitflic.ru/project/reaktiv/launcher-minecraft-api-auth-joomla
Преимущества всей системы
- Система НЕ требует для своей работы постоянно включенного лаунч-сервера, нет необходимости содержать отдельно работающую виртуальную машину.
- НЕ нужна даже JAVA. Лаунчер создан на языке высокого уровня, полностью скомпилирован и не требует для запуска игры присутствия на компьютере пользователя каких-либо виртуальных машины, сред выполнения или отдельных компонентов.
- Лаунчер может работать и запускать игру из любой папки в ПК, даже с флешки. Не требует установки, не создаёт мусорных файлов в системе, всё нужное складывает рядом с собой.
- Распределённая схема работы позволяет создавать проекты с отдельными независимыми администраторами определённых сборок, исключающими права влияния на сборки друг друга и другие компоненты проекта.
Назначение лаунчера
Лаунчер это программа которая находится на компьютере пользователя. Она необходима для запуска самой игры. Кроме запуска, лаунчер занимается загрузкой и обновлением файлов игры, отчисткой от мусора и поддержкой сборки в актуальном состоянии.
Преимущества лаунчера
- Не требует никаких установленных компонентов, не нужна даже java. Сам лаунчер написан на языке высокого уровня и полностью скомпилирован в исполняемый код, а java машину для игры он приносит с собой портабельную в составе файлов игры, и запускает minecraft через неё.
- Мало весит. Обычно лаунчер может весить и 100 и 200мб, а тут всего около 10-40Мб.
- Не требует установки, работать может из любой папки, даже с флешки. Скачал запустил, и готово.
- Не мусорит в системе. Обычно лаунчеры создают кучу скрытых папок в “AppData” или “LocalLow” и т.д, а это складывает все файлы рядом с собой в папку “gameFiles”.
- Умеет докачивать файлы ассетов с серверов компании Mojang, тем самым экономя место занимаемое хранилищем клиента на хостинге
- Умеет вычищать читы, удалять мусор, удалять пустые папки. Следит за порядком в файлах и папках как полагается. Докачивает необходимые обновления.
- Имеет гибкую систему исключений, исключения могут быть настроены через хранилище клиентов
- Умеет получать авторизацию с сайта и запускать с ней майнкрафт. Плагины на авторизацию не нужны.
Недостатки лаунчера
- Лаунчер разработан под Windows. Может быть дописан и скомпилирован под другие ОС т.к. проект мультиплатформенный, но на данный момент эта работа не ведётся.
- Придётся малость повозиться с настройкой лаунчера, т.к. все данные компилируются внутрь самого лаунчера.
- Как и защиту любого другого лаунчера, защиту этого лаунчера можно обойти. Всё равно найдутся те кто окольными путями установят читы и получат преимущества на сервере перед другими игроками. Настраивайте свою безопасную безопасность на сервере, так надёжнее.
Использование
- Для начала вам потребуется развернуть другие компоненты системы, т.е. вам нужно развернуть на своём сайте хранилище клиента и скрипты авторизации (ссылки в начале), и убедиться в том, что они работают нормально.
- Для настройки лаунчера вам потребуется среда разработки Delphi 10.3.3, нужно скачать её и установить, кроме этого, нужно иметь базовые навыки создания программ в Delphi.
- Скачайте и распакуйте себе репозиторий с исходным кодом лаунчера. Открывайте файл “game.dpr” чтобы открыть проект в делфи.
- Открывайте юниту “U_config”, в ней содержаться основные настройки лаунчера. Код весьма хорошо продокументирован, все описания необходимых переменных указаны, читайте внимательно и исправляйте под себя. Особое внимание обратите на массивы параметров для запуска, если там будут ошибки, лаунчер скачает клиент но игра не запустится.
- На форме “F_main” укажите название сервера, описание, версию, превью, и всякое прочее оформление сборки в соответствующей панели “R_Description” по своему вкусу. Исправьте ссылки под кнопками “R_description_chatLink”, “R_description_profileLink” и “R_description_serverLink” на свои.
- Скомпилируйте готовый *.exe файл лаунчера. Он появится в папке “\Win32\Debug”. При необходимости упакуйте его, зашифруйте и т.д. если вы умеете это делать.
- Положите экзешник лаунчера в хранилище клиента в папку “launcher” и создайте новый билд. После создания билда у пользователей которые уже используют этот лаунчер он заметит различия с их текущей версией и начнёт самообновляться.
- Разместите ссылку на лаунчер в хранилище клиента на своих информационных ресурсах, на сайте, в сообществе и т.д.
Особенности
- Большинство логов в коде лаунчера закомментированы т.к. видеть их пользователю не к чему. Раскомментируйте при необходимости.
- Для запуска лаунчера можно использовать разные ключи, ознакомьтесь с их функционалом в юните “U_function” в процедуре “getStartParams()”.
- Лаунчер будет складывать файлы рядом с собой, чтобы изменить папку куда лаунчер складывает файлы - поместите лаунчер в нужную папку.
Протестировать
Работоспособный пример лаунчера
Сайт проекта
Внешний вид
Описание
Приложение для скачивания, обновления и запуска Minecraft на ПК пользователя с последующей авторизацией через сайт
Конвейеры
0 успешных
0 с ошибкой