我的世界 Minecraft 基岩版服务器搭建之 Windows 版游戏配置
服务器准备
我们准备利用BDS的windows版本来搭建基岩服,Windows Server 是比较吃内存的,推荐云服务器入门配置:2核4G+60GB硬盘,带宽决定多少人同时在线,环境选装 Windows Server 2016 或以上。
必要运行库的安装
基岩专用服务端(BDS)与基岩版客户端相同,都是基于C++语言编写的。
所以,运行服务端的平台同样需要安装C++运行库。
自行下载安装“微软常用运行库合集”:https://github.com/abbodi1406/vcredist
我的是 64 位服务器,下载 VC_redist.x64.exe 双击安装即可。
下载Windows服务端
利用远程桌面连接服务器后,打开如下官网,获取最新的 Windows 下载包:
https://www.minecraft.net/en-us/download/server/bedrock
勾选 “I agree to the Minecraft End User License Agreement and Privacy Policy”下载。
下载后解压到一个不带中文和空格的任意目录。
启动Windows服务端
进入上述解压的目录,双击 bedrock_server.exe 即可启动服务器,也可以做后续的配置后,再启动服务器。
#认识服务器文件
在刚解压缩的服务器文件的目录,我们来介绍一些比较重要的配置文件。
bedrock_server_how_to.html 这是官方的服务器使用教程
server.properties 服务器属性文件
permissions.json 玩家权限文件
whitelist.json 玩家白名单文件
当你启动服务器后,服务器会根据 server.properties 生成一些新的文件。
其中 worlds 是放地图存档的目录。
#设置服务器属性
用记事本工具打开 server.properties 查看服务器属性文件。
这里我列出一些可能会用到的属性:
属性名 | 默认值 | 描述 |
---|---|---|
server-name |
Dedicated Server | 服务器名
(即服务器列表中显示的名称) 名称里不能带有分号 |
gamemode |
survival |
游戏模式,合法值有:
|
difficulty |
easy |
游戏难度,合法值有:
|
allow-cheats |
false |
启用作弊
合法值为 开启后不可获取成就 |
max-player |
10 | 玩家数量上限
值必须为正整数 |
allow-list |
false |
启用白名单
如果为
玩家连接服务器 |
server-port |
19132 | 服务器端口号 |
view-distance |
32 | 视距
允许玩家游戏加载的最大区块数 值应当大于等于 5 |
player-idle-timeout |
30 | 自动踢出玩家时间
值必须为非负整数 (单位:分钟) |
level-name |
Bedrock level | 地图名称
名称里不能带有分号 且应当可以作为合法的文件名 |
level-seed |
地图种子
用来随机生成地图 值可以为任意字符串 |
|
default-player
|
member |
默认玩家权限
新玩家加入服务器的权限 合法值有:
|
server-name 服务器名称 gamemode 游戏模式 creative创造 survival生存 difficulty 难度 easy简单 normal中等 hard困难 max-players 最大玩家数 online-mode Xbox在线模式 只有登录了Xbox账户的用户才能进入 有效过滤小学生 white-list 白名单模式 默认关闭 我们目的是让陌生人可以看世界但无法改动 server-port 服务器IPV4端口 server-portv6 服务器IPV6端口 player-idle-timeout 踢出超过此时间的挂机玩家 分钟 level-name 世界名称 level-seed 世界种子 自己随意 个人喜欢7370和9210 (1.17版本) default-player-permission-level 默认登录玩家身份 visitor游客 member普通玩家 operator管理员
#地图管理
上面提到 worlds 是放地图存档的目录。如果你启动过服务器,你可以在 worlds 里看到一个 duimen 目录,这是因为在 server.properties 文件里设定了 level-name (地图名称)值为 duimen。
当你修改 server.properties 文件中 level-name 为别的名称(比如 steve )后,重启服务器程序,你会看到 worlds 目录里多了个 steve 目录。
这表示我们服务器里有 Bedrock level 和 steve 两个地图存档。启动服务器的时候,服务器会运行名称为 level-name 属性值的地图存档,如果地图存档在 worlds 目录里不存在,则会新生成一个名为 level-name 属性值地图存档。
更改存档名称或删除地图存档(须先终止服务器)也很简单:
如果你想切换地图存档,先终止服务器,然后去 server.properties 文件里更改 level-name 属性,最后开启服务器。
server.properties 中有两个属性是与新地图生成有关的:
1. level-type 地图类型,合法值有: DEFAULT 默认(无限) FLAT 平坦 LEGACY 传统(有限) 2. level-seed 地图种子,合法值为任意字符串
level-type 并非 server.properties 文件里原本就有的属性,你可以在任意行处添加这个属性。如果属性值为 DEFAULT 则无需添加。
你需要在创建新世界(启动服务器)之前设置好这两个属性,两个属性无法作用于已经生成好的地图存档。
服务器端口
上述 server-port 端口设置的数值(默认为 19132),需要在 windows 服务器和云服务器上分别放行该端口。
windows服务器放行端口
打开开始菜单,搜索:"高级安全 Windows Defender 防火墙"
在 '入站规则' 当中新建规则,规则名称随意,放行端口设置如下
协议类型:UDP 放行端口: 19132,19133 配置文件:公共、专用
云服务器放行端口
进入云服务器管理界面,在防火墙规则中添加 UDP 规则,端口号要填写上述你修改的数值(默认为 19132)。
将自己设置为管理员
双击打开 bedrock_server.exe ,显示一个cmd黑窗口,然后你自己去打开Minecraft客户端,添加并连接你的服务器地址+端口号,保存并进入服务器。
然后去刚才打开的CMD窗口,终端会显示出你的Xbox UID,复制记下你的Xbox UID,需要给自己权限。
黑窗口输入 exit 结束掉服务器(点关闭也可以),打开服务器目录下的 permissions.json,修改如下:
[ { "permission": "operator", "xuid": "123456789" } ]
命令行解读:
permission 权限: visitor游客 member普通玩家 operator管理员
查看到朋友的ID,把自己的朋友用普通玩家权限添加进去就可以:
[ { "permission": "operator", "xuid": "123456789" }, { "permission": "member", "xuid": "987654321" } ]
教程至此结束。