从零开始部署 Minecraft 速通活动复盘

用户 Passthem 的头像
Passthem
2026 年 3 月 31 日 更新

前段时间突然沉迷于看 Minecraft 速通,像是 Baablu 这样的 Up 主,召集了一群人一起玩奇怪规则的 Minecraft 速通。视频挺有意思,看他们相爱相杀也非常下饭。于是突然突发奇想,要是可以召集朋友一起玩就好了。

所以,脑袋一热,就花了半周时间,从整理技术栈到最终启动服务器,一起完成了一次有模有样的速通。

配置客户端整合包

第一件事,是要给朋友们配置一个可以用的 Minecraft 整合包。

这个整合包要足够原版、能够在未来多个服务器使用,而且对小白和有一定技术的人都要比较友好。技术的功能包括放大画面、Tweakeroo Freecam 还有连点器之类的各种功能,足够大家做很多事情,也可以在有必要的时候启用这些功能,降低速通的难度。

而且,这个整合包要兼容多个启动器(总不能让大家每用一个整合包,就要装一个启动器,配置一次登录,太麻烦了)。于是,我选择了最近比较统一规范的 Modrinth 的 .mrpack 格式的整合包。

于是我开始阅读这个整合包的文件规范。在阅读 相关文档 时,发现了文中提到,现在已经有很多模组的包管理器了,其中不乏有只用 cli 就可以做到的模组管理。于是,我相中了 packwiz 方案。

packwiz 是用 Golang 写的 cli。正巧,我本地刚好有 Golang 环境,于是可以直接安装:

go install github.com/packwiz/packwiz@latest

同时,在自己的代码库建立了一个仓库,专门用来存放模组文件配置。

packwiz 包管理器的使用非常简单。首先,我创建了一个新的客户端包,在这里进行了基础的初始化:

mkdir client
cd client
packwiz init

然后就可以添加模组:

packwiz add https://modrinth.com/mod/simple-voice-chat

这里的 client 目录里的其他文件,将会直接打包到整合包里,因此就可以直接在里面导入模组设置。在我的整合包,我就配置了 Flashback 模组的配置。

只不过,刚开始发的 v1.0.0 版本,默认开启了 Flashback 模组的录像。但一个自动录像、保存时会未响应的模组,如果默认启用,一定会产生疑惑,因此我在发现这个问题后,在 v1.0.1 关闭了自动录像的设置项。不得不说,这样管理模组包还是非常方便的。

最后,使用 packwiz cli 导出整合包文件。

packwiz modrinth export

然后使用 tea cli 上传 release 到代码库了。

服务端整合包

packwiz 也可以用来管理服务端整合包。

Minecraft 服务器部署很火热的 Docker 容器 自带对 packwiz 整合包的支持。只要把 packwiz 整合包的 pack.toml 文件和其他文件暴露出来,就可以了,像是可以直接从 Git 的 raw 文件获取并下载整个整合包需要的文件:

docker run --pull=always \
    -e TYPE=FABRIC \
    -e "PACKWIZ_URL=https://gitea.service.jazzwhom.top/Passthem/pt-minecraft-modpack/raw/branch/main/server-01-random-block/pack.toml" \
    -e "EULA=TRUE" \
    -e "VERSION=1.21.10" \
    -p 25565:25565 \
    itzg/minecraft-server

但是,我的最终构建目标,是部署到一个公益服务器上。

部署到简幻欢

根据他们官方所称,简幻欢是一个从 2018 年开始运营的公益服务器项目,支持很多人开 Minecraft 服务器。最初我是从 ルース毛 那边的服务器听说的这个云平台,经过试用以后,发现非常非常好用。如果你们想用的话,用 带有邀请码的链接 能让我获得更多积分。

为了让速通过程尽量不要卡顿,选用的服务器方案是 基础镜像 - 自定义 - Java,服务器方案选择了 100 积分/天的 B+.I.XL.L 方案,有 6C24G,带宽由平台支撑,总流量有 10G。最终实测下来,发现我们十二个人玩,非常非常够用。

这个公益服是一个面板服,你肯定不能 ssh 上去搞东西,而只能上传文件和运行 .sh 脚本。这个平台估计也是用 Docker 之类的容器方案,里面似乎是有完整的 curl 等的工具可以用的。因此,我就让 AI 写了一套部署脚本出来。

由 Pi Agent 发布的 PR

具体的流程是,我下载 panel-start.sh 脚本,上传到文件列表里面,然后配置 start.sh 指向这个脚本:

#!/bin/bash

# --snip--
bash panel-start.sh

试了几轮,终于和 AI 配合部署好了。中间我也才发现,它只支持 sh 而不支持 bash,所以只能让 AI 当场改脚本重新部署。总之,就这样把服务端部署好了。

运维与正式游戏

在准备好了很多文件后,我在活动开始的两天前发了群公告通知,邀请大家一起来玩:

这周六晚八点(2026/3/28 20:00, UTC+8)开一把 Minecraft 多人通关。

服务器 IP: [隐去]
游戏版本: 1.21.10
至少需要安装 Simple Voice Chat 模组
晚上八点准时重置存档开始游戏

我有组一个简易的整合包,如果需要可以查阅:

[隐去]

但是,我没有强调具体时间,或者说,我没有提醒大家,让大家及时安排时间,导致有些朋友错过了活动,有点可惜。确实没有强调 Minecraft 速通的即时性,导致有些朋友晚来了。幸好这次的主题是随机方块,要起号非常快,所以就没那么痛苦了。

只不过,在游玩的过程中,我没有注意看流量消耗。于是,在很多很多人的情况下,10G 的流量消耗非常快,在游玩的中间出现了两次中断,都是因为流量耗尽了。

最终,总共两个多小时的速通,再花了 200 积分买了 20G 流量才成功撑下来。

总共的积分消耗

租用的这个服务器,租用第一天直接会消耗 100 积分,也就是一天的当量。

然后,我需要打开一个 Simple Voice Chat 端口,它也会消耗 100 积分。

中间,我又花了 200 积分兑换了额外的 20G 流量,才最终搞定两个多小时的速通。

而这个平台,免费签到的上限是 400 积分,也就是说这次的积分使用非常紧张,要是玩久一点,我就要开始花钱买流量了。

但是,反正没有花钱,还是很值的嘛!

评论区