【玩即折腾】搭建Minecraft(我的世界)基岩版Linux联机服务器教程
旧文章存档
更新后的教程请访问我的博客:搭建我的世界基岩版(Minecraft BE) Linux 联机服务器教程
==========================================================================
一般看这个教程的基本都是局外人,我尽量写的简单一些。
但即便是再简单,也要有一定计算机基础,比如服务器会申请,Linux能简单操作,VIM会增删改查,如果真一点不会那就老老实实玩游戏吧。
准备工作:
Minecraft 基岩版客户端,Microsoft Store 可以买,一般玩国际版的都是有一定折腾水平的人我倒是放心了许多。
一个云服务器,腾讯云阿里云都可以。
第一步:
申请云服务器,重装为 Ubuntu 系统。
更新系统:
sudo apt update
sudo apt upgrade
sudo reboot
更新系统后安装环境:
sudo apt install curl wget zip unzip vim screen jq openssl screen
第二步:
安装服务端软件,先创建文件夹,在当前用户目录下就可以,创建后直接进入:
pwd
mkdir mcbe_server
cd mcbe_server
然后访问官网获取最新的Ubuntu下载包:Bedrock Server Download | Minecraft
勾选 “I agree to the Minecraft End User License Agreement and Privacy Policy”,然后右键Download复制链接。
切换到终端,下载客户端并解压:
wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.17.10.04.zip
unzip bedrock-server-1.17.10.04.zip
rm bedrock-server-1.17.10.04.zip
第三步:配置服务器
参考资料:基岩版专用服务器 - Minecraft Wiki,最详细的官方我的世界百科 (fandom.com)
建议先阅读参考资料后再下手。解压后需要了解三个配置文件,分别是:
server.properties 总配置文件
permissions.json 用户权限配置文件
whitelist.json 白名单配置文件 需要在总配置文件中开启白名单 然后只有在这个白名单文件中的用户才可以进入服务器
因为配置文件非常长,我就演示最快最安全的配置方式:
设置只有指定用户才可以修改世界、其他访问用户只能作为游客。
VIM打开 server.properties 逐条找到并修改下面配置,其它不要动,除非你已经足够了解:
VIM使用方式,按键I进入插入修改模式、esc返回命令行模式、/键查找,!wq保存,其他的自己百度。
server-name=Byte Server
gamemode=creative
difficulty=normal
max-players=100
online-mode=true
white-list=false
server-port=19132
server-portv6=19133
player-idle-timeout=30
level-name=Byte World
level-seed=9210
default-player-permission-level=visitor
命令行解析:
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
default-player-permission-level 默认登录玩家身份 visitor游客 member普通玩家 operator管理员
第四步:
放行端口,测试服务器,获取自己UID。
打开云服务器防火墙控制台,放行你刚才的端口:19132,19133
放行UDP端口!UDP!UDP!
放行后开启服务器:
LD_LIBRARY_PATH=. ./bedrock_server
打开Minecraft,添加并连接你的云服务器公网地址+端口号,玩游戏就不教你了。
如果可以进入游戏,终端会显示出你的Xbox UID,复制记下你的Xbox UID,因为你现在上面都做不了,需要给自己权限。
第五步:
将自己设置为管理员。
先 Ctrl + C 结束掉服务器,VIM打开目录下的 permissions.json 。修改:
[
{
"permission": "operator",
"xuid": "123456789"
}
]
命令行解读:
permission 权限 visitor游客 member普通玩家 operator管理员
xuid 你的Xbox用户ID 不要把123456789抄上!!!!
以后添加自己朋友,就可以在朋友登录的时候,Screen到服务器终端(见第六步):
screen -x mc_server
查看到朋友的ID,把自己的朋友用普通玩家权限添加进去就可以:
[
{
"permission": "operator",
"xuid": "123456789"
},
{
"permission": "member",
"xuid": "987654321"
}
]
第六步:
使用Screen挂起服务器。
进入服务器目录,输入:
screen -S mc_server
然后会发现clear了,这时你就在后台新建了终端,这时候显示的就是你新建的终端,你关闭当前终端的窗口也不会受影响。
新建后就可以启动服务器:
LD_LIBRARY_PATH=. ./bedrock_server
关闭终端后服务也会继续运行。切换到运行服务器终端的命令就是:
screen -x mc_server
好了,完工!
Minecraft Windows 10 版本开启RTX光追:Minecraft with RTX PBR Texturing Guide (nvidia.com)
光追也可以直接下载:https://images.nvidia.com/content/minecraft-with-rtx-beta-resource-packs/nvidia-pbr-example-texturesets-pixelart-feb-2-2021-final.mcpack
附上 server.properties 所有的中文解释,根据自己需要进行修改:
中文翻译抄自:server.properties - Minecraft Wiki,最详细的官方我的世界百科 (fandom.com)
属性名称 | 可选值 | 默认值 | 何时生效 | 作用 | 备注 |
---|---|---|---|---|---|
gamemode | survival (0), creative (1), adventure (2) | survival | 总是生效或新玩家进入时 | 设定新玩家的游戏模式。 | survival (0) - 生存模式
creative (1) - 创造模式 adventure (2) - 冒险模式 |
difficulty | peaceful (0), easy (1), normal (2), hard (3) | easy | 总是生效 | 设置世界的游戏难度。 | peaceful (0) - 和平
easy (1) - 简单 normal (2) - 普通 hard (3) - 困难 |
level-type | FLAT, LEGACY, DEFAULT | DEFAULT | 生成地形时 | 决定生成的地图的类型。 | FLAT-超平坦
LEGACY-旧世界类型 DEFAULT-默认 |
server-name | 任意字符串 | Dedicated Server | 总是生效 | 用作服务器的名称 | 作为服务器在游戏内服务器列表中显示的名称。 |
max-players | 正整数 | 10 | 总是生效 | 设置服务器同时能容纳的最大玩家数量。 | 这是应该能在服务器上游戏的玩家的最大数量。较高的值可能会影响服务器性能。 |
server-port | 任意整数 | 19132 | 总是生效 | 设置服务器监听的IPv4端口号。 | |
server-portv6 | 任意整数 | 19133 | 总是生效 | 设置服务器监听的IPv6端口号。 | |
level-name | 任意字符串 | level | 总是生效 | 该值用于世界的名称以及文件夹名。你也可以复制你的存档到这里,并把该值修改成文件夹的名称,以此替换服务器加载的存档。 | 使用/生成的存档名称。每个存档在/worlds 中都有单独的文件夹。 |
level-seed | 任意字符串 | 空白(th34f1ju34facjn5f871df312h) | 生成地形时 | 用于将世界随机化 | 为世界定义一个种子。留空将随机选择种子。 |
online-mode | true, false | true | 总是生效 | 是否身份验证 | 如果为true,则每个连接的玩家都必须与Xbox Live进行身份验证。 |
white-list | true, false | false | 总是生效 | 是否开启白名单 | 如果为true,则玩家都必须要在whitelist.json 文件中才能登录服务器。 |
allow-cheats | true, false | false | 总是生效 | 是否允许作弊 | 如果为true,则服务器将允许作弊行为(例如使用命令)。 |
view-distance | 任意整数 | 10 | 总是生效 | 设置玩家可视距离最大值 | 单位为区块。较高的值可能会影响服务器性能。 |
player-idle-timeout | 任意整数 | 30 | 总是生效 | 设置空闲玩家被踢出的时间 | 单位为分钟。玩家空闲时间到达设定值后将被踢出,如果设置为0或被移除。 |
max-threads | 整数 | 8 | 总是生效 | 设置服务器尝试使用的最大线程数 | 服务器会尽可能多地使用线程。 |
tick-distance | 范围[4, 12]内的整数 | 4 | 总是生效 | 设置停止加载区块的距离 | 当玩家远离某个区块的距离超过设定值后,该区块会停止加载。较高的值可能会影响服务器性能。 |
default-player-permission-level | visitor, member, operator | member | 总是生效 | 设置新玩家加入时的权限 | visitor-新玩家不可破坏方块
member-新玩家正常加入 operator-新玩家加入时即为OP |
texturepack-required | true, false | false | 总是生效 | 是否强制加载资源包 | 如果为 true,则当服务器有资源包时,将强制客户端使用。 |
content-log-file-enabled | true,false | false | 是否启用错误日志 |