添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
酒量大的板栗  ·  log4j ...·  2 周前    · 
私奔的硬盘  ·  Web MVC | Spring ...·  2 月前    · 
爱笑的蜡烛  ·  AssetBundle.LoadFromFi ...·  4 月前    · 

阅读本文前,请先阅读HMCL官方文章: https://hmcl.huangyuhui.net/help/launcher/serverpack.html

本文是HMCL官方文章的一些补充,以及Nginx静态资源示例。

配置静态资源网站

这里有两种解决方案:

  • 使用GitHub来当静态资源网站,好处是可以白嫖,坏处是国内访问GitHub处于 量子叠加态 时好时坏,本来是可以使用Gitee的,但是现在Gitee倒了,开源仓库需要审核。
  • 自行搭建静态资源网站,其实对于各位腐竹来说这个选择也不错,因为本身就有服务器,只需要搭建一下静态资源服务器就可以使用。
  • 对于以上两种解决方案各位自行选择。
    这里提供参考资料:

  • 使用GitHub第三方静态资源网站教程: https://www.bilibili.com/video/BV1hu411C7BZ
  • 自行搭建静态资源服务器,参考我之前的文章:Nginx静态资源服务器使用 https://buggzd.github.io/2023/01/11/Nginx静态资源服务器使用/
  • 本篇将以Nginx做静态资源服务器为例,所以请看第二篇 Nginx静态资源服务器使用

    导出整合包

    选择服务器自动更新整合包
    整合包下载链接前缀 :填静态资源服务器的地址。
    我们从 Nginx静态资源服务器使用 这篇文章继续,我们需要先去静态资源文件夹下新建一个modepack文件夹(也就是/MinecraftClientStatic/modepack),然后整合包下载链接前缀这里填写 http://minecraft.buggzd.com/modepack

    上传整合包到静态资源服务器

    假设我们刚刚打包的整合包名称为 client1.0.zip
    我们把 client1.0.zip 通过ftp上传到服务器中,然后使用解压命令将这个整合包解压到 /MinecraftClientStatic/modepack 文件夹中。

    # 假设我们把client1.0.zip上传到了/home/ftp文件夹中
    # 把 /home/ftp/client1.0.zip 解压到 /minecraftClientStatic/modepack
    unzip /home/ftp/client1.0.zip -d /minecraftClientStatic/modepack
    

    解压完以后我们查看一下

    ls /minecraftClientStatic/modepack
    

    服务器返回:

    overrides server-manifest.json

    其中overrides是一个文件夹,server-manifest.json是整合包配置文件。

    客户端初始化

    第一次使用客户端需要在一个空文件夹中放一个hmcl启动器,打开hmcl导入刚刚做好的client1.0.zip
    然后就可以把这个文件夹打包成一个zip发给玩家了,以后玩家每次打开hmcl登录时,hmcl就会自动向静态资源服务器中查询整合包配置信息,当发现更新时会自动下载。
    当缺少mod时会自动下载静态资源服务器上的mod

    更新客户端

    目前HMCL版本更新的步骤是这样的:

  • hmcl对比本地的mod和服务器的mod名称,发现服务器上存在本地不存在的mod,把不存在的mod下载。
  • 对比名称相同的mod,当对比的mod存在名称相同时,对比其MD5哈希值,如果哈希值不匹配则重新下载服务器上的mod。
  • 在获得更新的时候对比一次本地的文件,如果以前版本的模组在新的版本没有了,hmcl会自动将本地的这个模组删除
  • 在不通过远端服务器更新的资源都不回被下次更新删除,换句话说就是如果是玩家自己魔改整合包,往里面放的mod是不会被删除的。
  • 当想要添加新的mod,添加后需要重新导出整合包,导出的整合包版本++,然后重新上传整合包到静态资源服务器,玩家打开hmcl点击启动后,HMCL就会检测到版本更新,自动更新mod。

    参考资料:
    HMCL官方文章:https://hmcl.huangyuhui.net/help/launcher/serverpack.html
    使用Gitee作为静态资源服务器:https://www.kdocs.cn/l/ck0hwms5llq8
    Nginx配置静态资源服务器:https://buggzd.github.io/2023/01/11/Nginx静态资源服务器使用/

    Q.E.D.