Files
pt-minecraft-modpack/README.md

105 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PT's Basic Modpack
一些最基础的功能的模组包,包括录制、光影、基本优化等。主打原版味道。
## 开发
分为服务端和客户端两部分。服务端会在不同时间,安装不同的娱乐性质的模组。客户端则会努力保持不变。
使用 [packwiz](https://packwiz.infra.link) 进行模组包管理。
首先你要安装 packwiz。建议的是用 Golang 技术栈来直接安装:
```bash
go install github.com/packwiz/packwiz@latest
```
然后,进入对应的目录开始工作。例如要更改客户端相关:
```bash
cd client
```
### 添加模组
```bash
packwiz add https://modrinth.com/mod/create
```
### 构建 .mrpack 文件
```bash
packwiz modrinth export
```
## 服务端部署
参见 [该文档](https://packwiz.infra.link/tutorials/installing/packwiz-installer/)。
可以直接使用 Docker 来测试运行:
```bash
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
```
或者,需要从 [https://github.com/packwiz/packwiz-installer/releases](这里) 下载最新最热的 Installer以安装需要的文件。
## 面板服一键启动脚本
仓库根目录新增了 `start.sh`,适合“只能上传文件、编辑文件,然后点一个固定 shell 脚本启动”的面板服环境。
它会自动完成这些事情:
1. 读取 `server-01-random-block/pack.toml` 中的 Minecraft / Fabric 版本
2. 下载并执行 Fabric 官方 installer生成服务端启动 jar
3. 读取 `server-01-random-block/mods/*.pw.toml`
4. 自动下载服务端需要的模组到根目录 `mods/`
5. 自动写入 `eula.txt`
6. 最后启动服务端
### 最简单的用法
把整个仓库内容上传到服务器根目录后,直接让面板运行:
```bash
bash start.sh
```
### 环境要求
- 必须有 `bash`
- 必须有 `java`
- 必须有 `curl``wget`
- 建议有常见基础命令:`grep``sed``awk``find`
- 服务器需要能联网下载 Fabric installer 和 Modrinth 模组文件
### 可选环境变量
- `PT_JAVA_ARGS`Java 内存等参数,默认 `-Xms1G -Xmx2G`
- `PT_AUTO_EULA`:默认 `TRUE`,自动写入 `eula=true`
- `PT_FORCE_UPDATE=1`:强制重新安装 Fabric / 重新下载模组
- `PT_SERVER_JAR`:手动指定启动的服务端 jar 路径
- `PT_PACK_DIR`:手动指定 pack 目录,默认 `server-01-random-block`
- `PT_MODS_DIR`:手动指定模组目录,默认根目录下的 `mods/`
- `PT_RUNTIME_DIR`:缓存下载内容的目录,默认 `.pt-panel-runtime/`
- `PT_SKIP_HASH_CHECK=1`:跳过模组 hash 校验(不建议)
### 示例
```bash
PT_JAVA_ARGS="-Xms2G -Xmx4G" bash start.sh
```
如果面板要求固定脚本名,你也可以直接把 `start.sh` 重命名成面板要求的名字,或者让那个固定入口脚本只写一行:
```bash
bash start.sh
```