ZernMC Launcher

Что это?

ZernMC Launcher - Это Minecraft ланучер, написанный на Java(клиент) и Python(FastAPI - сервер)

Основные особенности

  • он написан с 0
  • способен удобно загружать и обновлять сборки(загруженнве с сервера ZernMC)
  • имеет ± удобный для чтения код лаунчера и сервера
  • позволяет при плохом подключении к какому либо сервису(условно Fabric Maven) использовать сервер(!) как прокси, для установки необходимых данных
  • клиент можно запустить даже если нет визуальной оболочки(но тут оговорка: вы не сможете запустить майнкрафт тогда(клиентскую часть))
  • не имеет рекламы
  • не имеет сторонних сервисов для телеметрии(слежки)
  • вообще не собирает никаких данных о вас
  • работает из коробки, достаточно скачать zip архив(он для Windows) и запустить лаунчер, посде чего ≈75% версий можно будет запусиить сразу

чего пока в нём нет пока что

  • нормальных настроек, сейчас можно только настроить Java и оперативку
  • аккаунтов для безопасности(да, это не решает проблему с Offline режимом, но для своих серверов - да это будет решать пробоему)
  • запуска Forge версий(science v.1.0.0-?)
  • запуска/загрузки: Quilt, LabyMod, NeoForge и других старых лоадеров...
  • просмотра новостей об обновах майнкрафта/лаунчера
  • выбор параметров оптимизации из списка параметров

что надо доработать

  • генерацию команды запуска
  • авто-обновления лаунчера(они криво работают)
  • настройки
  • серверную часть что бы она была более стабильной
  • прокси режим
  • вообще загрузку файлов с сервера

ВАЖНЫЙ КРАТКИЙ ЭКСКУРС ПО ЛАУНЧЕРУ

  1. он в TUI интерфейсе, а это значит - он не поддерживает управление курсором
  2. управление осуществляется W/S(Ц/Ы) (замена ↑/↓ т.к они почему то (science 1.0.0+) тебя переносят на меню ранее а потом вообще крашит), ESC - выход из этого меню(либо "Назад" выбор) ENTER - Выбор в меню
  3. если вы всё же умудрились нажать курсором в лаунчере - поздравляю, вы его заморозили, что бы разморозить достаточно нажать любую клавишу на клавиатуре, находясь в окне лаунчера
  4. тут нет 4 пункта
  5. иногда лаунчер может не удалять сборки корректно, из-за чего они могут оставаться в меню выбора, я позже это пофикшу, но надо удалить в instances то что не удалидось корректо 6.1. как мне найти instances? - он находится в Win: (ваш юзер)/.zernmc/instances Unix: ~/.zernmc/instances

как вообще его загрузить?

пока я не настроил GitHub Actions для релизов - https://api.zernmc.ru/launcher/download/latest либо https://api.zernmc.online/launcher/download/latest

Скачанный архив распаковать в удобную для вас папку

запустить ZernMCLauncher.exe

(когда я добавлю аккаунты - зарегаться/залогинится)

жмём "Начать игру"

Если нет сборки(хахах, посмотрите на него, у него нет сборки "плак плак") жмём "Установить новую сборку" Далее следуем меню: елси вам надо сборку с ZernMC(позже пофикшу что бы можно было скачать только тем у кого есть проходка) то жмём это, иначе если вам нужен чистый лоадер - вариант с модовыми загрузчиками, а ежели вам надо абсолютно чистую моджанговскую версию - выбираем ваниллу

в варианте с ZernMC ещё предложит укзаать название папки, лучше всего - использовать то как и называется сборка(Enter просто) НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ НЕ ИСПОЛЬЗОВАТЬ КИРИЛИЦУ В НАЗВАНИИ в других вариантах примерно тоже самое, и Я ТАК ЖЕ НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ НЕ ИСПОЛЬЗОВАТЬ КИРИЛИЦУ В НАЗВАНИИ СБОРКИ

Возможные проблемы

  • подключение к разным сервисам: в идеальном случае если нет коннекта условно к Fabric Maven то это пожключение будет просто проксировано через ZernMC сервер, но иногда и к нему нет доступа... тут уже я не могу помочь, только могу попытаться
  • запуск сборки: елси она у вас Forge(science 1.0.0+) то не советую её запускать пока не будет исправлена генерация команды для Forge лоадера, иначе issues и я посмотрю что не так
  • "я запустил чистую версию а почти никаких ассетов не загрузилось это че такое?" - Поясняю, я ещё не полностью но доделал генерацию команды запуска, и ИНОГДА оно может брать версию майнкрафта как AssetIndex из-за чего оно не загружает ассеты, пример: версия 1.20.1, ц него ассет индекс 5, при запуске оно может в некоторых случаях брать не 5.json а 1.20.1.json
    • самый простой способ починить AssetIndex - посмотреть логи какой оно пытается взять json для ассетов, скопировать существующий в instances/(название сборки)/assets/indexes/(индекс).json в эту же папку но под названием (то что пытается взять лаунчер).json

Issue

  • так как лауняер не очищает экран как надо, логи это буквально скролл вверх
  • копируйте всё что связано с ошибкой и что вы делали
  • отправляете то в issue указав версию лаунчера

Билд/Development

Это часть очень важна для тех кто будет разрабатывать вместе со мной лаунчер

  1. git clone https://github.com/SashegDev/launcher
  2. заходите в launcher/launcher/pom.xml
  3. редактируете пути для билда, так как сейчас - он расчитан на разработку только на моём сервере
  4. mvn clean package
  5. можете начинать!

Я был бы рад если нашлись люди кто мог бы помочь в разработке лаунчера и добавления к нему хотя бы базового UI чтоб было намногл удобнее работать с ним

S
Description
Launcher
Readme 702 KiB
Languages
Java 73.8%
Python 26.2%