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
相关推荐
sean90810 分钟前
Ubuntu 26.04 终端显示冗余信息
ubuntu·终端·异常
是2的10次方啊18 分钟前
Grill Me:开工前先被拷问一遍
github
程序员-Benothing1 小时前
Linux文件查看与编辑:cat、less、tail、vim快速入门
linux·运维·服务器
小小的木头人9 小时前
Ubuntu Samba修改端口绕过445封禁挂载
运维·ubuntu
niucloud-admin11 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
陈陈CHENCHEN13 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
沸速存储15 小时前
AI 机器人靠哪些内存与存储驱动整机运行?
服务器·科技·嵌入式硬件·电脑
峰向AI15 小时前
Notion 太贵?这个 40K Star 的开源知识库,让你零成本搭建团队 wiki
github
fengyehongWorld15 小时前
Linux squid搭建基础代理服务器
linux·运维·服务器
逛逛GitHub16 小时前
37K Star 的 GitHub 开源项目开放 AI 网关,10 人团队免费用。
github