Files
osirose-new/launcher
raven a8755bd3de Add comprehensive documentation and unit tests
Documentation:
- Add detailed README files for all services (auth, character, database, launcher, packet, utils, world)
- Create API documentation for the database service with detailed endpoint specifications
- Document database schema and relationships
- Add service architecture overviews and configuration instructions

Unit Tests:
- Implement comprehensive test suite for database repositories (user, character, session)
- Add gRPC service tests for database interactions
- Create tests for packet service components (bufferpool, connection, packets)
- Add utility service tests (health check, logging, load balancer, redis cache, service discovery)
- Implement auth service user tests
- Add character service tests

Code Structure:
- Reorganize test files into a more consistent structure
- Create a dedicated tests crate for integration testing
- Add test helpers and mock implementations for easier testing
2025-04-09 13:29:53 -04:00
..

Game Launcher

The Game Launcher is a client-side application that launches the MMORPG game client with the appropriate connection parameters.

Overview

The Launcher is responsible for:

  • Parsing launch URLs from the web authentication system
  • Extracting connection parameters (server IP, port, session tokens)
  • Launching the game client with the correct command-line arguments
  • Handling updates (future functionality)

URL Format

The launcher accepts URLs in the following format:

launcher://launch?ip=127.0.0.1&port=29000&session=SESSION_TOKEN&username=USERNAME

Parameters:

  • ip: Game server IP address
  • port: Game server port
  • otp: One-time password (for direct login)
  • session: Session token (for direct login)
  • username: User's username
  • password: User's password (only used for non-direct login)

Command-Line Arguments

The launcher passes the following arguments to the game client:

  • @TRIGGER_SOFT@: Required trigger argument
  • _server: Server IP address
  • _port: Server port
  • _direct: Direct login flag
  • _otp: One-time password
  • _session: Session token
  • _userid: User's username
  • _pass: User's password

Platform Support

The launcher supports:

  • Windows: Launches TRose.exe directly
  • Linux: Uses Bottles to run the Windows client

Configuration

No additional configuration is required. The launcher extracts all necessary information from the launch URL.

Building the Launcher

cargo build --release

Usage

The launcher is typically invoked by clicking a link on the game's website:

<a href="launcher://launch?ip=127.0.0.1&port=29000&session=SESSION_TOKEN&username=USERNAME">
  Launch Game
</a>

It can also be run directly from the command line:

launcher "launcher://launch?ip=127.0.0.1&port=29000&session=SESSION_TOKEN&username=USERNAME"

Integration with External Systems

The Launcher integrates with:

  • Web Authentication System: Receives launch parameters via URL
  • Game Client: Launches the client with the appropriate parameters