年轻人的第一个mc基岩版伺服器
最近没事翻了翻自己腾讯云账号发现居然还有个学生主机闲置了,1C2G的配置。还差四个月就到期,闲置不如拿来做点事,备案当网站伺服器就别想了,来跑个伺服器吧。
动手之前,建议先将伺服器重置到Ubuntu最新的LTS版系统(当然你也可以用其他版本或者其他Linux发行版,不过本教程的步骤是在Ubuntu上进行的)。
安装环境
通过SSH连接伺服器,确保伺服器已经安装好了下面这些软件:
- wget
- unzip
- screen
没有的话运行下面的指令安装:
sudo apt-get install wget
sudo apt-get install unzip
sudo apt-get install screen
部署服务端
(执行后面这些命令时请确保你是管理员)
随后我们去minecraft.net获取最新版本的服务端应用程序。不要点击下载,右键绿色下载按钮获取链接(类似这样:https://minecraft.azureedge.net/bin-linux/bedrock-server-1.17.11.01.zip
),复制到剪贴板里。
使用sudo su
登录root用户。
新建一个档案夹:
mkdir mc
cd mc
下载服务端,将刚才复制的下载链接粘贴到wget
后面。
wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.17.11.01.zip #这里用你刚才复制到的地址替换
解压服务端软件包。
unzip bedrock-server-1.17.11.01.zip #压缩包名以你刚才下载的为准
直接运行以下命令运行服务端。
LD_LIBRARY_PATH=. ./bedrock_server
默认端口号为19132,伺服器地址就是你伺服器的ip。运行后保持ssh连接就可以尝试登录伺服器了。(登陆不上请调整你伺服器的防火墙,将相关端口放行)
此时停止伺服器有两种方法:
- 使用mc服务端指令stop(服务端自行停止)
- 断开SSH连接(强制停止)
- Ctrl+C(强制停止)
配置档案
解冻出来的档案夹里有一个叫server.properties
的档案,你可以使用你伺服器上的文本编辑器编辑它(这里使用vim)。
vim server.properties
server-name=bedrock #伺服器名称
gamemode=survival #游戏模式,允许的值有:survival、creative和adventure
force-gamemode=false #是否强制用户使用指定模式
difficulty=easy #游戏难度,允许的值有:peaceful、easy、normal和hard
allow-cheats=true #是否允许作弊
max-players=300 #最大玩家数,建议小伺服器设定到30人左右
online-mode=false #在线模式,启用后必须使用xbox live账号登录伺服器
white-list=false #白名单,启用后只允许白名单内用户登入
server-port=19132 #伺服器端口号
server-portv6=19133 #ipv6下伺服器的端口号
view-distance=32 #可视距离
tick-distance=4 #玩家周围加载区块的范围
值越大越影响伺服器性能(4到22)
player-idle-timeout=30 #玩家挂机30秒后会被踢出伺服器
max-threads=8 #伺服器最大线程数,设置为0自动调整(不建议)
level-name=Bedrock level #/worlds 档案夹中的地图档案夹名称,如果你编辑这个档案之前已经运行过一次服务端了,建议不要更改这个值,更改之后会重新生成世界
level-seed= #默认未赋值,可输入任意字符串指定生成世界使用的种子
default-player-permission-level=member #新玩家加入伺服器之后的角色,允许的值有:visitor、member和operator
texturepack-required=false #是否强制使用伺服器的材质包
content-log-file-enabled=false #是否开启日志记录
compression-threshold=1 #要压缩的原始网络有效负载的最小大小,建议不要改(取值范围1~65535
server-authoritative-movement=server-auth #这里应该是设置客户端像伺服器报告玩家位置的方式,是否需要伺服器反复确定,ping值较低的伺服器建议保持不变,允许的值有:client-auth、server-auth和server-auth-with-rewind
player-movement-score-threshold=20 #允许整数与false,报告异常行为之前所需的数据不一致的数量
player-movement-distance-threshold=0.3 #在检测到异常移动之前,服务端与客户端数值之差
player-movement-duration-threshold-in-ms=500 # 服务端和客户端报告位置的时间长度超时 (在 server-authoritative-movement 选项为"false"时失效)
correct-player-movement=false #如果为"true",则移动值超过阈值,客户端的玩家位置将被校正为服务端玩家的位置
server-authoritative-block-breaking=false #设置玩家在伺服器还是在本地挖方块,false只会将挖掘结果发送给伺服器,true会让伺服器同步玩家挖掘的进度。
更改你伺服器上的各种设置(当然你也可以通过服务端op你自己然后在游戏里更改其中部分世界设定),按下Esc并输入:wq
保存并退出。
后台运行
使用screen新建一个ssh窗口。
screen -s mc
这个时候屏幕被清空,说明你已经进入新建的ssh窗口了,在新screen窗口里输入刚才的启动命令:
LD_LIBRARY_PATH=. ./bedrock_server
确认伺服器正确启动后按下快捷键Ctrl+A+D关闭窗口,之后即使断开SSH连接也不会关闭游戏进程啦。
如果想要再次进入伺服器,在登录为root用户下输入:
screen -r mc
即可进入基岩版伺服器控制台,此时可以输入基岩版伺服器指令。按下Ctrl+A+D在保持伺服器运行的情况下安全退出控制台。
更新服务端版本
首先关闭伺服器,然后使用:
cd ..
退出到你基岩版伺服器程序运行的档案夹上一级。
随后创建备份档案夹,记下pwd
指令输出的路径,并再次回到基岩版伺服器运行目录。
mkdir mc_backup
cd mc_backup
pwd #记下此时输出的的路径
cd ..
cd mc
将下面四个档案(夹)复制到新档案夹下。
permissions.json
whitelist.json
/worlds
server.properties
cp -r permissions.json whitelist.json worlds server.properties /home/ubuntu/mc_backup #这里替换成刚才pwd指令输出的路径,
然后检查是否备份成功。
cd ..
cd mc_backup
ll
若显示档案夹内有刚才备份那几个档案则说明备份成功。
从备份档案夹返回,进入基岩版伺服器程序运行的档案夹,删除所有档案。
cd ..
cd mc
rm -rf *
接下来重复前述部署服务端的步骤,下载解压新版本。
最后将刚刚备份的档案还原到基岩版伺服器程序运行的档案夹中,并检查是否还原成功(记得确认日期)。
cd ..
cd mc_backup
cp -r * /home/ubuntu/mc_backup #这里替换成刚才pwd指令输出的路径
cd ..
cd mc
ll
到此教程结束。