Skip to main content

LaunchOptions

Struct LaunchOptions 

Source
pub struct LaunchOptions {
Show 19 fields pub path: PathBuf, pub version: String, pub authenticator: Authenticator, pub timeout_secs: u64, pub download_concurrency: u32, pub verify_concurrency: u32, pub memory: MemoryConfig, pub java: JavaOptions, pub loader: LoaderConfig, pub screen: ScreenConfig, pub verify: bool, pub game_args: Vec<String>, pub jvm_args: Vec<String>, pub instance: Option<String>, pub url: Option<String>, pub mcp: Option<String>, pub intel_enabled_mac: bool, pub bypass_offline: bool, pub skip_bundle_check: bool,
}
Expand description

Complete configuration for a launcher session.

Pass to Launcher::new(). Every field except path, version, and authenticator has a sensible default so callers only need to set what differs from the defaults.

Fields§

§path: PathBuf

Absolute base path for all launcher data (libraries/, assets/, versions/, runtime/, …).

§version: String

Minecraft version: concrete ("1.20.4") or alias ("latest_release" / "r" / "lr" / "latest_snapshot" / "s" / "ls").

§authenticator: Authenticator

Authentication credentials — required.

§timeout_secs: u64

HTTP request timeout in seconds (default: 10).

§download_concurrency: u32

Concurrent download workers, clamped to 1–30 (default: 5).

§verify_concurrency: u32

Concurrent SHA-1 verify workers, clamped to 1–16 (default: 4). Lower than download_concurrency to avoid disk seek thrashing on HDDs.

§memory: MemoryConfig§java: JavaOptions§loader: LoaderConfig§screen: ScreenConfig§verify: bool

Re-verify SHA-1 integrity of every file after download (default: false).

§game_args: Vec<String>

Extra arguments appended after the vanilla game arg list.

§jvm_args: Vec<String>

Extra arguments prepended to the JVM arg list.

§instance: Option<String>

Named instance for multi-instance support. When set, data lives under <path>/instances/<instance>/.

§url: Option<String>

URL for custom additional assets (optional).

§mcp: Option<String>

Path to a custom Minecraft JAR (mod compatibility parameter).

§intel_enabled_mac: bool

macOS only: force x64 Java even on Apple Silicon (Rosetta 2).

§bypass_offline: bool

Redirect Mojang auth endpoints to an invalid domain so offline multiplayer works without a valid session (default: false).

§skip_bundle_check: bool

When true and gameData.json already exists on disk, skip the bundle integrity check and load directly from cache (fast launch). Falls through to the normal download path when the cache is absent. Default: false (always verify — current behaviour preserved).

Implementations§

Source§

impl LaunchOptions

Source

pub fn save_dir(&self) -> PathBuf

Directory where gameData.json is stored. Returns <path>/instances/<instance> when instanced, otherwise <path>.

Source

pub fn loader_dir(&self, name: &str) -> PathBuf

Root directory for a specific mod loader’s files.

Returns <path>/loader/<name> unless loader.path is set explicitly.

Source

pub fn clamped_concurrency(&self) -> u32

download_concurrency clamped to the valid range 1–30.

Source

pub fn clamped_verify_concurrency(&self) -> u32

verify_concurrency clamped to the valid range 1–16.

Trait Implementations§

Source§

impl Clone for LaunchOptions

Source§

fn clone(&self) -> LaunchOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LaunchOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for LaunchOptions

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for LaunchOptions

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,