由于Minecraft基岩版发新版本后会禁止旧版本的登陆,就像这样
因此需要维护服务器的更新
如果像我一样使用screen
命令运行服务器的话,就可以使用下面的命令
shellscreen -r mc
其中mc
是服务端的名称,如果忘记的话可以使用下面的命令查看
shellscreen -ls
期望中会输出这样的结果
shellThere are screens on: 3235882.mc (10/26/2024 01:04:27 AM) (Detached) 1 Sockets in /run/screen/S-ecs-user.
进入服务端后台后输入stop
命令安全关闭服务端,输出会像这样
shellstop [2025-01-17 20:07:01:040 INFO] Server stop requested. [2025-01-17 20:07:01:130 INFO] Stopping server... Quit correctly
关闭服务端后ls
能看到目录的结构
shellallowlist.json Dedicated_Server.txt MQC-121.30.1-server.zip release-notes.txt world_templates bedrock_server definitions MQC-121.40.1-server.zip resource_packs 读我.txt bedrock-server-1.21.42.01.zip development_behavior_packs MQC-SERVER server.properties bedrock_server_how_to.html development_resource_packs packet-statistics.txt treatments behavior_packs development_skin_packs permissions.json worlds config minecraftpe premium_cache worlds.zip
其中需要备份的文件有
worlds
文件夹:保存地图数据以及模组permissions.json
:保存用户权限server.properties
:保存服务端配置allowlist.json
:玩家白名单需要注意的是behavior_packs
和resource_packs
是没有作用的,模组是装在worlds
文件夹的,不需要迁移
首先从官网下载最新的服务端,下载链接,可以选择直接wget
下载也可以本地下载再上传到服务器
然后使用unzip
解压
shellunzip bedrock-server-1.21.51.02.zip
解压后的目录应当是这样的
shellallowlist.json bedrock-server-1.21.51.02.zip behavior_packs definitions profanity_filter.wlist resource_packs bedrock_server bedrock_server_how_to.html config permissions.json release-notes.txt server.properties
然后需要将之前服务端的数据迁移过来,使用命令(注意此时处于mc-server-6
目录下,mc-server-5
是要迁移的服务端)
shellcp -r ../mc-server-5/worlds ./ cp ../mc-server-5/permissions.json ./ cp ../mc-server-5/server.properties ./ cp ../mc-server-5/allowlist.json ./
基岩版小版本之间都存在模组适配存在问题,需要卸载后再启动,模组的卸载是需要手动的。进入
shellworlds/Bedrock level/
其中的目录结构是这样的
shellbehavior_packs/ level.dat levelname.txt world_behavior_pack_history.json world_resource_pack_history.json db/ level.dat_old resource_packs/ world_behavior_packs.json world_resource_packs.json
需要操作的是behavior_packs
目录和world_behavior_packs.json
文件
behavior_packs
:放着模组的本体world_behavior_packs.json
:服务端启动时从这里看要加载什么模组由于只安装了连锁采集模组,world_behavior_packs.json
是这样的
json[{"pack_id":"05a423a2-5644-fad1-7784-a6d4c369c820","version":[121,40,1]}]
它对应的是worlds/Bedrock level/behavior_packs/chain_bp
目录中manifest.json
文件的header
属性
shellpack_id->uuid, version->version
下面贴出manifest.json
文件
json{
"format_version": 2,
"header": {
"name": "MQC-121.40.1-BP-SERVER",
"uuid": "05a423a2-5644-fad1-7784-a6d4c369c820",
"version": [121, 40, 1],
"min_engine_version": [1, 21, 40]
},
"metadata": {
"authors": ["lxhzzy"],
"generated_with": {
"esbuild": ["0.19.9"],
"gulp": ["4.0.2"]
},
"license": "CC-BY-ND-4.0"
},
"modules": [
{
"description": "script_modules",
"type": "script",
"language": "javascript",
"uuid": "b94d62b8-345a-63de-bf91-9c4aba9e2913",
"version": [1, 0, 0],
"entry": "index.js"
}
],
"dependencies": [
{
"module_name": "@minecraft/server",
"version": "1.16.0-beta"
},
{
"module_name": "@minecraft/server-ui",
"version": "1.3.0"
},
{
"module_name": "@minecraft/server-admin",
"version": "1.0.0-beta"
}
],
"capabilities": ["script_eval"]
}
只需要把它们都删掉就好了
完成这一切,回到服务端根目录执行
shell./bedrock_server
就可以启动服务端愉快地玩耍啦
本文作者:GBwater
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!