我的世界服务端搭建
文章目录
- 我的世界服务端搭建
- 使用forge搭建服务端
- 确保服务器的 Java 环境
- 安装1.20.1服务端
- 配置文件修改
- 启动游戏服务器
- Minecraft `server.properties` 文件解析
- **基础设置**
- **世界设置**
- **网络与安全**
- **性能优化**
- **高级功能**
- **配置文件示例**
- **注意事项**
- Minecraft 白名单系统详解:`white-list` 与 `whitelist.json`
- 一、启用白名单的步骤
- 二、管理白名单的 3 种方式
- ▶ 方式 1:游戏内命令(推荐)
- ▶ 方式 2:直接编辑 `whitelist.json`
- ▶ 方式 3:服务器控制台
- 三、获取玩家 UUID 的方法
- 四、`whitelist.json` 文件规范
- 五、白名单系统注意事项
- 六、常见问题解决
- 七、高级管理技巧
我的世界服务端搭建
使用forge搭建服务端
访问forge官网,下载forge安装包,已Forge 1.20.1为例
Minecraft Forge 下载:https://files.minecraftforge.net/net/minecraftforge/forge/
确保服务器的 Java 环境
Java 版本:Forge 1.20.1 需要 JDK 17(建议使用 OpenJDK 17)。
验证 Java:在命令行输入以下命令,确认 Java 是否已正确安装
java -version
安装1.20.1服务端
# 创建服务端核心
java -jar forge-1.20.1-47.4.0-installer.jar --installServer# 生成配置文件
bash run.sh
--installServer
参数表示安装服务端。- 安装完成后,命令行会生成以下文件和文件夹:
server.jar
(核心服务端文件)mods/
(存放模组的文件夹)config/
(配置文件)eula.txt
(用户协议文件)
配置文件修改
接受用户协议
- 打开 eula.txt 文件,将其中的 eula=false 修改为 eula=true。
- 保存文件并关闭编辑器。
-
生成的文件:
server.properties
(服务器主配置文件)level-name/
(世界存档文件夹)users.json
(玩家白名单和权限文件)
-
编辑
server.properties
文件# 服务器端口 server-port=25565 # 最大玩家数 max-players=20 # 游戏模式(survival, creative, adventure, spectator) gamemode=survival # 是否允许作弊 allow-cheats=true # 是否启用正版验证 online-mode=true
修改完成后保存文件。
启动游戏服务器
bash run.sh
Minecraft server.properties
文件解析
server.properties
是 Minecraft 服务器的核心配置文件,位于服务器根目录。它定义了服务器的运行参数(如端口、难度、玩家上限等)。以下是常见配置项的详细解析:
基础设置
配置项 | 默认值 | 说明 |
---|---|---|
server-port | 25565 | 服务器监听的端口(需确保端口未被占用且防火墙放行)。 |
server-ip | 空 | 绑定服务器的 IP 地址(留空则使用所有可用 IP)。 |
motd | A Minecraft Server | 服务器描述(显示在玩家列表中的第二行)。 |
max-players | 20 | 最大玩家数量(受服务器性能限制)。 |
世界设置
配置项 | 默认值 | 说明 |
---|---|---|
level-name | world | 世界文件夹名称(对应 ./world/ 目录)。 |
gamemode | survival | 默认游戏模式:survival (生存)、creative (创造)、adventure (冒险)、spectator (旁观)。 |
difficulty | easy | 游戏难度:peaceful (和平)、easy (简单)、normal (普通)、hard (困难)。 |
hardcore | false | 是否启用极限模式(死亡后无法复活)。 |
pvp | true | 是否允许玩家互相攻击。 |
generate-structures | true | 是否生成自然结构(村庄、地牢等)。 |
level-type | default | 世界类型:default (标准)、flat (超平坦)、largebiomes (巨型生物群系)。 |
网络与安全
配置项 | 默认值 | 说明 |
---|---|---|
online-mode | true | 是否开启正版验证(false 允许盗版玩家加入)。 |
white-list | false | 是否启用白名单(需在 whitelist.json 添加玩家)。 |
enforce-whitelist | false | 是否强制检查白名单(开启后需重启生效)。 |
enable-rcon | false | 是否启用远程控制(RCON)。 |
rcon.password | 空 | RCON 远程管理的密码(需 enable-rcon=true )。 |
性能优化
配置项 | 默认值 | 说明 |
---|---|---|
view-distance | 10 | 玩家可视区块范围(值越大越吃性能,建议 6-12)。 |
simulation-distance | 10 | 服务器模拟实体/红石的范围(1.18+ 版本关键设置)。 |
network-compression-threshold | 256 | 网络压缩阈值:-1 (禁用压缩)、0 (压缩所有数据包)。 |
高级功能
配置项 | 默认值 | 说明 |
---|---|---|
allow-flight | false | 是否允许飞行(需为 true 才能使用鞘翅或飞行模组)。 |
enable-command-block | false | 是否启用命令方块。 |
spawn-protection | 16 | 出生点保护半径(设为 0 可禁用保护)。 |
resource-pack | 空 | 强制客户端加载的资源包 URL(需配合 SHA-1 校验)。 |
max-tick-time | 60000 | 单次 tick 最大耗时(毫秒),超时则服务器强制关闭。 |
配置文件示例
# 基础设置
server-port=25565
motd=My Awesome Server
max-players=50# 世界设置
level-name=survival_world
gamemode=survival
difficulty=hard
pvp=true# 网络与安全
online-mode=true
white-list=true
enable-rcon=true
rcon.password=StrongPassword123# 性能优化
view-distance=8
simulation-distance=6
注意事项
- 修改后重启:大部分配置需重启服务器才能生效。
- 备份文件:修改前建议备份
server.properties
。 - 参数格式:布尔值用
true
/false
,字符串无需引号。 - 版本差异:部分参数随 Minecraft 版本更新而变化(如
simulation-distance
替代了旧版的max-tick-time
)。
Minecraft 白名单系统详解:white-list
与 whitelist.json
白名单系统是 Minecraft 服务器的重要安全功能,用于控制哪些玩家可以进入服务器。以下是完整的使用指南:
一、启用白名单的步骤
-
修改
server.properties
开启白名单功能:white-list=true enforce-whitelist=true # 设为 true 时,服务器会主动强制执行白名单
-
重启服务器
修改后必须重启服务器才能生效。
二、管理白名单的 3 种方式
▶ 方式 1:游戏内命令(推荐)
在服务器控制台或由 OP 玩家在游戏内执行:
# 添加玩家
/whitelist add <玩家名># 移除玩家
/whitelist remove <玩家名># 查看当前白名单
/whitelist list# 重新加载白名单(修改文件后使用)
/whitelist reload
▶ 方式 2:直接编辑 whitelist.json
文件位置:服务器根目录/whitelist.json
正确格式:
[{"uuid": "e9b9d8e7a6f5c4d3b2a1f0e1d2c3b4a5", "name": "Steve"},{"uuid": "d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9", "name": "Alex"}
]
▶ 方式 3:服务器控制台
在服务器终端输入(不需要 /
前缀):
whitelist add Notch
三、获取玩家 UUID 的方法
UUID 是玩家的唯一标识符(即使改名也不会变)
-
官网查询(需要正版账号)
访问:https://mcuuid.net/ -
服务器日志获取
当玩家尝试加入服务器时,日志会显示其 UUID:[12:34:56] [User Authenticator/INFO]: UUID of player Notch is 069a79f444e94726a5befca90e38aaf5
-
游戏内命令
OP 玩家对目标玩家执行:/data get entity <玩家名> UUID
四、whitelist.json
文件规范
字段 | 必填 | 说明 |
---|---|---|
uuid | ✓ | 玩家的唯一标识符(32位十六进制,带连字符) |
name | ✓ | 玩家当前用户名(区分大小写) |
ignoresPlayerLimit | ✗ | 是否绕过人数限制(默认 false) |
完整示例:
[{"uuid": "069a79f444e94726a5befca90e38aaf5","name": "Notch","ignoresPlayerLimit": true // 此人可绕过人数上限},{"uuid": "853c80ef3c3749fdaa49938b674adae6","name": "Jeb_"}
]
五、白名单系统注意事项
-
用户名更改处理
当玩家改名时:- 白名单 仍然有效(通过 UUID 识别)
- 建议更新
name
字段保持可读性:/whitelist reload
-
文件编辑规则:
- 修改时必须 停止服务器 或使用
whitelist reload
- JSON 文件必须使用 UTF-8 无 BOM 编码
- 最后一个玩家数据后 不能有逗号
- 修改时必须 停止服务器 或使用
-
权限优先级:
graph LR A[尝试加入服务器] --> B{白名单开启?} B -->|是| C{UUID在whitelist.json中?} C -->|是| D[允许加入] C -->|否| E[拒绝加入] B -->|否| D
六、常见问题解决
问题现象 | 解决方案 |
---|---|
玩家在白名单中仍被拒绝 | 1. 检查 UUID 是否正确 2. 执行 /whitelist reload |
修改文件后无效 | 1. 确认 JSON 格式正确 2. 检查文件权限 3. 重启服务器 |
OP 玩家是否需要白名单 | 需要!OP 权限和白名单是独立系统 |
白名单与正版验证关系 | 白名单开启时,盗版服务器(online-mode=false)仍需 UUID |
⚠️ 重要提示:当
enforce-whitelist=true
时,任何不在白名单的玩家(包括 OP)都无法加入服务器!
七、高级管理技巧
-
批量导入玩家
使用脚本转换 CSV 到 JSON:import csv, json, uuid with open('players.csv') as f:data = [{"uuid": row[0], "name": row[1]} for row in csv.reader(f)] with open('whitelist.json', 'w') as f:json.dump(data, f, indent=2)
-
自动同步白名单
通过 Discord 机器人管理(使用 bot 如 DiscordSRV):!whitelist add Notch
-
白名单备份
定期备份whitelist.json
文件,防止数据丢失。
通过合理使用白名单系统,您可以打造安全的私密服务器环境!