Ubuntu 环境配置 Minecraft 基岩版服务器

文章目录


Part 1 搭建服务器

  1. 更新软件包信息
shell 复制代码
sudo apt-get update
sudo apt-get upgrade
  1. 安装所需工具
shell 复制代码
sudo apt-get vim
sudo apt-get install zip
sudo apt-get install unzip
sudo apt-get install libcurl4-openssl-dev
  1. 创建文件夹
shell 复制代码
# 切换到工作目录
cd entertainment/
# 创建服务器文件存放目录
mkdir minecraft
cd minecraft
  1. 下载服务器安装文件
  • 回到终端
shell 复制代码
# 将 <SERVER_DOWNLOAD_LINK> 替换为具体的下载链接
wget <SERVER_DOWNLOAD_LINK>
  • 解压缩服务器文件
shell 复制代码
unzip <SERVER_FILENAME>
  • 检查解压成功的文件
shell 复制代码
ls -alh
  • 删除压缩包(可选)
shell 复制代码
rm <SERVER_FILENAME>
  1. 创建启动文件
shell 复制代码
vim startmc.sh
  • 在文件中写入服务器启动指令:
shell 复制代码
LD_LIBRARY_PATH=. ./bedrock_server
  • 按下 Esc 退出编辑模式,输入 :wq 保存并退出 Vim
  1. 启动服务器
shell 复制代码
sh ./startmc.sh
  • 如果提示没有执行权限 bash: ./bedrock_server: Permission denied
shell 复制代码
# 赋予权限
chmod +x ./bedrock_server
# 然后再次尝试启动服务器
sh ./startmc.sh
  1. 启动成功
  • 按下 Ctrl + C 停止服务器

Part 2 配置服务器

  • 服务器文件中比较重要的有:
shell 复制代码
server.properties 服务器属性文件
permissions.json 玩家权限文件
allowlist.json 玩家白名单文件
worlds/ 存放地图存档的目录
  1. 查看 server.properties 服务器属性文件
shell 复制代码
vim 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(管理员)
  1. 地图管理
  • 进入 worlds 目录,可以发现文件夹里有一个目录 'Bedrock level' ,因为在 server.properties 文件里设定了 level-name (地图名称)为默认值 Bedrock level

  • 当修改 server.properties 文件中 level-name 为别的名称后,重启服务器, worlds 目录里就会出现新的相应目录:

  • 说明服务器里有两个地图存档。启动服务器的时候,服务器会运行名称为 level-name 属性值的地图存档,如果地图存档在 worlds 目录里不存在,则会新生成一个名为 level-name 属性值地图存档。

  • server.properties 中有两个属性是与新地图生成有关的:

属性名 默认值 描述
level-type 地图类型,合法值有:DEFAULT 默认(无限)FLAT(平坦)LEGACY 传统(有限)
level-seed 地图种子,合法值为任意字符串
  • 注意:
    • level-type 并非 server.properties 文件里原本就有的属性,你可以在任意行处添加这个属性。如果属性值为 DEFAULT 则无需添加。
    • 你需要在创建新世界(启动服务器)之前设置好这两个属性,两个属性无法作用于已经生成好的地图存档。
  1. 修改 gamerule
  • 在服务器窗口输入 gamerule ,可以查看全部规则
shell 复制代码
gamerule <属性名> <属性值>
  • 常用属性
shell 复制代码
# 开启死亡不掉落
gamerule keepinventory true
# 显示坐标
gamerule showcoordinates true
  1. 权限控制
  • 通过设置 server.properties 里的 default-player-permission-level 属性来确定新加入服务器的玩家的权限。
    • 该属性不会对已经加入服务器的玩家发生作用。
  • 如果有玩家连接进来或者退出了服务器,你可以看到类似的消息通知:
shell 复制代码
# 这里 connected 后对应的是玩家的 Xbox 账号名,而 xuid 后为账号对应的唯一 ID 
[INFO] Player connected: <玩家名>, xuid: <xbox id>
[INFO] Player disconnected: <玩家名>, xuid: <xbox id>
  • 指定玩家权限
    • 方法一: opdeop
      • 在服务器程序上执行 op <玩家名>deop <玩家名> 来 赋予 或 撤销 指定玩家的管理员权限,所指定的玩家必须在线。
    • 方法二:设置 permissions.json 文件,修改完成后需重启服务器生效
      • 通过 vim permissions.json 打开属性配置文件
      • 每个权限信息都有两个必填的属性:
        1. "permission" 玩家权限,合法值有:visitor(访客)member(成员)operator(管理员)
        2. "xuid" 玩家的 Xbox 账号 ID
      • 参考下列格式修改:
shell 复制代码
[
    {
        "permission": "operator",
        "xuid": "451298348"
    },
    {
        "permission": "member",
        "xuid": "52819329"
    },
    {
        "permission": "visitor",
        "xuid": "234114123"
    }
]

Part 3 管理服务器

一、手动备份服务器

  1. 在服务器文件夹外新建备份文件存放目录
shell 复制代码
cd ..
mkdir minecraft_backup
  1. 创建备份文件
shell 复制代码
vim backup_newest.sh
  • 在文件中写入备份指令:
shell 复制代码
cd ./minecraft
cp -r permissions.json allowlist.json worlds server.properties ../minecraft_backup
ls ../minecraft_backup
  • 按下 Esc 退出编辑模式,输入 :wq 保存并退出 Vim
  1. 启动备份文件
shell 复制代码
sh ./backup_newest.sh
  1. 成功显示四个备份文件表示备份成功

二、手动恢复服务器备份

  1. backup_newest.sh 同级目录创建备份恢复文件
shell 复制代码
vim recover_backup.sh
  1. 在文件中写入备份恢复指令:
shell 复制代码
cd ./minecraft_backup
cp -r * ../minecraft
ls -alh ../minecraft
  • 按下 Esc 退出编辑模式,输入 :wq 保存并退出 Vim
  1. 启动备份恢复文件
shell 复制代码
sh ./recover_backup.sh
  1. 检查四个备份文件日期,若为最新日期表示备份恢复成功

三、升级服务器

  • 升级服务器共分四个步骤:

    • 将重要文件备份到服务器目录外
    • 删除服务器目录内所有文件
    • 下载并解压缩新版本服务器文件
    • 还原备份
  • 注意:升级服务器之前请关闭你的服务器,避免不必要的损失。

  1. 备份重要文件
shell 复制代码
sh ./backup_newest.sh
  1. 删除服务器目录内所有文件,注意:一旦删除就无法恢复了
shell 复制代码
# 进入你的服务器目录
cd ./minecraft
# 删除目录内的所有文件,注意:一旦删除就无法恢复了
rm -rf *
  1. 下载新的服务器文件
shell 复制代码
# 进入你的服务器目录
cd ./minecraft
# 将 <SERVER_DOWNLOAD_LINK> 替换为具体的下载链接
wget <SERVER_DOWNLOAD_LINK>
  1. 解压缩服务器文件
shell 复制代码
unzip <SERVER_FILENAME>
  1. 删除压缩包(可选)
shell 复制代码
rm <SERVER_FILENAME>
  1. 还原备份
shell 复制代码
sh ./recover_backup.sh
相关推荐
。puppy44 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色1 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
EricWang13582 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
王解2 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github
油泼辣子多加2 小时前
2024年11月4日Github流行趋势
github
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
梓羽玩Python3 小时前
推荐一款用了5年的全能下载神器:Motrix!全平台支持,不限速下载网盘文件就靠它!
程序员·开源·github
JaneJiazhao4 小时前
HTTPSOK:SSL/TLS证书自动续期工具
服务器·网络协议·ssl
萨格拉斯救世主4 小时前
戴尔R930服务器增加 Intel X710-DA2双万兆光口含模块
运维·服务器
无所谓จุ๊บ4 小时前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派