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
相关推荐
lolo大魔王1 天前
Linux 文件系统超全面详解(原理、结构、挂载、分区、inode、日志、管理命令)
linux·运维·服务器
古月方枘Fry1 天前
MGRE实验
运维·服务器
博客-小覃1 天前
Zabbix之华为交换机的日志记录信息操作详细教程
服务器·网络·华为·zabbix
stolentime1 天前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
向量引擎1 天前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端
z200509301 天前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
lihao lihao1 天前
软硬链接
linux·运维·服务器
TOWE technology1 天前
智能安防监控系统如何做好防雷?——视频信号SPD综合应用方案解析
运维·服务器·防雷产品·信号保护·信号防雷·spd
雪度娃娃1 天前
存储器层次结构——磁盘硬盘存储
服务器·网络·数据库·计算机组成原理
fliter1 天前
从零开始,自己造一个可执行文件压缩器
github