第五章 日常维护与管理
恭喜你!至此,你的服务器已经成功搭建并运行起来。这一章会指导你如何让服务器稳定运行。
5.1 定期备份
Section titled “5.1 定期备份”备份是服务器管理中相当重要的环节,谁也不能保证服务器不会出现一些意外情况(如核弹爆炸,熊孩子毁图等),进行定期备份可以很大程度上减小这类恶性事件的影响。 一般对于正常运行的服务器,往往定期备份地图文件即可,这分为以下几种情况:
- 如果你的服务端根目录内同时包含 world 、 world_nether 、 world_the_end 多个世界文件夹,请备份这些所有文件夹。
- 如果你的服务端根目录内仅包含 world 这一个世界文件夹,备份这一个文件夹即可。 推荐将备份的地图文件打包为压缩包,并以备份时间命名,便于后续管理。
你可以写一个定时运行的程序,或者利用相应模组/插件来自动完成地图备份操作。具体内容可在网上自行搜索。
5.2 性能监控与优化
Section titled “5.2 性能监控与优化”服务器搭建成功后,保持其稳定流畅运行是下一个重要目标。这一小节可以帮助你发现瓶颈(如卡顿、延迟、崩溃),并找到解决方案。
5.2.1 核心概念:TPS
Section titled “5.2.1 核心概念:TPS”TPS (Ticks Per Second): 每秒游戏刻数
- 理想值为 20.0。这代表服务器一秒处理了20个游戏刻,游戏时间与现实时间同步。
- 低于 20.0意味着服务器变慢,游戏内会出现延迟(例如,方块破坏变慢、生物移动卡顿)。
- 低于 18.0玩家就能明显感觉到卡顿。
- 持续低于 15.0则属于严重性能问题。
5.2.2 监控方法
Section titled “5.2.2 监控方法”对于 Paper 等服务端,可能自带了/tps、/mspt等命令来查看服务器的状态,但这并不是其他服务端所拥有的。更为通用的方法,应当是安装一个专业的性能分析器,我们通常使用 spark 来完成这一操作。
spark 拥有插件和模组两种版本,可以适用于 Forge / Fabric / Bukkit / Sponge 等所有服务端(客户端中不需要安装也可以正常进入服务器)。
a) 安装 spark
- 从spark官网上下载你对应服务端的
.jar文件。适用于较老游戏版本的 spark 在页面下方。 - 将其放入服务端根目录下的
plugins(插件端) /mods(模组端)内。 - 启动服务器。 b) 使用 spark 进行诊断
- 实时查看性能指标:在游戏内或服务器输入
/spark health或/spark tps,可以快速查看服务器当前的TPS、 CPU利用率和内存使用量等信息。 - 生成性能分析报告:这是定位服务器卡顿原因的最强工具。
- 当服务器卡顿时,输入
/spark profiler start开始采样。 - 等待30-60秒,让采样器收集足够数据。
- 输入
/spark profiler stop停止采样, spark 会生成一个在线报告链接。 - 将这份报告扔给AI进行分析,或者发送给XDUCraft技术组。这通常就能够判断出是哪个模组/机器/实体/事件等造成了服务器卡顿。
- 当服务器卡顿时,输入
5.2.3 常见性能问题与优化方向
Section titled “5.2.3 常见性能问题与优化方向”通过分析报告,你通常可以发现这些问题:
- 实体/掉落物过多。
- 机器阵列过于复杂或密集。
- 某个插件/模组自身存在问题。
- 玩家跑图时区块加载过快。
- 内存/CPU性能不足。 有针对、有选择地进行优化,可以大幅提升泥服的玩家体验。
5.3 权限管理
Section titled “5.3 权限管理”5.3.1 基础管理
Section titled “5.3.1 基础管理”- 不要滥用 OP ,拥有 OP 意味着拥有服务器的一切权力,极不安全。
- 只将 OP 授予你完全信任的核心人员。
- 如果你需要给某个玩家配置单独的指令权限,可以采用下文的高级管理方法。
5.3.2 高级管理
Section titled “5.3.2 高级管理”有很多插件/模组可以实现权限的精确管理,以下以 LuckPerms 为例。 LuckPerms (LuckPerms官网)是一个非常出色的Minecraft权限管理插件/模组,你可以用其来精细化管理每个玩家的具体权限。(同样地,客户端中不需要安装此模组也能进入服务器) 关于 LuckPerms 的具体使用方法,可以自行上网搜索,或查看官方的入门教程,此处暂且略去。