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



    Part 1 搭建服务器

    1. 更新软件包信息
    sudo apt-get update
    sudo apt-get upgrade
    
    • 1
    • 2
    1. 安装所需工具
    sudo apt-get vim
    sudo apt-get install zip
    sudo apt-get install unzip
    sudo apt-get install libcurl4-openssl-dev
    
    • 1
    • 2
    • 3
    • 4
    1. 创建文件夹
    # 切换到工作目录
    cd entertainment/
    # 创建服务器文件存放目录
    mkdir minecraft
    cd minecraft
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 下载服务器安装文件

    download

    • 回到终端
    # 将  替换为具体的下载链接
    wget <SERVER_DOWNLOAD_LINK>
    
    • 1
    • 2

    SERVER_DOWNLOAD_LINK

    • 解压缩服务器文件
    unzip <SERVER_FILENAME>
    
    • 1

    SERVER_FILENAME

    • 检查解压成功的文件
    ls -alh
    
    • 1

    alh

    • 删除压缩包(可选)
    rm <SERVER_FILENAME>
    
    • 1
    1. 创建启动文件
    vim startmc.sh
    
    • 1
    • 在文件中写入服务器启动指令:
    LD_LIBRARY_PATH=. ./bedrock_server
    
    • 1
    • 按下 Esc 退出编辑模式,输入 :wq 保存并退出 Vim
    1. 启动服务器
    sh ./startmc.sh
    
    • 1
    • 如果提示没有执行权限 bash: ./bedrock_server: Permission denied
    # 赋予权限
    chmod +x ./bedrock_server
    # 然后再次尝试启动服务器
    sh ./startmc.sh
    
    • 1
    • 2
    • 3
    • 4
    1. 启动成功
      success
    • 按下 Ctrl + C 停止服务器

    Part 2 配置服务器

    • 服务器文件中比较重要的有:
    server.properties 服务器属性文件
    permissions.json 玩家权限文件
    allowlist.json 玩家白名单文件
    worlds/ 存放地图存档的目录
    
    • 1
    • 2
    • 3
    • 4
    1. 查看 server.properties 服务器属性文件
    vim server.properties 
    
    • 1
    • 常用的属性有:
    属性名默认值描述
    server-nameDedicated Server服务器名,即服务器列表中显示的名称,名称里不能带有分号
    gamemodesurvival游戏模式,合法值有:survival(生存)creative(创造)adventure(冒险)
    difficultyeasy游戏难度,合法值有:peaceful(和平)easy(简单)normal(普通)hard(困难)
    allow-cheatsfalse启用作弊,合法值为 true 或 false
    max-player10玩家数量上限,值必须为正整数
    allow-listfalse启用白名单,如果为 true 将只允许 allowlist.json 文件里的玩家连接服务器
    server-port19132服务器端口号
    view-distance32视距,允许玩家游戏加载的最大区块,数值应当大于等于 5
    player-idle-timeout30自动踢出玩家时间,值必须为非负整数(单位:分钟)
    level-nameBedrock level地图名称,名称里不能带有分号且应当可以作为合法的文件名
    level-seed地图种子,用来随机生成地图,值可以为任意字符串
    default-player-permission-levelmember默认玩家权限,新玩家加入服务器的权限,合法值有: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 ,可以查看全部规则

    gamerule

    gamerule <属性名> <属性值>
    
    • 1
    • 常用属性
    # 开启死亡不掉落
    gamerule keepinventory true
    # 显示坐标
    gamerule showcoordinates true
    
    • 1
    • 2
    • 3
    • 4
    1. 权限控制
    • 通过设置 server.properties 里的 default-player-permission-level 属性来确定新加入服务器的玩家的权限。
      • 该属性不会对已经加入服务器的玩家发生作用。
    • 如果有玩家连接进来或者退出了服务器,你可以看到类似的消息通知:
    # 这里 connected 后对应的是玩家的 Xbox 账号名,而 xuid 后为账号对应的唯一 ID 
    [INFO] Player connected: <玩家名>, xuid: <xbox id>
    [INFO] Player disconnected: <玩家名>, xuid: <xbox id>
    
    • 1
    • 2
    • 3
    • 指定玩家权限
      • 方法一: opdeop
        • 在服务器程序上执行 op <玩家名>deop <玩家名> 来 赋予 或 撤销 指定玩家的管理员权限,所指定的玩家必须在线。
      • 方法二:设置 permissions.json 文件,修改完成后需重启服务器生效
        • 通过 vim permissions.json 打开属性配置文件
        • 每个权限信息都有两个必填的属性:
          1. “permission” 玩家权限,合法值有:visitor(访客)member(成员)operator(管理员)
          2. “xuid” 玩家的 Xbox 账号 ID
        • 参考下列格式修改:
    [
        {
            "permission": "operator",
            "xuid": "451298348"
        },
        {
            "permission": "member",
            "xuid": "52819329"
        },
        {
            "permission": "visitor",
            "xuid": "234114123"
        }
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    Part 3 管理服务器

    一、手动备份服务器

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

    backup

    二、手动恢复服务器备份

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

    三、升级服务器

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

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

    1. 备份重要文件
    sh ./backup_newest.sh
    
    • 1
    1. 删除服务器目录内所有文件,注意:一旦删除就无法恢复了
    # 进入你的服务器目录
    cd ./minecraft
    # 删除目录内的所有文件,注意:一旦删除就无法恢复了
    rm -rf *
    
    • 1
    • 2
    • 3
    • 4
    1. 下载新的服务器文件
    # 进入你的服务器目录
    cd ./minecraft
    # 将  替换为具体的下载链接
    wget <SERVER_DOWNLOAD_LINK>
    
    • 1
    • 2
    • 3
    • 4
    1. 解压缩服务器文件
    unzip <SERVER_FILENAME>
    
    • 1
    1. 删除压缩包(可选)
    rm <SERVER_FILENAME>
    
    • 1
    1. 还原备份
    sh ./recover_backup.sh
    
    • 1
  • 相关阅读:
    Selenium上传文件有多少种方式?不信你有我全
    【华为OD机试真题 python】 滑动窗口最大值【2022 Q4 | 100分】
    第七章(1):深度神经网络的基本结构、训练方法和在机器学习中的重要性
    给 hugo 博客添加搜索功能
    20个实用Python自动化脚本技巧 + 推荐:《Python网络爬虫入门到实战》宝典
    OCI 发布了容器运行时和镜像规范!
    [OC学习笔记]属性关键字
    前端开发:JS中字符串拼接的总结
    “信任机制”才是数字化时代发展中的精髓所在
    Linux中组的管理
  • 原文地址:https://blog.csdn.net/qq_43377653/article/details/133867947