# 模板编写教程

## 什么是模板

模板是 DeEarthX-CE 中的一种功能，用于快速创建具有特定配置的服务器环境。模板可以包含预设的模组、配置文件、脚本和其他服务器文件，使您能够快速部署标准化的服务器设置，无需每次都手动配置。

### 模板的优势

- **快速部署**：使用模板可以在几分钟内搭建好一个完整的服务器环境
- **标准化配置**：确保所有服务器都使用相同的配置，减少人为错误
- **易于维护**：集中管理模板，更新模板后所有使用该模板的服务器都能受益
- **便于分享**：可以轻松导出和分享模板，让其他人快速搭建相同的服务器环境

## 模板的详细结构

一个完整的模板包含以下结构：

```
templates/
└── template-name/           # 模板目录，名称应简洁明了
    ├── metadata.json        # 模板元数据文件
    └── data/                # 模板文件目录
        ├── mods/            # 模组文件目录
        ├── config/          # 配置文件目录
        ├── scripts/         # 脚本文件目录
        ├── plugins/         # 插件文件目录（如果使用 Bukkit/Spigot 等）
        ├── server.properties # 服务器属性文件
        ├── eula.txt         # 最终用户许可协议
        ├── README.txt       # 模板说明文件
        └── ...              # 其他服务器相关文件
```

### metadata.json 文件详解

`metadata.json` 文件包含模板的基本信息，是模板的核心文件，必须存在且格式正确：

```json
{
  "name": "生存服务器模板",        # 模板名称，应反映模板的用途
  "version": "1.0.0",             # 版本号，遵循语义化版本规范
  "description": "适用于生存模式的服务器模板，包含基础模组和优化配置", # 详细描述
  "author": "DeEarthX-CE",        # 作者名称
  "created": "2026-03-09",       # 创建日期，格式为 YYYY-MM-DD
  "type": "template"              # 模板类型，固定为 "template"
}
```

**字段说明**：
- `name`：模板的显示名称，会在 DeEarthX-CE 界面中显示
- `version`：模板的版本号，建议遵循语义化版本规范（MAJOR.MINOR.PATCH）
- `description`：模板的详细描述，应说明模板的用途、包含的内容和适用场景
- `author`：模板的作者名称
- `created`：模板的创建日期，格式为 YYYY-MM-DD
- `type`：模板类型，固定为 "template"，用于 DeEarthX-CE 识别

### data 目录详解

`data` 目录包含服务器的所有文件，是模板的核心内容：

#### 1. mods 目录

用于存放模组文件（.jar），根据服务器类型和版本放置相应的模组：

- **Fabric 服务器**：需要放置 fabric-api 和其他 Fabric 模组
- **Forge 服务器**：需要放置 Forge 模组
- **NeoForge 服务器**：需要放置 NeoForge 模组

#### 2. config 目录

用于存放配置文件，包括：

- 模组配置文件（.toml, .json, .cfg 等）
- 服务器配置文件
- 插件配置文件

#### 3. scripts 目录

用于存放启动脚本和其他脚本文件：

- `start.bat`：Windows 启动脚本
- `start.sh`：Linux/Mac 启动脚本
- 其他自定义脚本

#### 4. server.properties 文件

服务器的核心配置文件，包含服务器的基本设置：

```properties
# 服务器基本设置
server-name=DeEarthX Server
motd=Welcome to DeEarthX Server!
gamemode=survival
difficulty=normal

# 服务器网络设置
server-port=25565
max-players=20

# 服务器功能设置
spawn-protection=16
enable-command-block=true
pvp=true

# 世界设置
level-name=world
seed=
generate-structures=true

# 性能设置
view-distance=10
max-build-height=256
simulation-distance=10

# 其他设置
enable-rcon=false
rcon.password=
```

#### 5. eula.txt 文件

最终用户许可协议，必须设置为 `eula=true` 才能启动服务器：

```
eula=true
```

#### 6. README.txt 文件

模板的说明文件，建议包含以下内容：

- 模板的用途和特点
- 包含的模组和插件
- 使用方法
- 注意事项
- 更新日志

## 创建模板的详细方法

### 方法一：通过 DeEarthX-CE 界面创建

1. **打开模板管理界面**：
   - 启动 DeEarthX-CE
   - 在左侧导航栏点击「模板管理」

2. **创建新模板**：
   - 点击「创建模板」按钮
   - 在弹出的对话框中填写模板信息：
     - **模板名称**：输入一个简洁明了的名称
     - **版本号**：输入初始版本号，如 "1.0.0"
     - **描述**：输入详细的模板描述
     - **作者**：输入您的名称
   - 点击「确认」按钮

3. **编辑模板内容**：
   - 模板创建完成后，在模板列表中找到新创建的模板
   - 点击「打开文件夹」按钮
   - 在打开的文件夹中，将您的服务器文件复制到 `data` 目录
   - 确保目录结构正确，包含所有必要的文件

4. **验证模板**：
   - 关闭文件夹，返回 DeEarthX-CE 界面
   - 刷新模板列表，确保新模板显示正确
   - 点击「编辑」按钮，确认模板信息无误

### 方法二：手动创建模板

1. **定位 templates 目录**：
   - 打开文件浏览器
   - 导航到 DeEarthX-CE 的安装目录
   - 找到 `templates` 文件夹

2. **创建模板目录**：
   - 在 `templates` 目录中创建一个新文件夹，命名为您的模板名称
   - 文件夹名称应简洁明了，避免使用特殊字符

3. **创建 metadata.json 文件**：
   - 在模板目录中创建 `metadata.json` 文件
   - 填写模板信息，确保格式正确
   - 保存文件

4. **创建 data 目录**：
   - 在模板目录中创建 `data` 目录
   - 在 `data` 目录中创建必要的子目录（如 `mods`, `config` 等）

5. **添加服务器文件**：
   - 将您的服务器文件复制到相应的目录中
   - 确保包含所有必要的文件，如 `server.properties`, `eula.txt` 等

6. **验证模板**：
   - 重启 DeEarthX-CE
   - 打开模板管理界面，确保新模板显示在列表中
   - 检查模板信息和文件结构是否正确

## 编辑模板的详细步骤

### 修改模板信息

1. **打开模板管理界面**：
   - 在左侧导航栏点击「模板管理」

2. **选择要编辑的模板**：
   - 在模板列表中找到要编辑的模板
   - 点击模板卡片

3. **修改模板信息**：
   - 点击「编辑」按钮
   - 在弹出的对话框中修改模板信息：
     - 可以修改名称、版本号、描述和作者
   - 点击「保存」按钮应用更改

### 修改模板文件

1. **打开模板文件夹**：
   - 在模板管理界面中找到要编辑的模板
   - 点击「打开文件夹」按钮

2. **修改文件**：
   - 在打开的文件夹中，修改 `data` 目录中的文件
   - 可以添加、删除或修改任何文件

3. **保存更改**：
   - 保存所有修改的文件
   - 关闭文件夹

4. **验证更改**：
   - 返回 DeEarthX-CE 界面
   - 刷新模板列表
   - 确认模板文件已更新

## 模板最佳实践

### 命名规范

- **模板名称**：应简洁明了，反映模板的用途，如 "生存服务器模板"、"模组包服务器模板"
- **版本号**：应遵循语义化版本规范（MAJOR.MINOR.PATCH）：
  - MAJOR：重大更改，不兼容的 API 变更
  - MINOR：功能性新增，向后兼容
  - PATCH：bug 修复，向后兼容
- **目录名称**：应使用小写字母，单词之间用连字符或下划线分隔，如 "survival-server"、"modpack-server"

### 文件组织

- **保持目录结构一致**：遵循标准 Minecraft 服务器目录结构
- **分类存放文件**：
  - 模组文件放在 `data/mods` 目录
  - 配置文件放在 `data/config` 目录
  - 脚本文件放在 `data/scripts` 目录
  - 插件文件放在 `data/plugins` 目录（如果使用 Bukkit/Spigot 等）
- **使用子目录**：对于复杂的模板，可以在 `config` 目录中为不同的模组创建子目录

### 内容建议

- **包含必要的文件**：
  - `server.properties`：服务器基本配置
  - `eula.txt`：设置为 `eula=true`
  - `README.txt`：模板说明
  - 必要的模组和插件
  - 启动脚本（`start.bat` 和 `start.sh`）

- **模组管理**：
  - 选择稳定版本的模组
  - 确保模组之间兼容
  - 包含模组的依赖项
  - 定期更新模组版本

- **配置优化**：
  - 优化服务器性能配置
  - 根据服务器类型和规模调整配置参数
  - 提供合理的默认配置

- **文档完善**：
  - 在 `README.txt` 中详细说明模板的使用方法
  - 列出模板包含的模组和插件
  - 提供故障排除指南
  - 记录更新日志

### 测试建议

- **本地测试**：在本地环境中测试模板，确保服务器能够正常启动
- **功能测试**：测试模板中的所有功能，确保模组和插件正常工作
- **性能测试**：测试服务器在不同负载下的性能
- **兼容性测试**：测试模板与不同版本的 Minecraft 客户端的兼容性

## 详细模板示例

### 示例一：基础生存服务器模板

```
templates/
basic-survival-server/
├── metadata.json
└── data/
    ├── mods/
    │   ├── fabric-api-0.90.4+1.20.1.jar       # Fabric API
    │   ├── lithium-0.11.2.jar                 # 性能优化模组
    │   ├── phosphor-0.8.2+1.20.1.jar          # 照明优化
    │   └── sodium-0.4.10+build.27.jar         # 渲染优化
    ├── config/
    │   ├── lithium.toml                       # Lithium 配置
    │   └── sodium-options.json                # Sodium 配置
    ├── scripts/
    │   ├── start.bat                          # Windows 启动脚本
    │   └── start.sh                           # Linux/Mac 启动脚本
    ├── server.properties                      # 服务器配置
    ├── eula.txt                              # 最终用户许可协议
    └── README.txt                             # 模板说明
```

**metadata.json**：
```json
{
  "name": "基础生存服务器模板",
  "version": "1.0.0",
  "description": "适用于生存模式的基础服务器模板，包含性能优化模组和基本配置",
  "author": "DeEarthX-CE",
  "created": "2026-03-09",
  "type": "template"
}
```

**README.txt**：
```
# 基础生存服务器模板

## 模板说明

这是一个适用于 Minecraft 1.20.1 版本的基础生存服务器模板，包含以下内容：

### 包含的模组
- Fabric API 0.90.4+1.20.1
- Lithium 0.11.2 (性能优化)
- Phosphor 0.8.2+1.20.1 (照明优化)
- Sodium 0.4.10+build.27 (渲染优化)

### 使用方法
1. 使用 DeEarthX-CE 应用此模板
2. 运行 start.bat (Windows) 或 start.sh (Linux/Mac) 启动服务器
3. 首次启动会生成世界文件
4. 服务器默认端口：25565

### 配置说明
- 服务器模式：生存
- 难度：普通
- 最大玩家数：20
- 查看距离：10
- 模拟距离：10

### 注意事项
- 确保已安装 Java 17 或更高版本
- 首次启动服务器时会自动生成世界文件
- 如需修改服务器配置，请编辑 server.properties 文件

### 更新日志
- v1.0.0：初始版本
```

### 示例二：模组包服务器模板

```
templates/
modpack-server/
├── metadata.json
└── data/
    ├── mods/
    │   ├── fabric-api-0.90.4+1.20.1.jar       # Fabric API
    │   ├── lithium-0.11.2.jar                 # 性能优化
    │   ├── sodium-0.4.10+build.27.jar         # 渲染优化
    │   ├── iris-1.6.4.jar                     # 光影支持
    │   ├── create-0.5.1.f.jar                 # Create 模组
    │   ├── immersive-engineering-1.20.1-10.2.1-177.jar  # 沉浸工程
    │   └── thermal-foundation-1.20.1-11.1.0.38.jar     # 热力基础
    ├── config/
    │   ├── create.toml                        # Create 配置
    │   ├── immersiveengineering.cfg            # 沉浸工程配置
    │   ├── thermalfoundation-common.toml      # 热力基础配置
    │   └── sodium-options.json                # Sodium 配置
    ├── scripts/
    │   ├── start.bat                          # Windows 启动脚本
    │   └── start.sh                           # Linux/Mac 启动脚本
    ├── server.properties                      # 服务器配置
    ├── eula.txt                              # 最终用户许可协议
    └── README.txt                             # 模板说明
```

**metadata.json**：
```json
{
  "name": "模组包服务器模板",
  "version": "1.0.0",
  "description": "包含 Create、沉浸工程和热力系列模组的服务器模板，适用于科技向玩法",
  "author": "DeEarthX-CE",
  "created": "2026-03-09",
  "type": "template"
}
```

**README.txt**：
```
# 模组包服务器模板

## 模板说明

这是一个适用于 Minecraft 1.20.1 版本的模组包服务器模板，包含以下内容：

### 包含的模组
- Fabric API 0.90.4+1.20.1
- Lithium 0.11.2 (性能优化)
- Sodium 0.4.10+build.27 (渲染优化)
- Iris 1.6.4 (光影支持)
- Create 0.5.1.f (机械mod)
- Immersive Engineering 1.20.1-10.2.1-177 (工业mod)
- Thermal Foundation 1.20.1-11.1.0.38 (热力系列)

### 使用方法
1. 使用 DeEarthX-CE 应用此模板
2. 运行 start.bat (Windows) 或 start.sh (Linux/Mac) 启动服务器
3. 首次启动会生成世界文件和配置文件
4. 服务器默认端口：25565

### 配置说明
- 服务器模式：生存
- 难度：普通
- 最大玩家数：30
- 查看距离：12
- 模拟距离：10

### 注意事项
- 确保已安装 Java 17 或更高版本
- 首次启动服务器时会自动生成世界文件和配置文件
- 如需修改服务器配置，请编辑 server.properties 文件
- 如需修改模组配置，请编辑 config 目录中的相应文件

### 推荐客户端模组
- Fabric API
- Sodium
- Iris
- Create
- Immersive Engineering
- Thermal Foundation

### 更新日志
- v1.0.0：初始版本
```

### 示例三： Bukkit/Spigot 服务器模板

```
templates/
bukkit-server/
├── metadata.json
└── data/
    ├── plugins/
    │   ├── EssentialsX-2.20.1.jar             # 基础插件
    │   ├── LuckPerms-5.4.108.jar             # 权限管理
    │   ├── WorldEdit-7.2.14.jar              # 世界编辑
    │   └── WorldGuard-7.0.9.jar              # 世界保护
    ├── config/
    │   ├── Essentials/                        # Essentials 配置
    │   ├── LuckPerms/                         # LuckPerms 配置
    │   └── WorldGuard/                        # WorldGuard 配置
    ├── scripts/
    │   ├── start.bat                          # Windows 启动脚本
    │   └── start.sh                           # Linux/Mac 启动脚本
    ├── server.properties                      # 服务器配置
    ├── eula.txt                              # 最终用户许可协议
    └── README.txt                             # 模板说明
```

**metadata.json**：
```json
{
  "name": "Bukkit服务器模板",
  "version": "1.0.0",
  "description": "包含基础插件的 Bukkit/Spigot 服务器模板，适用于生存和创造模式",
  "author": "DeEarthX-CE",
  "created": "2026-03-09",
  "type": "template"
}
```

**README.txt**：
```
# Bukkit服务器模板

## 模板说明

这是一个适用于 Minecraft 1.20.1 版本的 Bukkit/Spigot 服务器模板，包含以下内容：

### 包含的插件
- EssentialsX 2.20.1 (基础插件)
- LuckPerms 5.4.108 (权限管理)
- WorldEdit 7.2.14 (世界编辑)
- WorldGuard 7.0.9 (世界保护)

### 使用方法
1. 使用 DeEarthX-CE 应用此模板
2. 运行 start.bat (Windows) 或 start.sh (Linux/Mac) 启动服务器
3. 首次启动会生成世界文件和配置文件
4. 服务器默认端口：25565

### 配置说明
- 服务器模式：生存
- 难度：普通
- 最大玩家数：50
- 查看距离：10
- 模拟距离：10

### 注意事项
- 确保已安装 Java 17 或更高版本
- 首次启动服务器时会自动生成世界文件和配置文件
- 如需修改服务器配置，请编辑 server.properties 文件
- 如需修改插件配置，请编辑 config 目录中的相应文件

### 插件说明
- EssentialsX：提供基础命令和功能
- LuckPerms：管理用户权限
- WorldEdit：用于编辑世界
- WorldGuard：保护世界区域

### 更新日志
- v1.0.0：初始版本
```

## 常见问题详细解答

### 模板不显示在列表中

**可能原因**：
- `metadata.json` 文件格式错误
- 模板目录结构不符合要求
- DeEarthX-CE 未正确加载模板

**解决方案**：
1. **检查 metadata.json 文件**：
   - 确保文件格式正确，使用有效的 JSON 格式
   - 确保包含所有必要的字段：name, version, description, author, created, type
   - 确保字段值格式正确，特别是 created 字段的日期格式

2. **检查目录结构**：
   - 确保模板目录包含 metadata.json 文件
   - 确保模板目录包含 data 子目录
   - 确保 data 目录结构符合要求

3. **重启 DeEarthX-CE**：
   - 关闭 DeEarthX-CE
   - 重新启动 DeEarthX-CE
   - 打开模板管理界面，查看模板是否显示

4. **检查文件权限**：
   - 确保模板目录和文件具有正确的权限
   - 确保 DeEarthX-CE 可以读取模板文件

### 应用模板失败

**可能原因**：
- 模板中的文件不完整
- 模板中的模组版本与服务器版本不兼容
- 服务器目录权限不足
- 磁盘空间不足

**解决方案**：
1. **检查模板文件**：
   - 确保模板包含所有必要的文件
   - 确保文件路径正确
   - 确保文件内容完整

2. **检查模组兼容性**：
   - 确保模板中的模组版本与服务器版本兼容
   - 确保模组之间相互兼容
   - 确保包含所有必要的依赖模组

3. **检查服务器目录**：
   - 确保服务器目录存在
   - 确保服务器目录具有写入权限
   - 确保磁盘空间充足

4. **查看错误日志**：
   - 查看 DeEarthX-CE 的日志文件
   - 查看服务器启动日志
   - 根据错误信息进行排查

### 如何分享模板

**步骤**：
1. **导出模板**：
   - 在模板管理界面选择要分享的模板
   - 点击「导出模板」按钮
   - 选择保存位置
   - 等待导出完成

2. **分享模板**：
   - 将导出的文件发送给其他用户
   - 可以通过邮件、云存储或其他方式分享

3. **导入模板**：
   - 其他用户打开 DeEarthX-CE
   - 点击「导入模板」按钮
   - 选择导出的模板文件
   - 等待导入完成
   - 模板将显示在模板列表中

### 如何更新模板

**步骤**：
1. **修改模板**：
   - 编辑模板信息（名称、版本号、描述等）
   - 修改模板文件（添加、删除或更新文件）

2. **更新版本号**：
   - 根据修改的程度更新版本号：
     - 小修改（如配置调整）：更新 PATCH 版本（如 1.0.1）
     - 功能性修改（如添加模组）：更新 MINOR 版本（如 1.1.0）
     - 重大修改（如更改服务器类型）：更新 MAJOR 版本（如 2.0.0）

3. **测试更新**：
   - 在本地环境中测试更新后的模板
   - 确保服务器能够正常启动
   - 确保所有功能正常工作

4. **分享更新**：
   - 导出更新后的模板
   - 分享给其他用户
   - 提供更新日志，说明更改内容

### 如何优化模板性能

**优化建议**：
1. **模组选择**：
   - 选择性能友好的模组
   - 避免使用过多的模组
   - 定期更新模组到最新版本

2. **服务器配置**：
   - 调整 server.properties 中的性能参数
   - 合理设置 view-distance 和 simulation-distance
   - 启用适当的世界生成设置

3. **JVM 配置**：
   - 在启动脚本中添加适当的 JVM 参数
   - 根据服务器硬件配置调整内存分配
   - 使用垃圾收集器优化参数

4. **世界管理**：
   - 定期清理未使用的区块
   - 限制世界大小
   - 使用世界预生成工具

## 模板使用场景

### 场景一：快速部署服务器

**适用情况**：
- 需要快速搭建一个标准服务器
- 避免手动配置的繁琐过程
- 确保服务器配置一致

**使用方法**：
1. 选择适合的模板
2. 应用模板到目标目录
3. 启动服务器

### 场景二：标准化服务器配置

**适用情况**：
- 管理多个服务器
- 确保所有服务器使用相同的配置
- 简化服务器维护

**使用方法**：
1. 创建一个标准模板
2. 应用模板到所有服务器
3. 更新模板后，重新应用到所有服务器

### 场景三：分享服务器配置

**适用情况**：
- 与朋友分享服务器设置
- 发布服务器配置方案
- 备份服务器配置

**使用方法**：
1. 创建并测试模板
2. 导出模板
3. 分享给其他用户

### 场景四：测试新模组

**适用情况**：
- 测试新模组的兼容性
- 测试模组的性能影响
- 测试模组的功能

**使用方法**：
1. 创建一个测试模板
2. 添加要测试的模组
3. 应用模板并启动服务器
4. 测试模组功能

## 模板商店

### 什么是模板商店

模板商店是 DeEarthX-CE 提供的一个功能，允许用户浏览、下载和安装由社区或官方提供的预设模板。这些模板经过精心配置，可以直接应用于您的服务器。

### 访问模板商店

1. **打开模板管理界面**：
   - 在导航栏点击「模板管理」
   - 切换到「模板商店」标签页

2. **浏览模板**：
   - 查看可用的模板列表
   - 每个模板显示名称、大小和描述

3. **安装模板**：
   - 点击模板卡片上的「安装」按钮
   - 系统会自动测试多个下载链接的速度
   - 选择最快的链接进行下载
   - 等待下载和安装完成
   - 安装的模板会出现在本地模板列表中

### 模板商店的优势

- **快速获取优质模板**：无需手动创建，直接使用社区或官方提供的模板
- **智能下载**：自动测试下载链接速度，选择最快的链接
- **定期更新**：模板商店中的模板会定期更新，确保兼容性和安全性
- **多样化选择**：提供不同类型和用途的模板，满足各种需求

## 总结

模板是 DeEarthX-CE 中非常强大的功能，可以帮助您快速部署标准化的服务器环境。通过本教程，您应该已经了解了：

- 模板的基本概念和优势
- 模板的详细结构和文件格式
- 创建模板的两种方法（通过界面和手动）
- 编辑模板的详细步骤
- 模板的最佳实践和命名规范
- 详细的模板示例
- 常见问题的解决方案
- 模板的使用场景
- 模板商店的使用方法和优势

如果您有任何问题或需要进一步的帮助，请参考常见问题部分或联系技术支持。祝您使用 DeEarthX-CE 创建和管理模板愉快！