#minecraft-launcher #minecraft #minecraft-downloader

bin+lib minecraft_launcher_core_msa

用 Rust 编写的 Minecraft 启动器库

2 个不稳定版本

0.2.0 2024年2月20日
0.1.0 2023年8月2日

#662算法

BSD-2-Clause

35KB
433

mc_launcher_core_msa

用 Rust 编写的 Minecraft 启动器库

https://crates.io/crates/minecraft_launcher_core_msa

支持的平台

由于这个库使用 https://github.com/shasankp000/mcdl_core_rs/ 作为底层依赖,目前只支持 Windows,因此这个库(这个库中的所有函数)目前也只支持 Windows。

但是,很快将扩展到 Linux 和 macOS。

注意

要启动 mc,您需要拥有一个拥有 Minecraft 的 Microsoft 帐户或在 www.ely.by 的帐户,因为启动器库目前只支持从 www.ely.by 进行用户身份验证。如果您决定使用 MSA 身份验证,您将需要自己处理获取 MSA 令牌。

函数

download_runtime

下载 Minecraft 的最新 JDK 运行时(目前是 JDK 17)。目前只支持 Windows。我很快将扩展到 Linux。

minecraft_launcher_core_msa::main::runtime_downloader::download_runtime;

download_runtime()

is_java_installed

检查系统上是否安装了 Java

目前只检查 Windows

``` minecraft_launcher_core_msa::main::launcher_cli::is_java_installed`; ``

letis_java_installed= is_java_installed();

println!("{}", is_java_installed) (true/false)

get_total_sys_mem

以字符串形式获取总系统内存。

minecraft_launcher_core_msa::main::launcher_cli::get_total_sys_mem;

lettotal_mem= get_total_sys_mem();

println!("{}",total_mem)

对于 2GB,它是 "2",4GB,它是 "4",8GB,它是 "8" 等等...

init()

基本初始化工作。所有与 mc 启动器相关的函数都应该首先调用 init()。

或者,init() 函数也可以在首次运行时调用。

use minecraft_launcher_core_msa::main::launcher_cli::init; init("{}", refresh_data:true)

如果将refresh_data设置为true,则每次都会用默认值覆盖settings.json文件。

ely_by_authenticator

www.ely.by进行用户身份验证,并将数据保存到settings.json。

使用 minecraft_launcher_core_msa::main::launcher_cli::ely_by_authenticator;

ely_by_authenticator("在ely.by上的您的用户名", "在ely.by上的您的密码", "minecraft_installation_directory")

download_ely_authlib

下载ely_by authlib

使用 minecraft_launcher_core_msa::main::launcher_cli::download_ely_authlib;

download_ely_authlib("minecraft安装目录")

launch_mc_vanilla

启动指定game_version、类型(发布版或快照)和身份验证类型的minecraft。此功能仅在minecraft的"发布"版本上进行了测试。在下一个版本中,将在底层依赖项和此库中添加快照支持。

此功能仅在minecraft的"发布"版本上进行了测试。在下一个版本中,将在底层依赖项和此库中添加快照支持。

目前支持Microsoft和www.ely.by身份验证

目前仅支持Windows。我很快会将此扩展到Linux和macOS。

如果您使用msa身份验证,可以忽略"密码"和"用户名"。

如果您使用ely.by身份验证,可以忽略"令牌"。

使用 minecraft_launcher_core_msa::launcher_cli::launch_mc_vanilla;

launch_mc_vanilla(auth_type:"ely_by/msa",game_version:"1.19.2",r#type: "release/snapshot",username: "您在ely.by上的用户名",password: "您在ely.by上的密码",token: "微软身份验证方案中的最终令牌"alloc_mem: "2")

alloc_mem是指您想要分配给minecraft的内存量(仅对GB使用整数)

依赖项

~7–23MB
~312K SLoC