The KYBER Launcher is a modern, cross-platform desktop application built with Flutter that provides a user-friendly interface for managing Star Wars Battlefront II game sessions, mods, and servers.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ArmchairDevelopers/Kyber/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Launcher serves as the primary interface for players to:- Browse and join multiplayer servers
- Manage game modifications
- Download and configure game files
- Track player statistics and events
- Connect with the KYBER community
Tech Stack
Framework
Flutter 3.11+ (master channel)
Language
Dart SDK 3.11+
UI Library
Fluent UI (Windows-style design)
FFI Bridge
Rust via flutter_rust_bridge
Key Dependencies
- State Management: BLoC pattern with flutter_bloc
- Networking: gRPC, GraphQL, WebSockets
- Storage: Hive (local database)
- UI Components: Fluent UI, custom Star Wars themed widgets
- Media: Video playback, audio, cached images
- Error Tracking: Sentry for crash reporting
Architecture
The Launcher follows clean architecture principles with clear separation of concerns:Key Features Implementation
Building
Prerequisites
Install Protoc
Download Protocol Buffers compiler and add to PATH
Generate FFI Bindings
- Windows
- Linux
Development Build
Run the launcher in debug mode:Release Build
- Windows
- Linux
build/windows/runner/Release/Building the Installer
- Windows
- Linux
Use Inno Setup with the provided script:The installer will be created in the
installer/Output directory.Platform-Specific Features
Windows
- Native window management (minimize to tray, always on top)
- Discord Rich Presence integration
- Windows Registry integration for game detection
- Custom title bar with Fluent Design
Linux
- XDG desktop integration
- Native file picker
- System tray support
Project Structure
pubspec.yaml
Code Generation
The Launcher uses several code generation tools:Development Tips
Hot Reload
Hot Reload
Flutter’s hot reload works great for UI changes, but requires a restart for:
- Changes to Rust code
- Changes to generated code
- Changes to native plugins
Debugging gRPC
Debugging gRPC
Enable gRPC logging:
Theme Customization
Theme Customization
All theme colors and styles are defined in
lib/core/config/colors.dart. The launcher uses a custom Star Wars inspired theme based on Fluent Design.Common Issues
The Launcher requires the Module DLL to be present at
C:/ProgramData/Kyber/Module/Kyber.dll for game launching functionality.