A desktop server browser for Arma Reforger, built on the reforgermods.net v2 API. Live server list with search, sort and filters; a detail inspector with population history and mod readiness; measured ICMP latency; favorites, recents and settings; and direct joining through Steam. Tauri 2 and Rust, with a Preact frontend that builds to 80 KB of JavaScript in one chunk. Logic lives in rfm-core, which has no Tauri dependency and is tested directly; src-tauri is the window, the command surface and the wiring. Packaged for the public beta: a per-user NSIS installer, a portable .exe and an Arch package, with signature-verified background updates on Windows and a release pipeline that builds from a tag. The artifacts are not yet Authenticode-signed — that is wired and waiting on an Azure Trusted Signing identity, and docs/distribution.md says so plainly rather than letting anyone discover it at the SmartScreen dialog. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
26 lines
851 B
Rust
26 lines
851 B
Rust
//! Core logic for the reforgermods.net launcher.
|
|
//!
|
|
//! This crate deliberately has no Tauri dependency. Everything that can be
|
|
//! decided without a window lives here so it can be unit-tested directly:
|
|
//! the reforgermods.net API client, Steam launch-URI construction, local
|
|
//! persistence, response caching, and local Workshop addon detection.
|
|
|
|
pub mod api;
|
|
pub mod cache;
|
|
pub mod identity;
|
|
pub mod launch;
|
|
pub mod modscan;
|
|
pub mod ping;
|
|
pub mod presence;
|
|
pub mod readiness;
|
|
pub mod store;
|
|
|
|
pub use api::{ApiClient, ApiError};
|
|
pub use launch::{reforger_join_uri, steam_join_uri, LaunchError, ServerId};
|
|
|
|
/// User-Agent the launcher identifies itself with. The launcher is a public,
|
|
/// untrusted client: it sends no credentials, only this.
|
|
pub fn user_agent() -> String {
|
|
format!("reforgermods.net-launcher/{}", env!("CARGO_PKG_VERSION"))
|
|
}
|