ARSpark
本帖最后由 RarityEG 于 2021-8-18 13:28 编辑

//music.163.com/outchain/player?type=2&id=411322653&auto=0&height=66

Alicorn Launcher - The Ending of The End
最后一桩任务

    点此前往本项目的 GitHub 仓库 >>>

啊呀,新人你好!如果你看不懂这个帖子呢,就不要在下方回复,请您随意点击浏览器地址栏附近的「返回」按钮离开这里,在这里灌水可能遭到严重的处罚哦~




昨天发布的官方 1.16.5 Fabric MCBBS 整合包(91 Mods 一个都不少哦(

(我花了十五分钟完成了对 MCBBS 格式整合包的适配,这都要归功于 performForgeInstall、performFabricInstall、wrappedDownloadFile 和 xcopy)
Time To Come Together
寻找协同开发者

Alicorn 的开发任务日益繁重,特别是我们要实现很多新功能,而每个功能都有大量的编码工作……(我真的要累死啦
如果您懂 TypeScript 或 React,我们十分期望您的加入,您可以下方回帖,亦可以私信我(站内信)(双蹄撑脸造型)

例如,他们可能会推崇自我意识……
……但是我们不应该听信这些诱惑,因为如果团结在一起,我们会取得多得多的成就。 —— GNU

Changes 变更

BREAKING CHANGES - 这是一次破坏性更新,旧版本 Alicorn(Pre2 及以下)不能不经修改地升级到此版本



The Ending of The End踏上发行之路

截至本次快照(Alicorn Final),Alicorn 的测试开发过程就要告一段落了,五个月的时间,说长不长,说短也未必短,总之,到此,预开发阶段的任务就圆满完成了。
遗憾还是有很多的,很多设计的功能没有来得及在开发过程中实现,虽然「凑和也能用」,但是总感觉还差了点什么东西……

Origin -> Alpha -> Beta -> RC -> Pre1 -> Pre2 -> Pre3 -> Final -> 1.0.0,我们已经来到最后一程。

所有的(目前已经收到的十几个反馈)已知 Bug 被修复后,Alicorn 就会出现在软件资源版了。

当然,开发工作不会到此终止,相反,这只是个起点。上线后有更多的事务要解决,许多没有实现的功能也会在发行后逐一添加……当然,也少不了要和许多新人磨嘴皮子(


Reborn and Restart
重新开始
三月份左右我创建了 Alicorn 仓库,开始向其中提交代码
(主要是之前的 EQLauncher(不知道是否还有人记得)项目被我咕报废莉(

当时洞莺的一句话伤害了提醒了我:
此项目弃坑了吗?

我从未想过这样做,但是我发现我再也没能继续改进 EQL,于是我只好删掉了仓库,开始认真写插件教程(
然后等插件教程写完了,我还是把目光投向了外部软件,而启动器则是我可以(重新)入手的第一个项目。

EQL 最早是 Electron 编写的,神奇的是,我转了一圈选一个合适的框架,从最早的 Python,到后来的 .NET,再到 Swing/SWT,然后是 GTK/Qt,还尝试过 Flutter、NW.js,最后还是绕回到了 Electron 上

以上每个平台我都创建过至少一个项目:PyEQL(Python),EQL Reborn(.NET),Rarity's Java MCL(Swing),Cross MCL(GTK),PegasusCL(Flutter),直到 NW.js 才真正用了 Alicorn 这个名字,后来将大多数代码不经修改地移动到了 Electron 上,就有了现在的跨平台 Alicorn。
(要是我一开始就把精力集中在 Electron 上,Alicorn 现在早就可以自动清理垃圾什么的了(

不过这一次我没有再用 Bootstrap 和蹄工排版,我用了 React,虽然过程极其痛苦,但是带来的可扩展性和回报也是极其巨大的(

(唯一的问题可能就是大了点(好多 MB 呢(


Almost Done
就快到了



现在只剩一件事情了:网站

(我本来想把我的绿宝石卖掉,去搭建个服务器的,但是后来想想那玩意不太靠谱(而且我还要宣传栏的),所以还是选择吃 Vercel 和 GitHub
(哎呀,好烦,最近 Vercel 的速度又超级不稳定,导致 Alicorn 的更新服务都换到 jsDelivr 上了(

所以就这样了,自己配了下颜色(



(然后我想想,好像也没啥了,那就好好准备下查毒报告,然后抽时间再写篇帖子(



THE END


Best Friends:(排名不分先后)

@bleake @洞穴夜莺 @wine毛毛 @Jaanai @dengyu @Wudji @PLAIN_SHEEP @LeoPro @尸先peng @叉烧 @whatfilmae  @⚡️👮 @🐦💕🌸🌸 @天空ag







2021.12 数据,可能有更多内容https://music.163.com/#/song?id=411322653

Alicorn Launcher - The Ending of The End
最后一桩任务

    点此前往本项目的 GitHub 仓库 >>>

啊呀,新人你好!如果你看不懂这个帖子呢,就不要在下方回复,请您随意点击浏览器地址栏附近的「返回」按钮离开这里,在这里灌水可能遭到严重的处罚哦~





昨天发布的官方 1.16.5 Fabric MCBBS 整合包(91 Mods 一个都不少哦(

(我花了十五分钟完成了对 MCBBS 格式整合包的适配,这都要归功于 performForgeInstall、performFabricInstall、wrappedDownloadFile 和 xcopy)
Time To Come Together
寻找协同开发者

Alicorn 的开发任务日益繁重,特别是我们要实现很多新功能,而每个功能都有大量的编码工作……(我真的要累死啦
如果您懂 TypeScript 或 React,我们十分期望您的加入,您可以下方回帖,亦可以私信我(站内信)(双蹄撑脸造型)

例如,他们可能会推崇自我意识……
……但是我们不应该听信这些诱惑,因为如果团结在一起,我们会取得多得多的成就。 —— GNU

Changes 变更

BREAKING CHANGES - 这是一次破坏性更新,旧版本 Alicorn(Pre2 及以下)不能不经修改地升级到此版本


  • <功能>MCBBS 格式整合包安装(出于安全原因,尚不支持自动更新和参数注入)
  • <功能>现在可在「版本信息」页面单击显示不同的内容
  • <功能>现在可选择不校验文件
  • <功能>现在可设置平滑切换
  • <质量>修改了「最后一次游戏」的入口
  • <质量>更新了更新组件和更新源
  • <质量>修改了代理应用策略
  • <质量>移除了启动预备页面的进度条(除了浪费 CPU 就没有别的功能)
  • <修复>安装完一个 JRE 后再安装第二个时不会重新下载
  • <修复>优化 UI 响应速度
  • <修复>Windows 上的字体显示问题(但没有完全解决
  • <修复>Fabric 镜像偶尔 404
  • <技术>更新了 GitHub CI 以输出校验码



The Ending of The End踏上发行之路

截至本次快照(Alicorn Final),Alicorn 的测试开发过程就要告一段落了,五个月的时间,说长不长,说短也未必短,总之,到此,预开发阶段的任务就圆满完成了。
遗憾还是有很多的,很多设计的功能没有来得及在开发过程中实现,虽然「凑和也能用」,但是总感觉还差了点什么东西……


Origin -> Alpha -> Beta -> RC -> Pre1 -> Pre2 -> Pre3 -> Final -> 1.0.0,我们已经来到最后一程。


所有的(目前已经收到的十几个反馈)已知 Bug 被修复后,Alicorn 就会出现在软件资源版了。


当然,开发工作不会到此终止,相反,这只是个起点。上线后有更多的事务要解决,许多没有实现的功能也会在发行后逐一添加……当然,也少不了要和许多新人磨嘴皮子(



Reborn and Restart
重新开始
三月份左右我创建了 Alicorn 仓库,开始向其中提交代码
(主要是之前的 EQLauncher(不知道是否还有人记得)项目被我咕报废莉(


当时洞莺的一句话伤害了提醒了我:
此项目弃坑了吗?

我从未想过这样做,但是我发现我再也没能继续改进 EQL,于是我只好删掉了仓库,开始认真写插件教程(
然后等插件教程写完了,我还是把目光投向了外部软件,而启动器则是我可以(重新)入手的第一个项目。


EQL 最早是 Electron 编写的,神奇的是,我转了一圈选一个合适的框架,从最早的 Python,到后来的 .NET,再到 Swing/SWT,然后是 GTK/Qt,还尝试过 Flutter、NW.js,最后还是绕回到了 Electron 上


以上每个平台我都创建过至少一个项目:PyEQL(Python),EQL Reborn(.NET),Rarity's Java MCL(Swing),Cross MCL(GTK),PegasusCL(Flutter),直到 NW.js 才真正用了 Alicorn 这个名字,后来将大多数代码不经修改地移动到了 Electron 上,就有了现在的跨平台 Alicorn。
(要是我一开始就把精力集中在 Electron 上,Alicorn 现在早就可以自动清理垃圾什么的了(


不过这一次我没有再用 Bootstrap 和蹄工排版,我用了 React,虽然过程极其痛苦,但是带来的可扩展性和回报也是极其巨大的(


(唯一的问题可能就是大了点(好多 MB 呢(



Almost Done
就快到了




现在只剩一件事情了:网站


(我本来想把我的绿宝石卖掉,去搭建个服务器的,但是后来想想那玩意不太靠谱(而且我还要宣传栏的),所以还是选择吃 Vercel 和 GitHub
(哎呀,好烦,最近 Vercel 的速度又超级不稳定,导致 Alicorn 的更新服务都换到 jsDelivr 上了(


所以就这样了,自己配了下颜色(





(然后我想想,好像也没啥了,那就好好准备下查毒报告,然后抽时间再写篇帖子(



THE END


Best Friends:(排名不分先后)


@bleake @洞穴夜莺 @wine毛毛 @Jaanai @dengyu @Wudji @PLAIN_SHEEP @LeoPro @尸先peng @叉烧 @whatfilmae@⚡️👮 @🐦💕🌸🌸 @天空ag



青蛙的名单
小马!我只记得我跟着一只可爱的小马蹄敲出来的教程学习过插件(

ARSpark
青蛙的名单 发表于 2021-8-18 13:43
小马!我只记得我跟着一只可爱的小马蹄敲出来的教程学习过插件(

(我虽然教程写得凑合,但是自己的插件作品寥寥无几,主要是没有时间维护啦(都分配给了 Alicorn


天空ag
Alicorn Launcher Final!
测试开发 告一段落 圆满完成。

Alicorn Launcher 终于要面世了啊
这次终于支持了MCBBS 格式整合包安装 好耶~
期待 Alicorn Launcher 1.0.0!

OneAwA
又一个后起之秀启动器吗?Alicorn官网大了好多兆,然而每大一兆就要等多十多秒。启动器本身的体积也是一个问题。

ARSpark
本帖最后由 RarityEG 于 2021-8-18 17:19 编辑
OneAwA 发表于 2021-8-18 17:07
又一个后起之秀启动器吗?Alicorn官网大了好多兆,然而每大一兆就要等多十多秒。启动器本身的体积也是一个 ...

(下载的 CDN 有那么差吗?
(我用虚拟机测的 5M/s 的速度,十几秒就完了
(更新只需要每次 1M 的补丁)
(下次我抽时间把 Electron 的源代码拿来切割(

SHEEP_PLAINS
本帖最后由 PLAIN_SHEEP 于 2021-8-18 17:33 编辑

可以正式发布了?

所以说什么时候Alicorn能成为独立的Alicorn.exe,自动生成所需文件

ARSpark
本帖最后由 RarityEG 于 2021-8-18 17:52 编辑
PLAIN_SHEEP 发表于 2021-8-18 17:31
可以正式发布了?

所以说什么时候Alicorn能成为独立的Alicorn.exe,自动生成所需文件 ...

那我直接打个自解压不就好了(和你手动解压有什么区别,还容易被杀毒软件干掉)
(而且更新会非常麻烦,因为不能向 EXE 中写数据,这意味着更新系统将永远不能更换,等将来哪一天 Alicorn 突然支持更多的功能,需要下载超多的文件到指定的地方,全都要用这个老旧的更新系统进行更新……就炸掉了(

现在你只需要下载一次 Alicorn(指正式版),终身无需手动更新(除非我玩脱了)

xmdhs
RarityEG 发表于 2021-8-18 17:48
那我直接打个自解压不就好了(和你手动解压有什么区别,还容易被杀毒软件干掉)
(而且更新会非常麻烦,因 ...

倒是可以用另外一个语言写一个启动器的启动器,把文件塞到 usercache 之类的文件夹里。

ARSpark
xmdhs 发表于 2021-8-18 17:55
倒是可以用另外一个语言写一个启动器的启动器,把文件塞到 usercache 之类的文件夹里。 ...

(我觉得那样会更不好(
Alicorn 的定位是供个人长期使用的,「一次安装,一直可用」,而不是「即装即用,即拆即停」

(所以我不怎么在乎大小,不会真有人想把这东西塞进整合包里面吧(
等我解决了文件载入问题后,倒是可以用 Builder 打包 standalone exe 和 AppImage

xmdhs
RarityEG 发表于 2021-8-18 18:25
(我觉得那样会更不好(
Alicorn 的定位是供个人长期使用的,「一次安装,一直可用」,而不是「即装即用 ...

意思是通过网络下载你的启动器,然后把文件储存在什么位置,下次就直接运行储存的文件。

对于目前大多数的玩家可能比较习惯,相较于把一大堆文件打包进可执行文件里,也要更灵活和启动速度更快。

SHEEP_PLAINS
RarityEG 发表于 2021-8-18 17:48
那我直接打个自解压不就好了(和你手动解压有什么区别,还容易被杀毒软件干掉)
(而且更新会非常麻烦,因 ...

可行性不高的话那就算了,我就是说说

ARSpark
PLAIN_SHEEP 发表于 2021-8-18 21:29
可行性不高的话那就算了,我就是说说

(我已经按照 xmdhs 的建议搞定了(
(果然 Python 没有白学(

ARSpark
xmdhs 发表于 2021-8-18 18:30
意思是通过网络下载你的启动器,然后把文件储存在什么位置,下次就直接运行储存的文件。

对于目前大多数 ...

(貌似没啥问题
找到 AppData 太难了(而且写入时也各种错误),所以我就丢到 ~/ 下面了(反正 Windows 用户我觉得很少有把文件丢到 ~/ 下面的)

试了下 Go,奈何没学过,上手就写解压缩和下载文件有点困难(
(所以最后还是用 Python 解决了,6.95 M,比 Go 的稍微大一点点(

xmdhs
RarityEG 发表于 2021-8-18 23:22
(貌似没啥问题
找到 AppData 太难了(而且写入时也各种错误),所以我就丢到 ~/ 下面了(反正 Windows 用 ...

标准库里看上去没有 https://pypi.org/project/appdirs/

go 的话,仅语法应该一个下午就能学完,不过标准库得看看一些例子才能不绕路的掌握最佳的用法,当然文档里有例子。

写得快就行,反正没有什么性能要求。

ARSpark
本帖最后由 RarityEG 于 2021-8-18 23:54 编辑
xmdhs 发表于 2021-8-18 23:32
标准库里看上去没有 https://pypi.org/project/appdirs/

go 的话,仅语法应该一个下午就能学完,不过标 ...

(主要是我自己的虚拟机编译文件超慢,Wine各种幺蛾子,交叉编译…更是死无全尸(
(最后还是借了一次 GitHub Actions 完成编译的(

不过这样一来首次启动 Alicorn 花了50多秒,二次启动也要五六秒,这就把我好不容易把 Minecraft 再次启动时间从30秒压缩到2秒(历史最高纪录)的心血浪费了(呜呜呜

(好处就是 Alicorn 可以嵌入整合包了,而且启动的都是同一个 Alicorn,使用用户的设置,整合包作者再也不用替用户编写那个诸如hmcl.json的文件莉(是的后面这一半是编出来的

吃饱喝足去睡觉
给兄弟整看不懂了

xmdhs
RarityEG 发表于 2021-8-18 23:41
(主要是我自己的虚拟机编译文件超慢,Wine各种幺蛾子,交叉编译…更是死无全尸(
(最后还是借了一次 Git ...

大概是打包的 python 还得释放它的虚拟机,这过程中得消耗一些时间

https://paste.ubuntu.com/p/kTSHBcm3n2/

编译参数用 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -ldflags "-w -s -H=windowsgui"

洞穴夜莺
RarityEG 发表于 2021-8-18 23:41
(主要是我自己的虚拟机编译文件超慢,Wine各种幺蛾子,交叉编译…更是死无全尸(
(最后还是借了一次 Git ...

真的,我觉得整合包内置启动器没什么意义,不知道为什么那么多整合包作者这么做

ARSpark
洞穴夜莺 发表于 2021-8-20 22:11
真的,我觉得整合包内置启动器没什么意义,不知道为什么那么多整合包作者这么做 ...

(的确
(希望 Alicorn 能够解决这个问题)
(以及帖子我已经发了,现在在审核(