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. Лаунчер создан на языке высокого уровня, полностью скомпилирован и не требует для запуска игры присутствия на компьютере пользователя каких-либо виртуальных машины, сред выполнения или отдельных компонентов.
  • Лаунчер может работать и запускать игру из любой папки в ПК, даже с флешки. Не требует установки, не создаёт мусорных файлов в системе, всё нужное складывает рядом с собой.
  • Распределённая схема работы позволяет создавать проекты с отдельными независимыми администраторами определённых сборок, исключающими права влияния на сборки друг друга и другие компоненты проекта.

Назначение хранилища клиента

Хранилище клиента это часть которая отвечает за сохранение и обеспечение доступности файлов игры для загрузи их лаунчером на ПК пользователя. Позволяет легко обновлять сборку через лаунчер на компьютерах игроков для поддержания её в актуальном состоянии.

Преимущества хранилища клиента

  • Не требует лаунч-сервера. Может жить на любом shared хостинге рассчитанном для создания сайта на любых популярных фреймворках и движках (wordpress, joomla, битрикс24 и т.д.)
  • Может жить даже на бесплатных хостингах.
  • Не требует наличия специфических компонентов от хостинга, не нужны PYTHON, CGI и др., не нужна даже mySQL. Для работы требуется только наличие PHP которая есть везде и сразу.
  • Не нужно знать никакие команды. Простой вею-интерфейс с окошком для ввода пароля и кнопкой, всё.
  • Позволяет обновлять не только файлы клиента, но и сам лаунчер.
  • Имеет гибкий настраиваемый список исключений, который позволяет настроить уникальные файлы пользователей для любой сборки.

Использование

  1. Создаёте сайт своего проекта доступный для пользователей. Неважно где вы его берёте, покупаете, регистрируете бесплатно, или может быть настраиваете на своём хосте.
  2. Скачиваете репозиторий или архив с релизом к себе на компьютер. Вам нужны эти файлы и папки, остальное не нужно.
  3. Загружаете в отдельную папку у себя на сайте файлы хранилища клиента. Рекомендуется загружать в …www/launcher/client/<название сборки>/ пример
  4. В файле “setting.php” обязательно меняете пароли на свои. Остальные параметры можно менять при необходимости.
  5. В папку “launcher” загружаете скомпилированный под вас лаунчер (файл должен называться “game.exe”). Название файла можно перенастроить в настройках. пример
  6. В папку “files” загружаете файлы вашего клиента. Клиент должен обязательно содержать определённый список файлов и папок. пример
  7. Заходите в веб-интерфейс вашей сборки. Адрес к веб-интерфейсу строится из пути до скрипта “build.php” с GET параметром “previewPassword” где указывается пароль для просмотра из конфига. Если пароль неправильный то страница не отобразится. пример
  8. Редактируете список исключений при необходимости. Все пути относительные. Если путь заканчивается папкой то исключаются из проверки все файлы в папке, если заканчивается файлом то исключается из проверки определённый файл. Если файл есть у пользователя но отсутствует в папе “files” и в исключениях то он будет у пользователя удалён. Если у пользователя есть файл с неправильным размером, и его нет в исключениях, то он будет удалён и перезагружен. Если файл есть в папке “files” и добавлен в исключения, то он первоначально будет загружен, но в последствии не будет проверяться, обновляться и удаляться у пользователя. пример
  9. Введите пароль и нажмите кнопку “Создать”. Если циферка “Порядковый номер” изменилась, значит новый билд создан успешно, и с этого момента у пользователей начнут обновляться клиенты при запуске. пример
  10. Обратитесь к скрипту “run.php” браузером. Если всё настроено правильно, то вам будет предоставлена информация о сборке в виде json. пример

Меняете файлы сборки - создаёте билд, меняете исключения - создаёте билд, что-нибудь ещё меняете - создаёте билд. Повторяете это меняете - создаёте билд по мере потребностей. Лаунчер всё ощущает и обновляет, сборка крутится, фан мутится.

Особенности

  • Для экономии места на хостинге файлы хранятся в единственном экземпляре. Это значит что как только вы изменили файлы или лаунчер, обязательно нужно пойти и сделать новый билд, иначе у пользователей возникнет проблема.
  • Лаунчер умеет загружать ассеты с серверов моджангов, папку “assets/objects” в хранилище клиента можно отчистить так чтобы она была пустой, это сэкономит место на хостинге.
  • При изменении лаунчера тоже необходимо создавать билд. Скрипт увидит, что изменился размер лаунчера и добавит информацию об этом в билд, и у пользователей начнётся процесс самообновления лаунчера.
  • Для просмотра файлов при обращении к скрипту “run.php” можно предать параметр “previewPassword” и тогда информация отобразится в человекопонятном виде. пример
Описание

Набор скриптов для сайта на PHP который позволяет организовать хранение файлов клиента игры Minecraft для их скачивания на компьютеры игроков лаунчером и последующего запуска

Релизы
Релиз 1.0 2023-12-22
Конвейеры
0 успешных
0 с ошибкой