文章目录
- Part 1 搭建服务器
- Part 2 配置服务器
- Part 3 管理服务器
- 一、手动备份服务器
- 二、手动恢复服务器备份
- 三、升级服务器
Part 1 搭建服务器
- 更新软件包信息
sudo apt-get update
sudo apt-get upgrade
- 安装所需工具
sudo apt-get vim
sudo apt-get install zip
sudo apt-get install unzip
sudo apt-get install libcurl4-openssl-dev
- 创建文件夹
# 切换到工作目录
cd entertainment/
# 创建服务器文件存放目录
mkdir minecraft
cd minecraft
- 下载服务器安装文件
- 进入我的世界官方下载页面,勾选
同意协议
,右击DOWNLOAD
选择复制链接
- 回到终端
# 将 <SERVER_DOWNLOAD_LINK> 替换为具体的下载链接
wget <SERVER_DOWNLOAD_LINK>
- 解压缩服务器文件
unzip <SERVER_FILENAME>
- 检查解压成功的文件
ls -alh
- 删除压缩包(可选)
rm <SERVER_FILENAME>
- 创建启动文件
vim startmc.sh
- 在文件中写入服务器启动指令:
LD_LIBRARY_PATH=. ./bedrock_server
- 按下
Esc
退出编辑模式,输入:wq
保存并退出 Vim
- 启动服务器
sh ./startmc.sh
- 如果提示没有执行权限
bash: ./bedrock_server: Permission denied
# 赋予权限
chmod +x ./bedrock_server
# 然后再次尝试启动服务器
sh ./startmc.sh
- 启动成功
- 按下
Ctrl + C
停止服务器
Part 2 配置服务器
- 服务器文件中比较重要的有:
server.properties 服务器属性文件
permissions.json 玩家权限文件
allowlist.json 玩家白名单文件
worlds/ 存放地图存档的目录
- 查看
server.properties
服务器属性文件
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(管理员) |
- 地图管理
-
进入
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
则无需添加。- 你需要在创建新世界(启动服务器)之前设置好这两个属性,两个属性无法作用于已经生成好的地图存档。
- 修改
gamerule
- 在服务器窗口输入
gamerule
,可以查看全部规则
- 可以在 命令 - Minecraft Wiki 查看具体属性的含义
- 更改属性(更改后无需重启服务器)
gamerule <属性名> <属性值>
- 常用属性
# 开启死亡不掉落
gamerule keepinventory true
# 显示坐标
gamerule showcoordinates true
- 权限控制
- 通过设置
server.properties
里的default-player-permission-level
属性来确定新加入服务器的玩家的权限。- 该属性不会对已经加入服务器的玩家发生作用。
- 如果有玩家连接进来或者退出了服务器,你可以看到类似的消息通知:
# 这里 connected 后对应的是玩家的 Xbox 账号名,而 xuid 后为账号对应的唯一 ID
[INFO] Player connected: <玩家名>, xuid: <xbox id>
[INFO] Player disconnected: <玩家名>, xuid: <xbox id>
- 指定玩家权限
- 方法一:
op
和deop
- 在服务器程序上执行
op <玩家名>
或deop <玩家名>
来 赋予 或 撤销 指定玩家的管理员权限,所指定的玩家必须在线。
- 在服务器程序上执行
- 方法二:设置
permissions.json
文件,修改完成后需重启服务器生效- 通过
vim permissions.json
打开属性配置文件 - 每个权限信息都有两个必填的属性:
- “permission” 玩家权限,合法值有:visitor(访客)member(成员)operator(管理员)
- “xuid” 玩家的 Xbox 账号 ID
- 参考下列格式修改:
- 通过
- 方法一:
[{"permission": "operator","xuid": "451298348"},{"permission": "member","xuid": "52819329"},{"permission": "visitor","xuid": "234114123"}
]
Part 3 管理服务器
一、手动备份服务器
- 在服务器文件夹外新建备份文件存放目录
cd ..
mkdir minecraft_backup
- 创建备份文件
vim backup_newest.sh
- 在文件中写入备份指令:
cd ./minecraft
cp -r permissions.json allowlist.json worlds server.properties ../minecraft_backup
ls ../minecraft_backup
- 按下
Esc
退出编辑模式,输入:wq
保存并退出 Vim
- 启动备份文件
sh ./backup_newest.sh
- 成功显示四个备份文件表示备份成功
二、手动恢复服务器备份
- 在
backup_newest.sh
同级目录创建备份恢复文件
vim recover_backup.sh
- 在文件中写入备份恢复指令:
cd ./minecraft_backup
cp -r * ../minecraft
ls -alh ../minecraft
- 按下
Esc
退出编辑模式,输入:wq
保存并退出 Vim
- 启动备份恢复文件
sh ./recover_backup.sh
- 检查四个备份文件日期,若为最新日期表示备份恢复成功
三、升级服务器
-
升级服务器共分四个步骤:
- 将重要文件备份到服务器目录外
- 删除服务器目录内所有文件
- 下载并解压缩新版本服务器文件
- 还原备份
-
注意:升级服务器之前请关闭你的服务器,避免不必要的损失。
- 备份重要文件
sh ./backup_newest.sh
- 删除服务器目录内所有文件,
注意:一旦删除就无法恢复了
# 进入你的服务器目录
cd ./minecraft
# 删除目录内的所有文件,注意:一旦删除就无法恢复了
rm -rf *
- 下载新的服务器文件
# 进入你的服务器目录
cd ./minecraft
# 将 <SERVER_DOWNLOAD_LINK> 替换为具体的下载链接
wget <SERVER_DOWNLOAD_LINK>
- 解压缩服务器文件
unzip <SERVER_FILENAME>
- 删除压缩包(可选)
rm <SERVER_FILENAME>
- 还原备份
sh ./recover_backup.sh