Jekyll2026-03-15T20:43:59+08:00https://docs.hmcl.net/feed/modpack.xmlHMCL 文档 | ModpackHMCL 启动器 \| 跨平台 \| 整合包管理 \| 自动安装 \| 十二年历史 \| 三亿次使用模组包报错排查手册2025-05-24T13:39:36+08:002025-05-24T13:39:36+08:00https://docs.hmcl.net/modpack/error-handbook文件夹结构

首先我们需要先认识Minecraft的文件夹结构
如果你开启了 版本隔离 那么你的文件夹结构如下

.minecraft
|*assets         # 游戏资源文件夹,存放纹理、声音等资源
|*libraries      # 依赖库文件夹,存放运行游戏所需的各种库
|*versions       # 版本文件夹,包含所有已安装的Minecraft版本
    \1.16.5-optifine
        |1.16.5-optifine.jar   # 该版本的主程序jar文件
        |*saves               # 存档文件夹,仅该版本可见
        |*resourcepacks        # 资源包文件夹,仅该版本可见
        |*logs                # 日志文件夹,仅该版本可见
        |*mods                # 模组文件夹,仅该版本可见
        |*config              # 配置文件夹,仅该版本可见
        |*crash-reports       # 崩溃报告文件夹,仅该版本可见
        ...

如果你没有开启则是这样

.minecraft
|*assets         # 游戏资源文件夹,存放纹理、声音等资源
|*libraries      # 依赖库文件夹,存放运行游戏所需的各种库
|*saves          # 存档文件夹,所有版本共用
|*resourcepacks  # 资源包文件夹,所有版本共用
|*logs           # 日志文件夹,所有版本共用
|*mods           # 模组文件夹,所有版本共用
|*config         # 配置文件夹,所有版本共用
|*crash-reports  # 崩溃报告文件夹,所有版本共用
|*versions       # 版本文件夹,包含所有已安装的Minecraft版本
    \1.16.5-optifine
        |1.16.5-optifine.jar   # 该版本的主程序jar文件
        ...

我们极力推荐您打开版本隔离,因为这样能避免模组之间的一部分冲突 跳转

简单排查

在遇到报错时,您可以通过以下两种方式进行初步分析:

  1. 使用社区分析工具
    访问 CrashMC 报错分析器,将崩溃报告内容粘贴进去,工具会自动分析常见问题并给出建议。

  2. 借助 AI 辅助分析
    可以将崩溃日志粘贴到 DeepSeek Chat,让 AI 帮助你解读报错内容和可能的解决方法。

  3. 进入 HMCL 汉医堂 可以在 HMCL 急诊群中向群友们寻求帮助,他们通常有丰富的经验,能够协助你分析报错并提供解决方案。

    qq : 666546887

这三种方式都能帮助您快速定位问题,提高排查效率。

求助他人

游戏崩的时候会有个窗口,里面可以导出一个压缩包,可以发给别人让别人帮你看,你千万别截图那个窗口 *磕头

报错示例截图 在向他人求助时,建议将 .minecraft 文件夹下的 crash-reports 文件夹和 logs 文件夹中的相关文件(如最新的崩溃报告和日志文件)一并打包发送。
这样可以让对方更全面地了解你的运行环境和报错详情,从而更高效地帮助你分析和解决问题。请注意,发送前可先检查日志内容,避免泄露个人隐私信息。

]]>
LIPiston
配置客户端自动更新 (Nginx)2023-01-11T14:13:45+08:002023-01-11T14:13:45+08:00https://docs.hmcl.net/modpack/serverpack3

阅读本文前,请先阅读此文章

前置知识

阅读本文你需要具有以下知识储备:

  1. 掌握基础本的 linux 命令操作,比如 cd ls
  2. 拥有一个 linux 服务器(好像不算知识)

Nginx 安装

这里很基础(但是坑比较多)略过,可以看以下参考文档。

https://zhuanlan.zhihu.com/p/515069497

新建静态资源文件夹

我为了省事直接在/根目录下新建了一个 MinecraftClientStatic 文件夹,以后需要作为静态资源的文件都丢这里面。

命令:

# 到更目录
cd /
# 新建文件夹
mkdir MinecraftClientStatic
# 防止nginx无法访问,配置文件夹访问权限
chmod 777 MinecraftClientStatic
# 进入文件夹
cd MinecraftClientStatic
# 新建一个测试用的文件
touch helloMC.html
# 给文件权限
chmod 777 helloMC.html
# 编辑html内容
vim helloMC.html

这里为了测试静态资源是否配置成功,需要新建一个 helloMC.html 的静态测试文件,可以在这个文件内随意写两行字。

例如:

<!-- helloMC.html -->
<h1>hello static!</h1>

也可以整点炫的(可选):

<!-- helloMC.html -->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>MC客户端静态资源</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
        <style>
            @font-face{
                font-family:'calligraffittiregular';
                src:url("fonts/calligraffitti-regular-webfont.ttf")
            }
            
            * {
                margin: 0;
                padding: 0;
            }
            
            body {
                overflow: hidden;
            }
            
            #content{
                position: absolute;
                color: white;
                top: 30%;
                left: 50%;
                margin-left: -121px;
            }
            
            p{
                font-family: calligraffittiregular
            }
            
        </style>
    </head>

    <body>
        <div id="content">
            <p style="font-size:  40px;font-weight: 1000;">MinecraftClientStatic</p>
        </div>
        <canvas id="hacker" style="width:100%;height:100%;">请使用最新的浏览器</canvas>
    </body>

</html>
<script type="text/javascript">
    window.onload = function() {
        var color_array = ['#00FF00','#00FF99','#00FFCC','#00FFFF','#00BBFF','#0066FF','#0000FF','#5500FF','#7700FF','#9900FF','#CC00FF','#FF00FF'];
        var i=0;
        var color;
        function changColor() {
            color = color_array[i];
            console.log(i++);
            console.log(color);
            if(i>color_array.length-1){
                i=0;
            }
            setTimeout(changColor, 2000);
        }
    
        var hacker = document.getElementById("hacker");
        var width = hacker.width = screen.width;
        var height = hacker.height = screen.height;
        var ctx = hacker.getContext('2d');
        var num = Math.ceil(width / 12);
        var y = Array(num).join(0).split('');
        var draw = function() {
            ctx.fillStyle = 'rgba(0,0,0,.05)';
            ctx.fillRect(0, 0, width, height);
            ctx.fillStyle = color;
            ctx.font = '12px Microsoft YaHei';
            y.map(function(y1,i){
                var text = String.fromCharCode(65 + Math.random() * 62);
                var x = i * 12;  
                var y1 = y[i];
                ctx.fillText(text, x, y1);
                y[i] = ( y1 > Math.random() * 10 * height ? 0 : parseInt(y[i]) + 12 );
            })
        }

        Run();

        function Run() {
            changColor();
            Game_Interval = setInterval(draw, 50);
        }
    }
</script>

分配次级域名(可选)

如果你没有域名,那么这里可以跳过,后面需要域名的地方直接使用服务器ip地址

假设我们的域名是 buggzd.com

在域名解析新建一个 A 记录(地址为 ipv6 时应使用 AAAA 记录),此处以 minecraft.buggzd.com 为例,配置记录名称为 minecraft 配置记录地址为服务器地址,如下图所示。

image.png

这是我们就有了一个子域名 minecraft.buggzd.com 添加完成后可以使用 cmdping 一下这个域名minecraft.buggzd.com 如果返回了正确的ip地址就是已经分配成功了。

ping minecraft.buggzd.com

配置 nginx.conf

查找 nginx 配置文件目录:(如果这里没有 nginx 指令,那么说明你 nginx 安装没有成功)

nginx -t

输出

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

这里 /etc/nginx/nginx.conf 就是 Nginx 配置文件的路径,然后 cdnginx 配置目录。

cd /etc/nginx
# 编写配置文件
vim nginx.conf

因为之前配置过博客反向代理 nginx.conf 会带有之前的配置记录不要把他们搞乱,理清层级关系很重要

# 这是 nginx.conf 的层级目录
# 每个 nginx.conf 配置文件都只有一个 http 块,所以如果之前配置过 nginx
# 就只需要粘贴 server 块里的内容,把 server 块放到 http 块内部。
http {
    server { ... }
    server { ... }
    server { ... }
}

需要填写的配置:

http {
    server {
        # 需要监听的端口号,可以不动
        listen 80;       
        # 这里需要把localhost改为上面分配好的域名
        server_name  minecraft.buggzd.com;
        location / {
            # root后面是对应的静态资源文件夹的位置
            root /MinecraftClientStatic;
            # 这里是默认加载的首页 html ,这里放的是刚刚新建的测试文件
            # 它是从 root 目录文件夹内开始查找的,所以不要写 /MinecraftClientStatic/helloMC.html
            index helloMC.html;
        }
    }
}

Q:上面的配置干了什么事?
A:比如你访问 http://minecraft.buggzd.com/test.png 时,nginx 会访问本地的 /MinecraftClientStatic/test.png 然后返回。

当正确编写完 nginx.conf 需要让 nginx 重新加载一下配置文件。

nginx -s reload

然后直接访问刚刚配置的域名 minecraft.buggzd.com 默认会跳转到编写好的 helloMC.html 页面,你也可以访问 http://minecraft.buggzd.com/helloMC.html

image.png

当页面出现 helloMC.html 的内容时,说明已经配置成功了! 放张图片到静态资源文件夹试试。

image.png

访问成功,没问题!

导出整合包

image.png

选择服务器自动更新整合包

image.png

整合包下载链接前缀:填静态资源服务器的地址。 我们需要先去静态资源文件夹下新建一个 modepack 文件夹(也就是 /MinecraftClientStatic/modepack

cd /MinecraftClientStatic
mkdir modepack

然后整合包下载链接前缀这里填写 http://minecraft.buggzd.com/modepack

image.png

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

假设我们刚刚打包的整合包名称为 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 是整合包配置文件。

客户端初始化

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

image.png

更新客户端

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

  1. 启动器对比本地的 mod 和服务器的 mod 名称,如发现本地不存在的 mod 则会从服务器上下载。
  2. mod 的名称相同时,启动器会继续对比文件 MD5 哈希值,如果不匹配则重新下载。
  3. 在获得更新的时启动器会对比一次本地的文件,如果旧版本的模组在新版本中消失了,启动器会自动将本地的这个模组删除。
  4. 非远端服务器更新资源不会被更新删除,换句话说就是如果是玩家自己魔改整合包,往里面放的 mod 是不会被删除的。

当想要添加新的 mod 时需要在添加之后重新导出整合包如 client2.0.zip 导出的整合包版本号增加,然后重新上传整合包到静态资源服务器。

cd /minecraftClientStatic
# 建议直接删除该目录然后重新新建
rm modepack -R
# 重新新建modepack文件夹
mkdir modepack
# 解压新的客户端整合包
unzip /home/ftp/client2.0.zip -d /minecraftClientStatic/modepack

玩家启动 hmcl 后,启动器会检测到版本更新并自动更新模组。

参考资料

]]>
buggzd
整合包自带 Java 教程2021-10-09T23:18:02+08:002021-10-09T23:18:02+08:00https://docs.hmcl.net/modpack/bundled-java背景

想必有些服务器主为此头疼了许久。由于玩家的电脑环境多变,甚至可能仍然有安装着 Java 7 的电脑而无法启动 1.12.2 以上的游戏或者含有 Mod 的客户端。因此服务器主希望能在整合包中自带一个 Java 运行时(或者叫 JRE),从而取代电脑自带的 JVM。接下来本文将介绍两种方法。

名词解释

  • JRE Java Runtime Environment的缩写。通常可以认为是玩家所使用的 Java 下文所指代的 Java 和 JRE 均可以认为是此版本。

方法一:使用最新版本(推荐)

EXE 版本

EXE 版本在 Windows 系统下打开会首先检查同级文件夹下的 jre-arm64jre-x64jre-x86 文件夹。

检查顺序从上到下依次是:

  • jre-arm64 (ARM 64 位)
  • jre-x64 (x86 64 位)
  • jre-x86 (x86 32 位)

启动优先级如下:

  • 如果玩家电脑的操作系统是x86 32位的,HMCL 将会优先使用 jre-x86 启动 HMCL。
  • 如果玩家电脑的操作系统是x86 64位的,HMCL 将会优先使用 jre-x64 启动 HMCL。
  • 如果玩家电脑的操作系统是ARM 64位的,HMCL 将会优先使用 jre-arm64 启动 HMCL。

如果你不打算兼容ARM 64位x86 32位操作系统的玩家(让 HMCL 使用系统 JRE 环境),那么你的整合包内只需要携带 jre-x64 即可。

如果你想在任何情况下使用同一个 Java 启动 HMCL,只需要携带 jre-x86 即可,此时无论玩家电脑的操作系统是什么架构都会尝试使用该 Java。

如果没有对应的版本,将会尝试使用系统自带的版本启动。

注意

使用 x86 32位的 Java 很可能会导致游戏出错、内存不够等问题。我们推荐您配备 x86 64位的 Java 而不是 x86 32位

Shell (.sh)版本

SH 版本在支持 Bash 的系统下打开会首先检查同级文件夹下的 jre-loongarch64jre-arm32jre-arm64jre-x64jre-x86 文件夹。

检查顺序从上到下依次是:

  • jre-x64 (x86 64 位)
  • jre-x86 (x86 32 位)
  • jre-arm64 (ARM 64 位)
  • jre-arm32 (ARM 32 位)
  • jre-loongarch64 (Loongarch 64 位)

会根据玩家电脑的操作系统架构选择对应文件夹内的 Java 运行时启动 HMCL。

如果你想在x86 32位x86 64位下使用同一个 Java 启动 HMCL,只需要携带 jre-x86 即可,此时如果玩家电脑的操作系统是x86 32位x86 64位则会尝试使用该 Java 启动 HMCL。

如果没有对应的版本,将会尝试使用系统自带的版本启动。

注意

在启动器内更新升级本体时,只会更新本体部分,并不会将 EXE外壳 或 SH 外壳(即 HMCLauncher)更新,因此建议在制作整合包时重新下载 EXE 或 SH 版本以确保能正常使用该功能。

方法二:创建快捷方式

对于在 Windows 下使用 JAR 版本启动 HMCL 的可以采用方法二。

目录结构

首先我们假设整合包根文件夹是 tutorial(这个文件夹名字可以取别的),该文件夹内应该包含如下的文件:

其中,.minecraft 是 Minecraft 文件夹,jre-x64 是你的 Java 运行时,我们分别来看看这两个文件夹的内容:

上图是 .minecraft 文件夹的内容,里面包含着 assetslibrariesversions 等传统的文件夹。以及 HMCL.jar,这个文件是 HMCL 启动器的 jar 文件,可以在 https://hmcl.huangyuhui.net/download 里面下载 macOS 或者 Linux 版本(这两个版本的文件后缀名都是 jar,实际上是完全一样的东西,也可以在 Windows 系统上双击运行,没有平台限制)。

这个启动器文件我们接下来会使用到,借助整合包自带的 Java 运行时启动 HMCL。

注意:HMCL 本体文件 HMCL.jar 请务必保持该文件名,HMCL-3.2.117.jar 等带有版本号的文件名是不可以的

上图是 jre-x64 文件夹的内容,一看就是一个 JRE 的文件夹。

创建快捷方式

接下来我们创建一个快捷方式来使得 HMCL 通过 jre-x64 文件夹里的 Java 运行时启动,并使得 Minecraft 也通过该 Java 运行时启动。

tutorial 文件夹内右击空白区域打开快捷菜单,创建快捷方式。

在弹出的窗口中(如上图所示),在输入框内输入:cmd /c start .\jre-x64\bin\javaw.exe -jar .\.minecraft\HMCL.jar,其中 jre-x64.minecraft\HMCL.jar 根据实际情况修改,jre-x64 是你的 Java 运行时的路径,.minecraft\HMCL.jar 是 HMCL 本体文件。

接着给快捷方式取个名字就好了(如上图所示,开始游戏 是我取的名字)。

生成好快捷方式后我们还要编辑一下属性,右键 开始游戏 这个新创建的快捷方式(如果你取了别的名字请选中那个文件编辑其属性),在弹出的快捷菜单中选择属性,会打开快捷方式的属性窗口如下图所示:

将起始位置内的文字删除干净,留空即可。保存退出该窗口。

完成

现在这个开始游戏的快捷方式就可以直接使用的,你可以双击该快捷方式打开 HMCL,HMCL 在启动游戏的时候也会直接使用你指定的 Java 运行时。

一些疑问

1Q:这些 Java 文件夹中具体该放些什么,直接复制就行了吗?

1A:是的,复制 jre 内的所有东西就行,可以根据下图参考:

——————————————————————————————————————————————————

2Q:去哪里找 Java?

2A:有很多的Java提供选择,如 Liberica JDKMicrosoft JDKOracle JDK中文 Java 镜像站Oracle openJDK

只需要在下载时下载.zip 压缩包文件,且将压缩包内的所有内容放入对应文件夹即可

]]>
配置客户端自动更新(宝塔面板)2021-08-22T23:18:02+08:002021-08-22T23:18:02+08:00https://docs.hmcl.net/modpack/serverpack2备注

文章原作者:hy黑影
转载:Zkitfly
部分内容进行了稍作打磨
本教程转载自 https://www.mcbbs.net/thread-1103864-1-1.html

前言

  • 我自己开设的服务器有很多不同的子服,每个子服的客户端版本呢都不相同,我又希望能整合到一个客户端里面;找了一圈发现那些辅助更新程序只能更新单个客户端版本,而且界面不太美观;甚至一度想自己开发启动器………
  • 这篇帖子的灵感来自于 HMCL 启动器的一个功能 导出服务器自动更新整合包,我觉得可以利用这个功能来代替一些自动更新的辅助程序。
  • 整个功能的实现需要:一台有公网IP的服务器、一个客户端整合包、HMCL启动器;如果你都没有,那就换成RMB10元
  • 本篇教程默认读者为 萌新,即没有接触过HTTP服务器,网络应用开发,不懂linux系统,惧怕控制台程序

教程

第一步-租服务器(▲如果你有公网IP的服务器,请跳过这一步)

  • 百度搜索 腾讯云学生机阿里云学生机
  • 可以看到有10元/月 的套餐,如果是阿里云的话选轻量型应用服务器,腾讯云就只有一个套餐
  • 系统请选择CentOS 8.0 64位,其他保持默认即可
  • 再次确认是否是十元,是的话直接购买;不是的话可能是你已经买过学生套餐
  • 第一次购买可能需要实名认证,按照提示操作即可,不需要担心安全问题,都是可靠的大公司

第二步-安装宝塔面板——CentOS 8.0系统

  • 以腾讯云举例,阿里云同理

  • 打开控制台面板,找到刚才租的学生机

  • 选择重置密码

  • 点击右侧登入按钮,按照说明填写你刚刚重置的密码;之后应该会看到类似这样的提示

  • 不要慌,冷静。如果下面的部分教程失效请去宝塔面板官网,点击Linux->立即安装

  • 回到控制台面板,我们需要开放一些通道让面板通过,选择安全组

  • 点击修改规则,再点击添加规则

  • 图1:

  • 图2:

  • 按照图中所写添加,想要安全的话按照图1,懒的话按照图2

  • 回到那个黑黑的界面里输入 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ,按下回车

  • 这时会刷一大片大的英文,等他停下来的时候仔细看,最后一行在问你要不要安装(就是最后显示y/n),输入y并按下回车

  • 耐心等待五分钟左右,直到出现这个字样

  • 复制外网面板地址,在打开的页面中,用户名输入username后面的内容,密码输入password后面的内容

  • 点击登入,到此为止面板按照完成

第三步-搭建HTTP静态文件服务器

  • 打开刚刚的宝塔面板,一般都会有提示安装套件,选择nginx套装安装

  • 等待安装完成后,选择网站,点击添加网站

  • 在弹出的页面填写网站IP,就是地址栏里面的那个;比如:我的是 https://233.88.233.44:8888/site ,那么我就填233.88.233.44

  • 另外,租vps的同学请找服务商索要ip地址和开放的端口,比如我要到的是123.21.123.21:6666,那我就把这个填上去

  • 其他保持不变,到此为止你已经搭建好了HTTP静态文件服务器✔

第四步-制作整合包

  • 使用HMCL打开你的MC客户端

  • 选择你的游戏版本,点击导出整合包

  • 选择服务器自动更新整合包

  • 填写相关信息:

  • 整合包下载链接前缀:比如我刚刚在【第三步-搭建HTTP静态文件服务器】宝塔里填的是233.88.233.44,我希望能有版本区分,这个版本代号是a;那么我就填https://233.88.233.44/a, vps注意,端口号也要写▲

  • 版本号写1.0 ,以后更新就写2.0以此类推

  • 点击下一步,导出完成

第五步-上传整合包

  • 打开宝塔面板,选择文件,找到相应的目录,在相应IP目录下新建文件夹;比如我刚刚写的版本代号是a,那我就新建a这个文件夹

  • 在新建的文件夹里上传刚刚导出的整合包,并解压;成功后如下图

  • 要是更新整合包,请在解压时将该【a】这个文件夹内的文件覆盖处理

第六步-分发整合包

  • 大公告成,现在可以把刚刚导出的这个整合包上传分享给玩家了!

第七步-检测整合包

  • 为了防止一些手滑现象导致整合包可能会出现一些问题,你可以在分发整合包前先测试一下要准备分发的整合包

后续

  • 以后每次更新客户端只要重复第四步第五步玩家重启客户端后就会自动接收更新
  • 版本号要记得更新
  • 默认的更新方式不会删除玩家自己加入的模组,但会下载玩家删除的模组
  • 更新覆盖的是整合包导出时的所有数据
  • 每次更新会从整合包提供的链接下载 server-manifest.json 来校验玩家本地的整合包。若校验到整合包里没有匹配这个名字的文件或整合包里这个文件匹配名字但哈希值不匹配,就会下载该文件,不会下载匹配名字且哈希值匹配的文件
  • 出网带宽1MB我觉得够用了,除非你想让玩家自己下载全部内容(就是将整合包分发给他人前删除所有模组,玩家启动时就会开始下载回来,这样的好处是可见的整合包大小变小了)
]]>
服务端自动更新整合包制作教程2021-08-22T23:18:02+08:002025-12-06T09:37:00+08:00https://docs.hmcl.net/modpack/serverpackHMCL 允许服务器管理员借助服务端自动更新整合包来实现自动分发整合包更新,这将大大方便有需要频繁更新游戏客户端 Mod、配置等信息的服务器管理员。

HMCL 需要服务器管理员额外提供一个 HTTP 服务器(只需要能提供静态文件服务,比如 Apache 和 Nginx 皆可)来提供检查整合包更新并允许 HMCL 下载更新文件。

第一步:导出整合包

在 HMCL 中右键做好的客户端版本,选择导出整合包

选择导出为服务器自动更新整合包

填写整合包信息,整合包下载链接前缀如何填写请看下文

选择需要包含在整合包内的文件后将产生整合包压缩文件

第二步:导入整合包

接着创建一个全新的空文件夹,将启动器复制进去

运行启动器,并导入刚才导出的整合包,导入完成后,这个文件夹(这里叫“新整合包”)可以打包发给玩家。

第三步:部署整合包更新服务器

你可以借助 Apache、Nginx 等支持静态文件的 HTTP 服务器软件提供文件。首先,决定好整合包下载链接前缀,比如我希望 HMCL 从远程服务器的 http://www.site.com/modpack 目录下存放整合包的更新信息,则在之前导出整合包的整合包下载前缀中填写 http://www.site.com/modpack。

上图为导出的服务器自动更新整合包压缩文件的内容,你需要将这个整合包解压到 http://www.site.com/modpack 下。也就是说,从 http://www.site.com/modpack/server-manifest.json 这个链接下载下来的文件必须和上图中整合包压缩文件中的 server-manifest.json 文件一致,并且,http://www.site.com/modpack/overrides 是一个文件夹,里面存放了整合包文件,比如:

整合包压缩文件 test.zip/overrides/mods/Advancement_Book-1.12-1.0.3.jar 文件必须可以从 http://www.site.com/modpack/overrides/mods/Advancement_Book-1.12-1.0.3.jar 该目录下载下来,且文件内容一致。那么至此更新服务器就部署完成了。

第四步:更新整合包

如果你需要更新整合包,那么将新的整合包经过第一步导出新的整合包压缩文件,并解压到类似 http://www.site.com/modpack 文件夹下即可完成新整合包的部署。

]]>
huanghongxun