Skip to content

About

Standalone JavaFX 21 launcher (fat JAR)

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

VoidRP Launcher (Java)

Java JavaFX OkHttp Build Build License

Автономный Java-лаунчер VoidRP — единый fat JAR без внешних зависимостей.


🗺️ Место в экосистеме

flowchart LR
    P(["🧍 java -jar voidrp-launcher.jar"]) --> UI["JavaFX UI<br/>Login · Home · Mods · Account · Settings"]
    UI --> AUTH["AuthService<br/>JWT, /me, play-ticket"]
    UI --> SYNC["ManifestService + FileSyncService<br/>SHA-256"]
    UI --> RT["RuntimeBootstrapService<br/>JavaLocatorService"]
    UI --> RUN["GameLaunchService"]
    AUTH -- "HTTPS" --> B[("api.void-rp.ru/api/v1")]
    SYNC -- "manifest.json + файлы" --> CDN[("void-rp.ru/launcher")]
    RT -- "runtime-seed" --> CDN
    RUN --> MC["🎮 Minecraft + NeoForge"]
Loading

Альтернатива voidrp-launcher-vue для случаев, когда Electron недоступен или нежелателен.


✨ Возможности

  • Единый fat JAR (~56 MB) — не требует установки, достаточно Java 21
  • Авторизация через аккаунт VoidRP (play-ticket flow)
  • Автообновление модпака — скачивает, проверяет SHA-256 контрольные суммы
  • Bootstrap JVM — запускает Minecraft с нужными параметрами
  • JavaFX UI — нативный интерфейс без браузера
  • Верификация манифеста — каждый файл модпака проверяется по хешу перед запуском

🔄 Что происходит по кнопке «Играть»

sequenceDiagram
    autonumber
    actor P as Игрок
    participant L as Лаунчер
    participant B as Бэкенд
    participant C as void-rp.ru/launcher
    P->>L: «Играть»
    L->>L: найти или скачать Java (runtime-seed)
    L->>C: manifest.json
    L->>L: сверить файлы по SHA-256, докачать изменённые
    L->>B: play-ticket (JWT)
    B-->>L: одноразовый билет
    L->>L: записать play-ticket.json для auth-bridge
    L->>L: запустить Minecraft с NeoForge
Loading

📋 Требования

Компонент Версия
Java 21+
Интернет доступ к https://void-rp.ru

🚀 Сборка и запуск

cd voidrp-launcher-java

# Сборка fat JAR
./gradlew shadowJar
# → build/libs/voidrp-launcher-1.0.0.jar  (~56 MB, версия — из build.gradle)
#   тонкий jar без зависимостей после ./gradlew build — voidrp-launcher-1.0.0-plain.jar

# Запуск
java -jar build/libs/voidrp-launcher-1.0.0.jar

🏗️ Структура

src/main/java/ru/voidrp/launcher/
├── Main.java · App.java     точка входа и JavaFX Application
├── config/                   AppConfig, LauncherPaths — адреса и папки
├── model/ · model/api/       DTO бэкенда (токены, /me, play-ticket, скины, дашборд), манифест, настройки
├── service/                  Auth · Manifest · FileSync · Hash · RuntimeBootstrap · JavaLocator · GameLaunch · Mod · Settings · TokenStore · ApiClient
└── ui/ · ui/views/           MainWindow, экраны Login, Home, Mods, Account, Settings, окно ошибок

JavaFX 21 упакован в fat JAR для Windows, Linux и macOS (Intel и Apple Silicon).


🔗 Связанные репозитории

Репо Связь
minecraft-backend Auth API, play-ticket endpoint
voidrp-launcher-vue Основной лаунчер (Electron + .NET)

About

Standalone JavaFX 21 launcher (fat JAR)

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages