Minecraft(我的世界)中文论坛

标题: [c#|MIT开源]SquareMinecraftLauncherCore库(Minecraft启动核心库) 2020.7.22更新

作者: 229229666    时间: 2019-7-24 16:54
标题: [c#|MIT开源]SquareMinecraftLauncherCore库(Minecraft启动核心库) 2020.7.22更新
本帖最后由 229229666 于 2020-7-22 11:51 编辑
前言

感谢@hemp 提供的技术支持,感谢所有在爱发电提供赞助的朋友

该库面向的人群

熟练掌握c#

对我的世界理论知识比较了解

该项目语言

.NET Framework 4.5 C#

功能

支持全版本启动

支持统一通行证

支持Optifine、liteloader、Forge、fabric自动安装

支持正版登录

支持离线登录

支持补全

支持提供下载库

支持修改游戏标题、修改.minecraft路径

支持Optifine、liteloader、Forge、fabric下载

支持authlib-injector登录

支持获取mcbbs快讯

支持卸载Optifine、liteloader、Forge

支持1.13及以上版本Forge安装

。。。

赞助

赞助费我们会从中抽出40%赞助BMCLAPI,还有60%会用到开发上

赞助网站:https://afdian.net/@BaiBaoStudio

开源(2020.7.21已更新)

GitHubhttps://github.com/baibao132/SquareMinecraftLauncherCore

库下载(2020.7.22已更新)


SquareMinecraftLauncher LOGO图标




没人看的更新记录


库每月一更,紧急情况除外
SquareMinecraftLauncherCore开发文档
https://github.com/baibao132/SquareMinecraftLauncherCore/wiki
如果有相关问题请反馈到下面地址中
https://github.com/baibao132/SquareMinecraftLauncherCore/issues















作者: AHpx    时间: 2019-7-26 14:01
awsl,大佬tql
作者: ZCJheJJ    时间: 2019-7-29 12:47
分享密码是啥!!
作者: 43991244456    时间: 2019-7-29 16:43
密码是什么
作者: Shenhi    时间: 2019-7-29 16:56
感谢大佬分享,还没用, 有机会多多创作一下 qwq,服务大家
作者: 229229666    时间: 2019-7-30 18:04
43991244456 发表于 2019-7-29 16:43
密码是什么

nv9ywk                              
作者: 229229666    时间: 2019-7-30 18:04
ZCJheJJ 发表于 2019-7-29 12:47
分享密码是啥!!

nv9ywk                    
作者: 秋果86    时间: 2019-8-3 16:39
偷代码换图标-/滑稽 做得很好加油
作者: 3255699296    时间: 2019-8-3 16:50
卧槽这是新版客户端吗?大佬大佬
作者: 229229666    时间: 2019-8-3 21:39
本帖最后由 229229666 于 2019-8-3 21:47 编辑

              
作者: 229229666    时间: 2019-8-3 21:43
3255699296 发表于 2019-8-3 16:50
卧槽这是新版客户端吗?大佬大佬

这只是我自己写的启动器后端库而已,如果会c#的话可以将该库引用并使用它
作者: 秋果86    时间: 2019-8-4 10:38
229229666 发表于 2019-8-3 21:43
这只是我自己写的启动器后端库而已,如果会c#的话可以将该库引用并使用它 ...

肝,超过其他启动器。加油
作者: 605356316    时间: 2019-8-14 06:35
鼓励第三方开发支持统一通行证的启动器
作者: handsomeHHC    时间: 2019-8-23 12:33
大佬大佬,6666
作者: 2083376966    时间: 2019-8-23 19:05
谢谢楼主
作者: ChenMudada    时间: 2019-8-24 10:08
Shenhi 发表于 2019-7-29 16:56
感谢大佬分享,还没用, 有机会多多创作一下 qwq,服务大家

6666666666666666666666666666666666666666
作者: ChenMudada    时间: 2019-8-24 10:08
Shenhi 发表于 2019-7-29 16:56
感谢大佬分享,还没用, 有机会多多创作一下 qwq,服务大家

666666666666666666666666666666666666

作者: Minecraft真心    时间: 2019-11-27 19:43
没有wiki么
作者: white_cola    时间: 2019-11-27 20:42
建议出个教程 awa
作者: 229229666    时间: 2019-11-27 23:11
Minecraft真心 发表于 2019-11-27 19:43
没有wiki么

Wiki刚刚写好,只不过只写了一点,后续会补充的
Wiki:https://github.com/baibao132/SquareMinecraftLauncherCore/wiki
作者: 229229666    时间: 2019-11-27 23:12
white_cola 发表于 2019-11-27 20:42
建议出个教程 awa

刚刚才写好的,只不过只写了一点,后续会补充的
教程:https://github.com/baibao132/SquareMinecraftLauncherCore/wiki
作者: dudududu2004    时间: 2019-12-8 12:45
调用时发生错误


作者: dudududu2004    时间: 2019-12-8 15:03
如何自动补全Natives和libraries呢?
作者: Gillier    时间: 2019-12-10 20:25
感谢提供的教程!
作者: 229229666    时间: 2019-12-11 16:52
dudududu2004 发表于 2019-12-8 15:03
如何自动补全Natives和libraries呢?

通过tools类中的public MCDownload[] GetMissingFile(string version);方法,获得需要补全的数组,然后使用库自带的Gac类,进行下载
作者: 229229666    时间: 2019-12-11 16:54
dudududu2004 发表于 2019-12-8 12:45
调用时发生错误

这个不影响,只不过是利用try抛出的异常去忽略不需要的版本
作者: white_cola    时间: 2019-12-12 10:18
开发文档一直没更新啊awa
作者: 229229666    时间: 2019-12-12 14:49
white_cola 发表于 2019-12-12 10:18
开发文档一直没更新啊awa

好的,今天我会尽快更新的
作者: 229229666    时间: 2019-12-12 17:09
white_cola 发表于 2019-12-12 10:18
开发文档一直没更新啊awa

开发文档已更新,后续出关于自动安装部分
作者: dudududu2004    时间: 2019-12-15 09:15

调用ServerInfo中的GetServerInformation出错
Newtonsoft.Json.dll是最新版本

还有就是StartGame为什么要结束程序才能显示出游戏窗口呢
作者: 229229666    时间: 2019-12-15 14:24
dudududu2004 发表于 2019-12-15 09:15
调用ServerInfo中的GetServerInformation出错
Newtonsoft.Json.dll是最新版本


注意异步扩展,填await,等待结束后游戏就会显示
作者: 229229666    时间: 2019-12-15 14:25
dudududu2004 发表于 2019-12-15 09:15
调用ServerInfo中的GetServerInformation出错
Newtonsoft.Json.dll是最新版本


调用ServerInfo出现的异常,后续会尽快修复
作者: dudududu2004    时间: 2019-12-15 23:45
229229666 发表于 2019-12-15 14:24
注意异步扩展,填await,等待结束后游戏就会显示

加了以后还是要结束程序后才显示游戏画面
作者: 229229666    时间: 2019-12-16 15:32
dudududu2004 发表于 2019-12-15 23:45
加了以后还是要结束程序后才显示游戏画面

可以发一下启动这一块的代码吗?
作者: 229229666    时间: 2019-12-17 21:22
dudududu2004 发表于 2019-12-15 23:45
加了以后还是要结束程序后才显示游戏画面

这个问题原因已找到,今晚会修复好,请注意后续的nuget更新
作者: dudududu2004    时间: 2019-12-28 18:03
229229666 发表于 2019-12-17 21:22
这个问题原因已找到,今晚会修复好,请注意后续的nuget更新


游戏为什么是运行在程序下面的...
关掉后才能出现

作者: 229229666    时间: 2019-12-29 21:21
dudududu2004 发表于 2019-12-28 18:03
游戏为什么是运行在程序下面的...
关掉后才能出现

因为是为了去监控游戏是否已运行,方便判断该游戏是否运行,隐藏启动器
请确保是否已更新至最新版,解决该bug
作者: dudududu2004    时间: 2019-12-30 12:47
229229666 发表于 2019-12-29 21:21
因为是为了去监控游戏是否已运行,方便判断该游戏是否运行,隐藏启动器
请确保是否已更新至最新版,解决 ...

是最新版了。。。
启动代码应该怎么样呢
作者: 229229666    时间: 2019-12-30 12:58
dudududu2004 发表于 2019-12-30 12:47
是最新版了。。。
启动代码应该怎么样呢

例:
  1. await game.StartGame(DIYvar.Main1.GameVersion.Text, DIYvar.Main1.javaw.Text, Convert.ToInt32(DIYvar.Main1.RAM.Text), Skin.NameItem[DIYvar.Main1.rw.SelectedIndex].Name, Skin.NameItem[DIYvar.Main1.rw.SelectedIndex].uuid, Skin.accessToken, DIYvar.Main1.ID.Text, DIYvar.Main1.JVM.Text, arg, AuthenticationServerMode.yggdrasil);
复制代码

后面可以写隐藏启动器的代码就行
作者: dudududu2004    时间: 2020-1-4 22:07
229229666 发表于 2019-12-30 12:58
例:
后面可以写隐藏启动器的代码就行

private async Task startmc()
        {
            check();
            Game mc_game = new Game();
            mc_game.LogEvent += new Game.LogDel(Log_event);
            mc_game.ErrorEvent += new Game.ErrorDel(Error_event);
            await mc_game.StartGame(bbxz.SelectedItem.ToString(), javapathtext.Text, int.Parse(zdnc.Text), yxidtext.Text).ConfigureAwait(false);
        }

        private void skinButton1_ClickAsync(object sender, EventArgs e)
        {
            if (bbxz.SelectedItem.IsNull() || bbxz.SelectedItem.ToString() == "请选择版本" || bbxz.SelectedItem.ToString() == "未找到可用版本")
            {
                MessageBox.Show("请选择游戏版本!", "温馨提示:");
            }
            else if (yxidtext.IsNull() || yxidtext.Text == "请输入游戏ID")
            {
                MessageBox.Show("请输入游戏名!", "温馨提示:");
                tab.SelectedIndex = 1;
            }
            else if (javapathtext.Text == "未自动找到Java...")
            {
                MessageBox.Show("没有找到Java!请设置Java路径!", "温馨提示:");
                tab.SelectedIndex = 3;
            }
            else
            {
                try
                {
                    startmc();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "启动失败:", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
这样可以吗
作者: 229229666    时间: 2020-1-5 02:08
本帖最后由 229229666 于 2020-1-5 02:11 编辑
dudududu2004 发表于 2020-1-4 22:07
private async Task startmc()
        {
            check();

启动游戏时,注意:后面不要加configureAwait(),写上它会出现线程问题。其他应该没什么问题,但比较建议使用c# WPF去开发启动器
如果还有问题可以加:2817541592
作者: 海绵c2    时间: 2020-1-5 22:01
大佬,请问怎么检测登录的账号是不是正版账号
作者: 229229666    时间: 2020-1-6 18:10
海绵c2 发表于 2020-1-5 22:01
大佬,请问怎么检测登录的账号是不是正版账号

啥意思?启动器方面的问题?
作者: 海绵c2    时间: 2020-1-6 18:27
229229666 发表于 2020-1-6 18:10
啥意思?启动器方面的问题?

就是检测输入的正版号和密码对不对
作者: 229229666    时间: 2020-1-6 18:48
海绵c2 发表于 2020-1-6 18:27
就是检测输入的正版号和密码对不对

使用Getlogin MinecraftLogin(string username, string password);函数,try...catch()进行异常处理,抛出的异常就是正版登录返回的错误信息
作者: 麻蛇    时间: 2020-3-19 08:27
感谢大佬分享
作者: fengyuzhanyan    时间: 2020-3-19 16:16
真香
作者: 网易MC    时间: 2020-3-19 16:21
顶一个
太有用了
作者: MAX_小葵    时间: 2020-3-19 16:48
感谢分享,试试能不能用
作者: 附魔台上的SGA    时间: 2020-3-20 15:02
支持楼主付出,下载学习下如何写启动器~
作者: 408760    时间: 2020-3-20 16:47
?什么东西
作者: chenjj100419    时间: 2020-3-20 18:10
给大佬递茶了11
作者: 我当时死了    时间: 2020-3-21 16:09
谢谢楼主分享
作者: 晴天_yaiqiyi    时间: 2020-3-21 16:43

感谢大佬分享,还没用, 有机会多多创作一下 qwq,服务大家

作者: DAYwow    时间: 2020-3-21 16:54
感谢楼主
作者: qind    时间: 2020-3-21 19:00
好东西太强了
作者: 879546213    时间: 2020-3-21 22:30
是个大佬,感谢分享
作者: SingleVersion    时间: 2020-3-22 11:17
感觉方便了很多总之tql
作者: MinecraftA45    时间: 2020-3-22 12:46
大哥牛逼牛逼牛逼牛逼
作者: Clemens_Mine    时间: 2020-3-22 20:48
感谢楼主分享!
作者: IYuukoI    时间: 2020-3-23 11:41
666666666666
作者: 1258595830    时间: 2020-3-23 16:39
6,很有用
作者: 915962128    时间: 2020-3-24 08:21
66666666666
作者: ZiXuan_love    时间: 2020-3-24 21:47
感谢大佬的分析
作者: walle1996    时间: 2020-3-25 09:19

卧槽这是新版客户端吗?大佬大佬
作者: coby_Cola    时间: 2020-3-25 10:56
是C#大佬 wsl!!!
作者: 咖林    时间: 2020-3-25 14:30
感谢楼主分享源码
作者: qsefrhukolp6    时间: 2020-3-25 15:33
Sssssssssssssssss
作者: 1278490989    时间: 2020-3-30 11:09
谢谢大佬
作者: liaojinmin    时间: 2020-4-13 23:13
加油,我自己也在做启动器在参考
作者: fang—he    时间: 2020-4-14 20:21
学习666666666
作者: 清晨小号    时间: 2020-4-19 19:02
很好很棒
作者: MYi00    时间: 2020-5-22 11:02
感谢大佬分享
作者: Samier2020    时间: 2020-6-27 15:37
6666666666
作者: MLB_白冥    时间: 2020-7-9 17:02
饿么么么么么,

作者: 3592676753    时间: 2020-7-18 13:40
SquareMinecraftLauncherCore很好

作者: hy黑影    时间: 2020-7-19 11:21
感谢楼主开发
作者: hy黑影    时间: 2020-7-19 17:29
请问可以修改安装地址吗?我希望使用这个核心启动不在启动器目录下的MC。请问能否实现?
作者: StreamReader    时间: 2020-7-20 07:12
好东西,正好我c#还算熟练,可以diy启动器了
作者: 229229666    时间: 2020-7-25 12:20
hy黑影 发表于 2020-7-19 17:29
请问可以修改安装地址吗?我希望使用这个核心启动不在启动器目录下的MC。请问能否实现? ...

现在可以实现该功能,可以在tools类中找到该函数
作者: 艾尼维亚    时间: 2020-7-25 16:12
.net版本太高了,win10默认环境都没办法运行吧?现在项目大多数都是4.0的,如果不依赖新特性的话开3.5兼容win7最好,很多用户不会装.net的直接被劝退了。。。
作者: Exit_Zero    时间: 2020-7-30 10:11
支持支持!!!
作者: 66698k    时间: 2020-8-1 16:02
66666666666666666666


作者: Jayshon-Yves    时间: 2020-8-1 23:21
为了几个await就用4.5感觉有点亏
好多东西没留接口都直接给写死了
想自己改一下发现编程能力跟不上
作者: 涯余丶小福    时间: 2020-8-2 01:02
感谢大佬分享w
作者: 229229666    时间: 2020-8-8 20:10
艾尼维亚 发表于 2020-7-25 16:12
.net版本太高了,win10默认环境都没办法运行吧?现在项目大多数都是4.0的,如果不依赖新特性的话开3.5兼容w ...

使用.Net 4.5是为了解决写WPF时防止程序界面发生卡顿现象,因为写await的函数都比较费时间所以只能通过使用.Net 4.5来解决该问题
作者: Brucetang    时间: 2020-8-11 17:23
666
66666666666666666666666666666
作者: Heer_Kaisair    时间: 2020-8-12 14:53
awsl,大佬牛逼
作者: 星野尘梦    时间: 2020-8-14 18:02
支持!!!666
作者: LZphoenix    时间: 2020-8-14 18:58
tqltql,大佬大佬
作者: Mcxixif    时间: 2020-8-16 19:29
,感谢了
作者: 理智反迷你    时间: 2020-8-19 13:58
看起来不错,试试
就是不知道C++能不能用
作者: 人啊啊啊    时间: 2020-8-20 14:43
感谢分享
作者: Aliolz    时间: 2020-9-23 00:05
有没有BC核心呀
作者: niurenyu    时间: 2020-10-1 12:19
看看大佬的杰作

作者: xmh离落    时间: 2020-10-3 15:15
厉害,谢谢
作者: 909920268    时间: 2020-10-3 16:43
666666666666666
作者: I857I    时间: 2020-10-6 22:56
本帖最后由 I857I 于 2020-10-9 21:41 编辑

支持,谢谢作者,这个启动器蛮稳定的
作者: 宇轩yuxuan    时间: 2020-10-7 15:42
问下,有自定义Minecraft标题吗
作者: 洞穴夜莺    时间: 2020-10-7 15:43
宇轩yuxuan 发表于 2020-10-7 15:42
问下,有自定义Minecraft标题吗

启动器没法改Minecraft标题的