【玩即折腾】搭建Minecraft(我的世界)基岩版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   是否启用错误日志  

原文地址:https://www.cnblogs.com/airchip/p/15059583.html