Skip to content

SashegDev/launcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZernMC Launcher

ZernMC Launcher — это полностью самописный Minecraft-лаунчер, созданный с нуля.
Клиент написан на Java, серверная часть — на Python (FastAPI).

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

  • Написан полностью с нуля, без использования готовых решений
  • Удобная загрузка и обновление сборок прямо с сервера ZernMC
  • Чистый и относительно читаемый код как клиента, так и сервера
  • Поддержка прокси-режима через свой сервер при проблемах с внешними ресурсами (Fabric/Forge Maven, Mojang и т.д.)
  • Возможность запуска клиента даже без графического интерфейса (TUI-режим)
  • Полное отсутствие рекламы и телеметрии
  • Не собирает никаких данных о пользователе
  • Работает «из коробки»: достаточно распаковать архив и запустить ZernMCLauncher.exe
  • Есть система аккаунтов и проходок

Чего пока нет в лаунчере

  • Графического интерфейса (GUI) — только TUI
  • Нормальных настроек (пока доступна только настройка Java и выделенной оперативной памяти)
  • Поддержки Forge (в разработке) (технически уже есть вместе с NeoForge (science PR№4))
  • Поддержки Quilt, LabyMod, NeoForge и других лоадеров
  • Раздела новостей об обновлениях Minecraft и лаунчера
  • Выбора готовых пресетов оптимизации JVM
  • Кастомных модов (UI, спавнеры, DPI, карточки)
  • Сайта для лаунчера и сервера
  • Трекинга наигранного времени

Что планируется доработать в ближайшее время

  • UI мод — переписать мод на UI: красивое главное меню, анимации, анимированный задний фон, эмбиент звуки, интерактивность, урезание ванильных элементов до используемых
  • GUI мод — привести в единый стиль с главным меню
  • Мод на спавнеры — кастомные спавнеры с лимитами (5-15 спавнов), отслеживание спавнов вокруг, замена на базовый спавнер при достижении предела с эффектами и звуками, данжи «временного парадокса» с процедурной генерацией этажей, минибоссы, лут
  • DPI мод — отслеживание не-ZernMC лаунчеров, защита от форков с выпеленной проверкой, уведомления админу в Telegram с технической информацией
  • Сайт — полноценный сайт для лаунчера и сервера (текущий «полу-живой» нуждается в полной переделке)
  • Система карточек — дроп случайных карточек (обучена на датасете скинов CS2), просмотр, продажа, крафт, обмен между игроками, внутриигровая валюта «йоны», начисление йонов на баланс, обмен йонов на предметы, вывод йонов в отдельный предмет, анимации и эффекты
  • Web API — OpenAPI документация, уровни доступа к API (например, получение списка игроков требует проходку)
  • Трекинг наигранного времени — обновление каждую минуту вместо часа для нормальных графиков игроков
  • Генерацию команды запуска Minecraft
  • Стабильную работу автообновления лаунчера
  • Полноценные настройки
  • Улучшенный античит / ClientChecker — проверка подлинности клиента при подключении к серверу, без нужного клиента не пустит; поставляется вместе с лаунчером, не общедоступный. Хеш-проверка всех папок и файлов сборки при каждом запуске — при несовпадении одного хеша все моды переустанавливаются. Игнорируются только: логи, ресурспаки, шейдеры, сейвы, личные файлы. Защита от подмены libs и лоадеров (Meteor и аналоги), проверка целостности модов через хеши. В перспективе — защита от Mixin-атак (перехват логики других модов), сбор отчёта о текущей сборке и сравнение с базовой
  • Баг-фиксы сервера: подключить admin_router в main.py, исправить импорты ролей (ROLE_USER и др. не существуют в roles.py), добавить эндпоинт /auth/pass/activate, убрать дубли импортов (TTLCache, Response)
  • Улучшение прокси-режима
  • Стабильность и производительность серверной части
  • Общую надёжность загрузки файлов с сервера

Важная информация перед использованием

Управление в лаунчере (TUI)

Лаунчер использует текстовый интерфейс (TUI):

  • W / S (или Ц / Ы) или / — перемещение по меню
  • ENTER — выбор пункта
  • ESC или пункт «Назад» — возврат назад

Если вы случайно кликнули мышкой в окне лаунчера и он «заморозился» — просто нажмите любую клавишу на клавиатуре.

Расположение сборок

Все установленные сборки хранятся в папке:

  • Windows: %USERPROFILE%\.zernmc\instances
  • Linux: ~/.zernmc/instances

Если сборка не удаляется корректно — удалите папку вручную.

Как скачать и запустить

Пока автообновления и GitHub Releases не настроены, скачать последнюю версию можно по ссылкам:

Скачать лаунчер:

Инструкция:

  1. Скачайте zip-архив
  2. Распакуйте в удобную папку
  3. Запустите ZernMCLauncher.exe
  4. Нажмите «Начать игру»

Установка первой сборки

Если у вас ещё нет сборок:

  1. Выберите «Установить новую сборку»
  2. Выберите тип сборки:
    • ZernMC — готовые сборки с нашего сервера
    • Модовый загрузчик — Fabric / Forge / Quilt и т.д.
    • Ваниль — чистая версия от Mojang

Рекомендация: Не используйте кириллицу в названии сборки! (science 1.0.0-1.0.5)

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

Проблемы с загрузкой ассетов

Иногда лаунчер неправильно определяет Asset Index.
Решение:

  1. Запустите версию и посмотрите в логах, какой .json файл он пытается загрузить.
  2. Скопируйте правильный файл из assets/indexes/ и переименуйте его в нужное имя.

Forge версии

Запуск Forge пока работает нестабильно. Рекомендуется дождаться исправления генерации команды запуска.

Прокси-режим

Если нет доступа к Fabric/Forge Maven или серверам Mojang — лаунчер пытается использовать наш сервер как прокси. Если и к нему нет доступа — загрузка может не работать.

Как сообщить об ошибке (Issue)

  1. Скопируйте весь текст ошибки из логов (лаунчер не очищает экран, поэтому просто скролльте вверх)
  2. Укажите, что вы делали перед ошибкой
  3. Укажите версию лаунчера
  4. Создайте Issue на GitHub

Разработка (для желающих помочь)

git clone https://github.com/SashegDev/launcher

Откройте launcher/launcher/pom.xml отредактируете пути для билда, так как сейчас - он расчитан на разработку только на моём сервере

mvn clean package

можете начинать!

Благодарность

Glitch135 - За бета-тест лаунчера и фидбеки

помощь

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

Буду рад помощи в разработке! Особенно приветствуется помощь с:

  • Переходом на нормальный графический интерфейс (GUI)
  • Улучшением генерации команды запуска
  • Добавлением поддержки Forge / NeoForge / Quilt
  • Стабилизацией серверной части
  • вообще улучшением клиента

Releases

No releases published

Packages

 
 
 

Contributors