如何读取和解决 Metin2 Pvp 服务器中的 Syserr 错误?
这是Metin2 PVP服务器管理中遇到的几乎所有技术问题的原因,例如核心(频道)掉线、游戏卡顿、NPC窗口打不开或系统无法工作。 系统错误 保留在文件中。在本指南中,您将了解如何读取 syserr 文件以检测服务器端错误以及如何修复最常见的错误。
1.哪里可以找到Syserr文件?
在Metin2文件结构中,每个核心都有自己的错误日志。根据问题发生的阶段,应检查相关目录中的 syserr 文件:
- 对于登录问题(身份验证):
/usr/game/cores/auth/syserr - 对于通道问题(CH1、CH2 等):
/usr/game/cores/channel1/syserr - 对于普通地图(Game99):
/usr/game/cores/game99/syserr - 对于数据库错误 (DB):
/usr/game/cores/db/syserr
2. 最常见的 Syserr 错误和解决方案
Syserr 文件使用日志逻辑,底行始终显示最新的错误。以下是最常见的错误模式:
A) 数据库错误给出恢复/拒绝 (C_QueryResult)
DirectQuery failed(_query_...) - table 'player.item_proto' doesn't exist
解决方案: 此错误表明尝试查询的表已在 Navicat 中删除或名称不正确。您需要从备份(备份 SQL 文件)恢复表或通过 Navicat 修复它。
B) 错误列或值错误 (GetServerFactor)
Putty / Game: ConvertStringToTable() - ... Column count is illogical
解决方案: 在 Navicat 上item_proto或mob_proto它表明您在向表中添加新行时留下了缺失的列(Tab 键Shift),或者如果您使用基于 txt 的文件,则打乱了原始文件中的行顺序。检查您添加的最后一行。
C) 任务无法运行错误 (QUEST)
syserr: QUEST: wrong argument count for ...
解决方案: 您上传到服务器的 lua 或任务文件的函数中使用了丢失或不正确的参数。您必须打开相关任务代码,更正括号中的参数,然后通过 Putty 再次读取。
3. 阅读 Syserr 时要考虑的事项
- 并非每个 syserr 输出都是严重错误。一开始
[NOTICE]或包含仅供参考的警告的行不会使游戏崩溃。 - 如果您的通道 (CH) 突然关闭,则在关闭的第二秒之前的 syserr 行 “崩溃” 或 “致命错误” 您应该搜索这些短语。
本文是专门为PvPServer准备的。