MineCraft开服指南

1. 安装Docker

    • 确保已按照之前的教程安装好Docker和Docker Compose,不会的可查看Docker安装教程

2. 硬件要求

    • 最低2GB内存(推荐4GB以上,尤其对于Mod服)
      - 稳定的网络连接
      - 至少10GB空闲磁盘空间

二、搭建基础Minecraft服务器(Vanilla纯净服)

1. 创建服务器目录结构

1
2
mkdir -p ~/minecraft/server
cd ~/minecraft/server

2. 创建docker-compose.yml配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3.8'

services:
mc-server:
image: itzg/minecraft-server # 最流行的MC服务器镜像
container_name: mc-vanilla
restart: always
environment:
- EULA=TRUE # 同意Minecraft EULA,必须设置为TRUE
- VERSION=1.20.1 # Minecraft版本,可指定如1.19.4、latest等
- TYPE=VANILLA # 服务器类型:VANILLA(纯净)、FORGE、SPIGOT等
- SERVER_NAME="TanZp的MC服务器" # 服务器名称
- MAX_PLAYERS=10 # 最大玩家数
- ONLINE_MODE=true # 是否启用正版验证
- MEMORY=2G # 分配的内存,根据服务器配置调整
ports:
- "25565:25565" # MC默认端口
volumes:
- ./data:/data # 将服务器数据映射到本地目录,实现持久化
tty: true
stdin_open: true

3. 启动服务器

1
docker compose up -d

4. 查看服务器日志(重要)

1
docker compose logs -f  # 实时查看日志,首次启动会下载服务器文件

5. 连接服务器

在Minecraft客户端中,通过直连输入服务器IP(本地测试用localhost,外网需端口映射)和端口25565即可连接

三、搭建Mod服务器(以Forge为例)

1. 创建Mod服目录

1
2
mkdir -p ~/minecraft/mod-server
cd ~/minecraft/mod-server

2. 创建docker-compose.yml配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
version: '3.8'

services:
mc-forge:
image: itzg/minecraft-server
container_name: mc-forge
restart: always
environment:
- EULA=TRUE
- VERSION=1.20.1 # 必须与Forge版本匹配
- TYPE=FORGE # 指定为Forge服务器
- FORGE_VERSION=47.1.0 # Forge版本,需与MC版本对应
- SERVER_NAME="TanZp的Mod服务器"
- MAX_PLAYERS=8
- ONLINE_MODE=false # Mod服通常关闭正版验证
- MEMORY=4G # Mod服建议分配更多内存
- MODS_DOWNLOAD_DIRECTORY=/data/mods # Mod存放目录
ports:
- "25565:25565"
volumes:
- ./data:/data # 包含mods、config等目录
- ./mods:/data/mods # 单独映射mods目录方便管理
tty: true
stdin_open: true

3. 安装Mod方法

方法一:手动添加Mod

  1. 创建mods目录:mkdir -p ./mods
  2. 下载与服务器版本匹配的Mod(.jar文件)
  3. 将Mod文件放入./mods目录
  4. 重启服务器:docker compose restart

方法二:通过配置自动下载Mod

docker-compose.yml中添加MODS参数:

1
2
3
environment:
# 其他配置...
- MODS=https://mediafilez.forgecdn.net/files/4676/769/Create_1.20.1_v0.5.1.f.jar,https://mediafilez.forgecdn.net/files/4683/246/ jei-1.20.1-forge-15.2.0.28.jar

注:使用逗号分隔多个Mod的下载链接(推荐从CurseForge获取)

4. 管理Mod配置

所有Mod配置文件会保存在./data/config目录下,可直接编辑后重启服务器生效

四、地图管理

1. 上传现有地图

  1. 停止服务器:docker compose down

  2. 将地图文件夹(如my_world)复制到./data目录

  3. 修改配置文件./data/server.properties

    1
    level-name=my_world  # 设置为你的地图文件夹名称
  4. 启动服务器:docker compose up -d

2. 备份地图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 创建备份脚本
cat > backup.sh << 'EOF'
#!/bin/bash
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_DIR=~/minecraft/backups
mkdir -p $BACKUP_DIR
# 压缩地图文件夹
zip -r $BACKUP_DIR/mc_world_$TIMESTAMP.zip ~/minecraft/mod-server/data/world
# 保留最近30个备份
ls -tp $BACKUP_DIR/*.zip | grep -v '/$' | tail -n +31 | xargs -I {} rm -- {}
EOF

# 赋予执行权限
chmod +x backup.sh

# 执行备份
./backup.sh

3. 自动备份(定时任务)

1
2
3
4
# 添加到crontab,每天凌晨2点备份
crontab -e
# 添加以下内容
0 2 * * * ~/minecraft/backup.sh

五、服务器配置优化

1. 调整服务器属性

编辑./data/server.properties文件,常用配置:

1
2
3
4
5
6
motd=欢迎来到TanZp的MC服务器  # 服务器列表显示的消息
difficulty=normal # 难度:peaceful, easy, normal, hard
gamemode=survival # 游戏模式:survival, creative, adventure, spectator
pvp=true # 是否开启PVP
spawn-protection=16 # 出生点保护范围
view-distance=10 # 视野距离

2. 优化性能

创建./data/user_jvm_args.txt文件添加JVM参数:

1
2
3
4
5
6
7
8
-Xms2G  # 初始内存
-Xmx4G # 最大内存
-XX:+UseG1GC # 使用G1垃圾收集器
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch

六、常用服务器管理命令

1. 进入服务器控制台:

1
2
docker exec -it mc-forge bash  # 替换为你的容器名
# 进入后输入"help"查看所有命令

2. 常用控制台命令:

1
2
3
4
5
6
list  # 查看在线玩家
kick <玩家名> [原因] # 踢出玩家
ban <玩家名> [原因] # 封禁玩家
op <玩家名> # 给予管理员权限
save-all # 保存世界
stop # 安全关闭服务器

3. 从外部发送命令:

1
2
docker exec mc-forge rcon-cli "say 服务器将在5分钟后重启!"  # 发送广播
docker exec mc-forge rcon-cli stop # 远程关闭服务器

七、更新与维护

1. 更新服务器版本

    • 停止服务器:docker compose down
      - 修改docker-compose.yml中的VERSIONFORGE_VERSION
      - 启动服务器:docker compose up -d

2. 更新Mod

    • 停止服务器
      - 替换./mods目录中的Mod文件
      - 启动服务器并查看日志确认是否有冲突

3. 清理空间

1
2
3
4
5
# 清理未使用的Docker镜像
docker system prune -a

# 清理旧的备份(如果没设置自动清理)
rm -rf ~/minecraft/backups/old_backup_files

通过以上步骤,你可以搭建一个功能完善的Minecraft服务器,支持Mod管理、地图备份和性能优化。如果需要开设多人公开服务器,还需在路由器设置端口映射,并考虑使用DDNS服务来解决动态IP问题。


MineCraft开服指南
http://tanzipeng.github.io/p/373e628ea5f242a196067523171bc0f8/
作者
Tan ZiPeng
发布于
2025年9月11日
许可协议