BDS服务端 - 崩服 / 假死 / 卡顿情况排查与记录方法

Other BDS服务端 - 崩服 / 假死 / 卡顿情况排查与记录方法 v 1.0.1

Source of resources
Original
Copyright link
#
Supported version
  1. All the versions
【简介】

BDS 作为 mojang 官方发布的开服工具,为广大 minecraft 腐竹提供了简单方便、一键开服、全特性支持等众多福利
当然,在使用 BDS 以及 BDS 插件开服的过程中,难免会遇到一些如崩溃、假死、卡顿等等的特殊情况。一般来说,这些情况不太容易排查问题,可能有很多因素有如下这些:

1. BDS服务端自身稳定性问题
BDS服务端本身存在一些没有被测试团队发现的问题,即使是在纯净服运行过程中也会发生崩溃的情况,当然这种情况一般不多见,社区也会尝试进行修复

2. 存档出现问题,或者存档内特定元素过多,造成计算压力过大
由于服务器非正常关闭、外挂等等因素,有可能会导致你的存档出现问题,表现即为反复出现假死、崩溃、严重卡顿等问题,在更换存档之后就不再发生

3. 插件与加载器安装版本错误
在众多的崩溃问题中,绝大部分都是由这种原因引起。
正确配置服务端和插件对于萌新腐竹来说一般并不容易,而版本错误就会导致服务端崩溃的情况出现

4. 漏洞与黑客攻击
BDS社区的蓬勃发展,自然也会招来许多对BDS社区崛起有敌意的个人或团体的恶意攻击。社区已经对黑客发现的漏洞进行了多次封堵,但是ddos攻击和漏洞利用仍然是黑产团体攫取利益的首选方式。
如果你的服务器突然出现莫名崩溃或者假死的情况,不可以忽略这方面的原因。因此,请积极对照下方说明进行问题排查,只有从根源上解决问题,才能杜绝此类事件的不断发生

前往https://www.minebbs.com/resources/bds.3444/安装抓包工具,抓取数据包进行检查


【问题排查与解决】
下面,我就如何排查崩溃 / 假死等这方面的问题进行简单的说明



【服务器时不时出现崩溃】
崩溃,现象一般很明显。就是服务端正常运行过程中突然程序终止,玩家被全部踢出。再次重开服务端之后,玩家才可以重新进服,频繁的崩溃可能对服务端存档有负面影响
你可以按照如下顺序排查问题:


一. 开服是不是跑错程序了?LLPeEditor是否运行了?

首先,如果不运行LLPeEditor,LL加载器将无法正常工作。请不要忘记
其次,开服应该运行bedrock_server_mod.exe,而不是原版的bedrock_server.exe。


二. 检查加载器版本对不对
这一般是崩服的重头戏,60%的崩溃大多都是因为安装错误所导致的。
一般来说,插件加载器与BDS版本大多是一一对应的关系。如果你使用的是最新的BDS服务端,那升级的时候请务必不要忘记把插件加载器一起升级
如果这对于萌新腐竹来说过于困难,那可以先从尝试使用一些论坛的整合包开始,慢慢熟悉这个环境
另外,如果有些插件的版本错误,可能也会导致这种问题。各位腐竹如果遇到问题,需要首先耐心排查此类原因

三. 其他原因:查看崩溃日志确定问题
LL 加载器从 2.0 版本开始,内置了 CrashLogger 崩溃日志记录工具。每当发生一次崩溃,工具会将崩溃时服务端的堆栈以及转储信息保存下来,以便后续进行崩溃原因分析
打开 服务端根目录/logs/Crash 文件夹,可以看到每次崩服的时候记录的相关数据


提醒:
由于Fishing反作弊、CSR等插件的反调试壳与CrashLogger冲突,在检测到你安装了这些插件的时候,LL内置的CrashLogger将不会启动,在开服时也会输出黄字提醒腐竹注意这个问题。
由于崩溃记录工具无法启动,因此在崩服时,也无法记录相关崩溃日志信息,导致无法确定崩服原因。

由此发生的崩服请腐竹自行处理,开发者无法提供更多帮助。

将文件夹中的内容按时间排序,你可以将最近的几次信息保存,然后前往插件交流群寻求大佬帮忙查看原因

1642491084907.png

注意!一般插件群的大佬们都比较繁忙,因此,请尽量排查其他原因,彻底无法解决之后,再来寻求社区的帮助


四. 更多说明
目前,腐竹们广泛使用的LiteLoaderBDS系列插件加载器拥有SEH崩溃异常截获机制,相关机制的实现使得插件的稳定性大大提高,几乎不再可能出现由LL插件主动导致的崩溃。
所以,在排查过程中,请注意重点关注那些没有被LL系列保护机制保护到的插件
当然,如上所说,BDS本身也会发生崩溃。崩溃的原因也许很复杂,也许很难排查,各位腐竹如果遇到这样的问题,一定要保持耐心





【服务器时不时出现假死 / 卡顿】

常见假死的如后台运行命令没有响应,游戏内操作没有反应或者玩家掉出游戏,但进程仍在运行等等,也可能出现CPU满载、内存爆满等异常现象
常见的卡顿一般表现为CPU负载过大,游戏内TPS严重减低,影响玩家游戏体验
你可以按照如下顺序排查问题:


一. 服务器卡顿

服务器卡顿的可能原因有很多,在这方面,排查难度较大。可能导致卡顿的原因有:

1. 存档内实体过多 或者 大量实体堆积距离过近、发生挤压等等
2. 存档内存在频繁运行的、或者大型的红石机械、特性机械、卡服机器等等
3. 选用了性能不佳的插件
4. 网络带宽不够,或者网络质量问题
5. 服务器硬件性能不足

等等。
腐竹首先需要自行对上述原因进行自行排查,确定问题来源,以免后面产生不必要的麻烦


二. 误入选择模式
直接运行exe开服固然带来了很大方便,但是对控制台不熟悉的腐竹也有可能会误操作导致一些问题。目前来看,绝大多数的所谓”假死“都是由于误操作点击了控制台内部的黑色或者文字部分,导致进入了如图的”选择模式“

1642492544367.png
1642492548883.png


这时候,你会发现按一下回车(Enter)键,选择模式就退出了,游戏也恢复正常了
对于系统相关设施不太熟悉的腐竹,请务必避免误操作


三.其他原因:收集相关数据检查确定问题
不同于崩溃,假死 / 卡顿的进程仍然在运行当中,因此可以很方便地收集各类性能数据和堆栈信息,以查出问题的实际原因。
收集数据的工具主要有这两种:dump 转储文件,以及 WPR 性能分析记录。两者记录的重要信息有助于快速确定问题原因
按照如下步骤记录相关数据


1. 下载此资源的压缩包文件,里面包含了收集信息的工具
将工具下载后解压,备用


2. 记录dump转储文件
使用解压出来的 ProcDump 工具记录 dump 数据。双击解压出来的文件中的 DumpProcess.cmd 批处理文件


1643080876144.png

如果弹出如下提示信息窗口,点击Agree继续

1643080925246.png

接下来,此工具将会自动查找当前机器上的BDS进程,并调用 ProcDump 工具生成 dump 数据。生成完毕的Dump文件将被保存到 Result 文件夹 下。
到这里,dump转储文件的保存已经完成了



3. 记录WPR性能分析数据
使用解压出来的 WPR 性能分析工具记录性能分析数据。
在保证BDS服务端进程并没有崩溃关闭的前提下,打开WindowsPerformanceRecorder.exe 程序


如果程序打开失败,请尝试到此帖子下载安装VC++运行库后再次尝试
Visual C++ 微软常用运行库合集 - https://www.minebbs.com/resources/visual-c.37/

WPR 工具成功打开之后,会弹出一个简单的窗口

1642494411048.png

点击左下角的 More options 按钮,展开下方的 Resource Analysis 下拉栏,保证 First level triage 和 CPU Usage 项目处于选中状态
然后点击右侧的 Start 按钮开始记录。按钮上方会显示已经记录数据的时长


1642494497215.png

记录一段时间(如1分钟)过后,你需要点击Save按钮停止记录,进入保存页面
点击 Browser 按钮,选择前面提到的 Result目录,然后点击下方的 Save 按钮,保存数据。保存完毕之后,关闭程序


1642494755225.png

4. 寻求帮助
现在,你有了两份完善的错误与性能报告数据。你可以将它们打包,然后前往插件交流群寻求大佬帮忙查看原因
注意!一般插件群的大佬们都比较繁忙,因此,请尽量排查其他原因,彻底无法解决之后,再来寻求社区的帮助
  • 1642493943371.webp
    1642493943371.webp
    117.4 KB · Views: 729
  • 1642494027881.webp
    1642494027881.webp
    43.3 KB · Views: 719
Author
LiteLDev
Downloads
1,009
Views
7,126
First release
Last update

Ratings

5.00 star(s) 5 ratings

More resources from LiteLDev

Share this resource

Latest reviews

感谢liteloader开发团队的提醒。不过我也有个小建议,就是exe开服的腐竹们可以右键点击cmd窗口中把“快速编辑模式”禁用,就不会再因为点击窗口从而挂起服务器。当然啦,面板可以根源解决这个问题
好工具,顺便提醒一下,WindowsPerformanceRecorder也可以分析哪个插件比较占性能。
LiteLDev
LiteLDev
多谢fishing大佬提醒~
感谢Yq大大!
帮助广大服主
这可是个好东西啊
Back
Top Bottom