我们近期更新了服务条款,如需阅读,请前往“条款”分页

启动器

ML 提供了强大的启动器核心功能,支持各类游戏版本和账户类型的启动。

基础配置

CSharp
using MinecraftLaunch.Launch;
using MinecraftLaunch.Base.Models.Game;

// 此处 LaunchConfig 提供的为最基本的可以启动游戏的信息,更多参数请参考下表
// minecraftParser 可以直接输入本地 .minecraft 文件夹路径
MinecraftRunner runner = new(new LaunchConfig {
    Account = account,
    MaxMemorySize = 2048,
    MinMemorySize = 512,
    LauncherName = "MinecraftLaunch",
    JavaPath = java,
}, minecraftParser);
属性名类型默认值作用说明
AccountAccount启动器使用的账户信息,包含用户凭据和身份标识。
IsFullscreenboolfalse是否以全屏模式启动游戏。
IsEnableIndependencybooltrue是否启用独立运行模式,避免与其他配置或实例冲突。
Widthint854游戏窗口的初始宽度。
Heightint480游戏窗口的初始高度。
MinMemorySizeint512JVM 最小分配内存(单位:MB),影响游戏性能。
MaxMemorySizeint1024JVM 最大分配内存(单位:MB),影响游戏性能上限。
JavaPathJavaEntry指定 Java 可执行文件路径及相关信息。
LauncherNamestring启动器名称,用于标识或展示。
NativesFolderstring本地库文件的存放目录,供 JVM 加载 native 代码使用。(可选)
ServerInfoServerInfo要连接的服务器信息,如 IP、端口、版本等。
SaveNamestring存档名称,用于标识游戏存档或配置。(此功能仅支持 1.20.2+)
JvmArgumentsIEnumerable<string>[]额外传递给 JVM 的启动参数,用于性能调优或功能扩展。

启动游戏

在完成启动信息配置后,你只需要调用启动器的启动完成游戏启动 在异步上下文中,使用 RunAsync 来完成验证:

CSharp
var process = await runner.RunAsync(minecraft);

在同步上下文中,使用 Run 来完成验证:

CSharp
var process = runner.Run(minecraft);

游戏状态监控

在调用启动方法后会进行一些处理并不会马上启动,你可以通过启动后返回的类型来检测当前状态

事件名类型触发时机作用说明
StartedEventHandler游戏启动成功时游戏启动时触发
ExitedEventHandler<EventArgs>游戏退出时游戏因正常退出或崩溃时触发
OutputLogReceivedEventHandler<LogReceivedEventArgs>游戏输出日志时用于捕获游戏运行时的标准输出日志,便于调试或展示给用户

游戏崩溃分析