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
选择 复制链接
# 将 替换为具体的下载链接
wget <SERVER_DOWNLOAD_LINK>
unzip <SERVER_FILENAME>
ls -alh
rm <SERVER_FILENAME>
vim startmc.sh
LD_LIBRARY_PATH=. ./bedrock_server
Esc
退出编辑模式,输入 :wq
保存并退出 Vimsh ./startmc.sh
bash: ./bedrock_server: Permission denied
# 赋予权限
chmod +x ./bedrock_server
# 然后再次尝试启动服务器
sh ./startmc.sh
Ctrl + C
停止服务器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
,可以查看全部规则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": "operator",
"xuid": "451298348"
},
{
"permission": "member",
"xuid": "52819329"
},
{
"permission": "visitor",
"xuid": "234114123"
}
]
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
保存并退出 Vimsh ./backup_newest.sh
backup_newest.sh
同级目录创建备份恢复文件vim recover_backup.sh
cd ./minecraft_backup
cp -r * ../minecraft
ls -alh ../minecraft
Esc
退出编辑模式,输入 :wq
保存并退出 Vimsh ./recover_backup.sh
升级服务器共分四个步骤:
注意:升级服务器之前请关闭你的服务器,避免不必要的损失。
sh ./backup_newest.sh
注意:一旦删除就无法恢复了
# 进入你的服务器目录
cd ./minecraft
# 删除目录内的所有文件,注意:一旦删除就无法恢复了
rm -rf *
# 进入你的服务器目录
cd ./minecraft
# 将 替换为具体的下载链接
wget <SERVER_DOWNLOAD_LINK>
unzip <SERVER_FILENAME>
rm <SERVER_FILENAME>
sh ./recover_backup.sh