我的世界 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 游戏模式,合法值有:

survival(生存)

creative(创造)

adventure(冒险)

difficulty easy 游戏难度,合法值有:

peaceful(和平)

easy(简单)

normal(普通)

hard(困难)

allow-cheats false 启用作弊

合法值为
true
false

开启后不可获取成就

max-player 10 玩家数量上限

值必须为正整数

allow-list false 启用白名单

如果为
true将只允许

allowlist.json文件里的

玩家连接服务器

server-port 19132 服务器端口号
view-distance 32 视距

允许玩家游戏加载的最大区块数

值应当大于等于 5

player-idle-timeout 30 自动踢出玩家时间

值必须为非负整数

(单位:分钟)

level-name Bedrock level 地图名称

名称里不能带有分号

且应当可以作为合法的文件名

level-seed 地图种子

用来随机生成地图

值可以为任意字符串

default-player

-permission-level

member 默认玩家权限

新玩家加入服务器的权限

合法值有:
visitor(访客)

member(成员)

operator(管理员)

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"
	}
]

教程至此结束。