Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Repository files navigation

CounterMine 2

CounterMine 2

Latest release Android CI

Android-лаунчер для сервера CounterMine 2

Проект — форк MojoLauncher (ветка v3_openjdk), который, в свою очередь, основан на PojavLauncher. Лицензия — GNU LGPLv3, как у апстрима.

Что настроено из коробки

  • Сборка игры. Minecraft 26.2 + Fabric Loader 0.19.3, моды Fabric API, Sodium и ZoomSensitivityFix вшиты в APK и раскатываются при первом запуске.
  • Автоматический вход на сервер. Игра стартует с --quickPlayMultiplayer, адрес сервера зашит в сборку (CM2_SERVER_ADDRESS); сервер также добавлен в список серверов.
  • Аккаунт без логина. Сервер работает в offline-режиме, поэтому лаунчер сам создаёт локальный аккаунт при первом старте — экран выбора способа входа не показывается.
  • Сенсорная раскладка под шутер. Джойстик движения, две кнопки стрельбы, покупка, перезарядка, смена слотов, приседание и бег — вшита как раскладка по умолчанию.
  • Предустановленные настройки игры. options.txt с разумными дефолтами; язык интерфейса выставляется по языку устройства.
  • Урезанные звуковые ассеты. Сервер всё равно перетирает звуки своим ресурспаком, поэтому индекс ассетов фильтруется перед скачиванием: ~457 МБ → ~99 МБ.
  • Встроенный апдейтер. При старте лаунчер сверяет свою версию с последним релизом на GitHub и предлагает обновиться; APK скачивается и ставится изнутри приложения.

Сам клиент Minecraft в APK не входит — он скачивается с серверов Mojang при первом запуске.

Установка

Готовый APK — в разделе releases. Дальше лаунчер обновляет себя сам.

Требуется Android 5.0 (API 21) или новее. Поддерживаемые ABI: arm64-v8a, armeabi-v7a, x86, x86_64.

Сборка

Требования:

  • JDK 17 (сборка проверялась на Zulu 17)
  • Android SDK: platforms;android-36, build-tools;36.0.0, ndk;29.0.14206865, cmake;3.22.1
  • путь к SDK в local.properties (sdk.dir)

Репозиторий содержит сабмодуль glfw, поэтому клонировать нужно вместе с ним:

git clone --recurse-submodules https://github.com/SkolkovoLab/cm2android.git

Отладочная сборка:

./gradlew :app_pojavlauncher:assembleFullDebug

(на Windows — .\gradlew.bat). Артефакт: app_pojavlauncher/build/outputs/apk/full/debug/app_pojavlauncher-full-debug.apk.

Флейвор full включает JRE-рантайм и используется для всех сборок проекта; noruntime остался от апстрима.

applicationId у debug-сборки — dev.cherrypizza.cm2android.debug, у релизной — dev.cherrypizza.cm2android. Это разные приложения: они уживаются на одном устройстве, но релиз не обновляет ранее установленный debug-билд.

Рендереры

В сборку входят все рендереры апстрима, выбираются в настройках лаунчера.

Настройка Рендерер Примечание
opengles2 Holy GL4ES значение по умолчанию у апстрима, новые версии Minecraft не тянет
vulkan_zink Zink (GL поверх Vulkan) на части устройств поворачивает экран
freedreno_kgsl Freedreno/Turnip рабочий вариант на Adreno
opengles3_ltw LTW универсальный GLES-враппер для устройств без Vulkan

libltw.so собирается отдельным проектом LTW; готовый ltw-release.aar закоммичен в app_pojavlauncher/libs/, так что сборка воспроизводима без него.

Версии и релизы

Версия выводится из git-тега вида v1.2.3: versionName = 1.2.3, versionCode = major * 10000 + minor * 100 + patch. Коммиты поверх тега дают 1.2.3-dev-<sha>. Версию можно задать явно через -Pcm2Version=v1.2.3 или переменную окружения CM2_VERSION — так делает CI, потому что checkout по умолчанию теги не выкачивает.

Релиз выпускается пушем тега v*: workflow .github/workflows/release.yml собирает assembleFullRelease, подписывает релизным ключом и публикует APK в релиз. Нужны секреты репозитория CM2_KEYSTORE_BASE64 и CM2_KEYSTORE_PASSWORD (плюс опциональные CM2_KEY_ALIAS и CM2_KEY_PASSWORD).

Апдейтер ищет в последнем релизе ровно один .apk-ассет и игнорирует draft/prerelease. APK обязан быть подписан тем же ключом, иначе установка поверх у игроков не пройдёт.

Отличия от апстрима

  • вшитая Fabric-сборка, моды и servers.dat, автозаход на сервер;
  • автоматический offline-аккаунт вместо экрана выбора способа входа (Microsoft и ely.by убраны);
  • своя раскладка управления и options.txt по умолчанию;
  • фильтрация звуковых ассетов при скачивании;
  • собственный апдейтер по релизам GitHub;
  • брендинг: иконка, имя приложения, applicationId.

Лицензия и сторонние компоненты

Проект распространяется под GNU LGPLv3 — той же лицензией, что и MojoLauncher.

Minecraft — торговая марка Mojang Studios. Проект не связан с Mojang Studios и Microsoft.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages