diff --git a/README.md b/README.md index e18405d..9cdc293 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,123 @@ # ZernMC Launcher -## Что это? -**ZernMC Launcher** - Это Minecraft ланучер, написанный на Java(клиент) и Python(FastAPI - сервер) +**ZernMC Launcher** — это полностью самописный Minecraft-лаунчер, созданный с нуля. +Клиент написан на **Java**, серверная часть — на **Python (FastAPI)**. ## Основные особенности -- он написан с 0 -- способен удобно загружать и обновлять сборки(загруженнве с сервера ZernMC) -- имеет ± удобный для чтения код лаунчера и сервера -- позволяет при плохом подключении к какому либо сервису(условно Fabric Maven) использовать сервер(!) как прокси, для установки необходимых данных -- клиент можно запустить даже если нет визуальной оболочки(но тут оговорка: вы не сможете запустить майнкрафт тогда(клиентскую часть)) -- не имеет рекламы -- не имеет сторонних сервисов для телеметрии(слежки) -- вообще не собирает никаких данных о вас -- работает из коробки, достаточно скачать zip архив(он для Windows) и запустить лаунчер, посде чего ≈75% версий можно будет запусиить сразу -## чего пока в нём нет пока что -- нормальных настроек, сейчас можно только настроить Java и оперативку -- аккаунтов для безопасности(да, это не решает проблему с Offline режимом, но для своих серверов - да это будет решать пробоему) -- запуска Forge версий(science v.1.0.0-?) -- запуска/загрузки: Quilt, LabyMod, NeoForge и других старых лоадеров... -- просмотра новостей об обновах майнкрафта/лаунчера -- выбор параметров оптимизации из списка параметров +- Написан полностью с нуля, без использования готовых решений +- Удобная загрузка и обновление сборок прямо с сервера ZernMC +- Чистый и относительно читаемый код как клиента, так и сервера +- Поддержка **прокси-режима** через свой сервер при проблемах с внешними ресурсами (Fabric/Forge Maven, Mojang и т.д.) +- Возможность запуска клиента даже без графического интерфейса (TUI-режим) +- Полное отсутствие рекламы и телеметрии +- Не собирает никаких данных о пользователе +- Работает «из коробки»: достаточно распаковать архив и запустить `ZernMCLauncher.exe` -## что надо доработать -- генерацию команды запуска -- авто-обновления лаунчера(они криво работают) -- настройки -- серверную часть что бы она была более стабильной -- прокси режим -- вообще загрузку файлов с сервера +## Чего пока нет в лаунчере -## ВАЖНЫЙ КРАТКИЙ ЭКСКУРС ПО ЛАУНЧЕРУ -1. он в TUI интерфейсе, а это значит - он не поддерживает управление курсором -2. управление осуществляется W/S(Ц/Ы) (замена ↑/↓ т.к они почему то (science 1.0.0+) тебя переносят на меню ранее а потом вообще крашит), ESC - выход из этого меню(либо "Назад" выбор) ENTER - Выбор в меню -3. если вы всё же умудрились нажать курсором в лаунчере - поздравляю, вы его заморозили, что бы разморозить достаточно нажать любую клавишу на клавиатуре, находясь в окне лаунчера -5. тут нет 4 пункта -6. иногда лаунчер может не удалять сборки корректно, из-за чего они могут оставаться в меню выбора, я позже это пофикшу, но надо удалить в instances то что не удалидось корректо -6.1. как мне найти instances? - он находится в Win: (ваш юзер)/.zernmc/instances Unix: ~/.zernmc/instances +- Нормальных настроек (пока доступна только настройка Java и выделенной оперативной памяти) +- Системы аккаунтов (авторизация) +- Поддержки **Forge** (в разработке) +- Поддержки Quilt, LabyMod, NeoForge и других лоадеров +- Раздела новостей об обновлениях Minecraft и лаунчера +- Выбора готовых пресетов оптимизации JVM -## как вообще его загрузить? -пока я не настроил GitHub Actions для релизов - https://api.zernmc.ru/launcher/download/latest либо https://api.zernmc.online/launcher/download/latest +## Что планируется доработать в ближайшее время -Скачанный архив распаковать в удобную для вас папку +- Генерацию команды запуска Minecraft +- Стабильную работу автообновления лаунчера +- Полноценные настройки +- Стабильность и производительность серверной части +- Улучшение прокси-режима +- Общую надёжность загрузки файлов с сервера -запустить ZernMCLauncher.exe +## Важная информация перед использованием -(когда я добавлю аккаунты - зарегаться/залогинится) +### Управление в лаунчере (TUI) -жмём "Начать игру" +Лаунчер использует **текстовый интерфейс (TUI)**: -Если нет сборки(хахах, посмотрите на него, у него нет сборки "плак плак") жмём "Установить новую сборку" Далее следуем меню: елси вам надо сборку с ZernMC(позже пофикшу что бы можно было скачать только тем у кого есть проходка) то жмём это, иначе если вам нужен чистый лоадер - вариант с модовыми загрузчиками, а ежели вам надо абсолютно чистую моджанговскую версию - выбираем ваниллу +- `W` / `S` (или `Ц` / `Ы`) — перемещение по меню +- `ENTER` — выбор пункта +- `ESC` или пункт «Назад» — возврат назад -в варианте с ZernMC ещё предложит укзаать название папки, лучше всего - использовать то как и называется сборка(Enter просто) НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ НЕ ИСПОЛЬЗОВАТЬ КИРИЛИЦУ В НАЗВАНИИ -в других вариантах примерно тоже самое, и Я ТАК ЖЕ НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ НЕ ИСПОЛЬЗОВАТЬ КИРИЛИЦУ В НАЗВАНИИ СБОРКИ +> **Важно:** Стрелки ↑/↓ могут вызывать баги и краши. Используйте только `W`/`S`. -## Возможные проблемы -- подключение к разным сервисам: в идеальном случае если нет коннекта условно к 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. можете начинать! +Все установленные сборки хранятся в папке: +- **Windows**: `%USERPROFILE%\.zernmc\instances` +- **Linux**: `~/.zernmc/instances` +Если сборка не удаляется корректно — удалите папку вручную. + +## Как скачать и запустить + +Пока автообновления и GitHub Releases не настроены, скачать последнюю версию можно по ссылкам: + +**Скачать лаунчер:** +- https://api.zernmc.ru/launcher/download/latest +- https://api.zernmc.online/launcher/download/latest + +**Инструкция:** +1. Скачайте zip-архив +2. Распакуйте в удобную папку +3. Запустите `ZernMCLauncher.exe` +4. Нажмите **«Начать игру»** + +### Установка первой сборки + +Если у вас ещё нет сборок: +1. Выберите **«Установить новую сборку»** +2. Выберите тип сборки: + - **ZernMC** — готовые сборки с нашего сервера + - **Модовый загрузчик** — Fabric / Forge / Quilt и т.д. + - **Ваниль** — чистая версия от Mojang + +**Рекомендация:** Не используйте кириллицу в названии сборки! + +## Возможные проблемы и решения + +### Проблемы с загрузкой ассетов +Иногда лаунчер неправильно определяет Asset Index. +**Решение:** +1. Запустите версию и посмотрите в логах, какой `.json` файл он пытается загрузить. +2. Скопируйте правильный файл из `assets/indexes/` и переименуйте его в нужное имя. + +### Forge версии +Запуск Forge пока работает нестабильно. Рекомендуется дождаться исправления генерации команды запуска. + +### Прокси-режим +Если нет доступа к Fabric/Forge Maven или серверам Mojang — лаунчер пытается использовать наш сервер как прокси. Если и к нему нет доступа — загрузка может не работать. + +## Как сообщить об ошибке (Issue) + +1. Скопируйте весь текст ошибки из логов (лаунчер не очищает экран, поэтому просто скролльте вверх) +2. Укажите, что вы делали перед ошибкой +3. Укажите версию лаунчера +4. Создайте Issue на GitHub + +## Разработка (для желающих помочь) + +```bash +git clone https://github.com/SashegDev/launcher +``` +Откройте `launcher/launcher/pom.xml` +отредактируете пути для билда, так как сейчас - он расчитан на разработку только на моём сервере +`mvn clean package` +можете начинать! Я был бы рад если нашлись люди кто мог бы помочь в разработке лаунчера и добавления к нему хотя бы базового UI чтоб было намногл удобнее работать с ним + + + +Буду рад помощи в разработке! +Особенно приветствуется помощь с: + +- Переходом на нормальный графический интерфейс (GUI) +- Улучшением генерации команды запуска +- Добавлением поддержки Forge / NeoForge / Quilt +- Стабилизацией серверной части +- вообще улучшением клиента