您当前的位置:首页 > 其他技术 > 其他技术

千年TGS服务器日志详解

本文出处:网游动力作者:本站发布时间:2011-02-12阅读次数:

友情提示:修改sdb文件,建议使用sdb修改器。


注意:每个文件,每个逗号都很重要;
只要其中哪部分少一个逗号或多一个逗号,都很容易发生错误。


★★★★★ 一、常见 TGS1000.LOG 错误类型 ★★★★★

因不同的错误,错误中括号“(xxxxx)”里面内容代表多种类型,分别是:

1.玩家角色名称
2.服务端物品名称(Item)
3.服务端怪物名称(Monster)
4.服务端NPC名称(NPC)
5.服务端建筑物名称或地图参数(DynamicObject & SMP)
6.服务端地图名称或编号、座标(MAP)
7.服务端武功名称(Magic)(含怪物使用武功MagicParam)


★★★★★ 二、「Not Found」系列(缺少东西 系列)★★★★★

<1>. Item Not Found + 物品名(主要文件:Item.sdb)

错误例子:Item Not Found 骨头二
错误说明:没有找到物品数据{item.sdb没有对应的物品数据(含GM @item 指令)}
错误原因:
1. GM使用命令“@item 骨头二”(但Item.sdb没有“骨头二”这个物品)。
2. Item.sdb “骨头二”物品名被修改或删除,导致同步DB数据库时找不到“骨头二”物品。

解决方法:
1. 打开 Item.sdb 添加“骨头二”物品。
2. 只需在原来摆放“骨头二”的物品格换上新的物品,然后等DB同步后就可恢复正常。(建议重新上下线)

注意:如果出现“Item Not Found 1”后面是数字,不排除是“错误原因1”引起;

还有可能是:
1. npc出售物品内没有而报错
2. 人型怪物穿戴装备值内没有找到对应item
3. 刷建筑文件内掉落物品没有对应item
4. 脚本内有某语句运用到没有对应item数据的物品


<2>. Magic Not Found + 武功名(主要文件:Magic.sdb)

错误例子:Magic Not Found 闪光剑破解
错误说明:没有找到武功数据{Magic.sdb没有对应的武功数据}
错误原因:
1. 较多发生在更换不同类型的服务端。
2. Magic.sdb “闪光剑破解”武功名被修改或删除,导致同步DB数据库时找不到“闪光剑破解”武功数据。

解决方法:
1. 打开 Magic.sdb 添加“闪光剑破解”武功数据。
2. 只需在原来学习“闪光剑破解”的武功栏换上新的武功,重新上下线可恢复正常。
(可以把其他武功图标拖到原来“闪光剑破解”图标处进行更新DB)

注意:item.sdb含有“闪光剑破解”武功,但Magic.sdb没有“闪光剑破解”武功。
玩家怎么双击武功书也是无法学习,这时日志也会出现“Magic Not Found 闪光剑破解”


<3>. MonsterData Not Found + 怪物名(主要文件:Monster.sdb)

错误例子:MonsterData Not Found 犀牛二
错误说明:没有找到怪物数据{Monster.sdb没有对应的怪物数据}
错误原因:较多发生过分善用复制粘贴,例如活动或地图刷怪之类忘记添加怪物而引起。

解决方法:打开 Monster.sdb 添加“犀牛二”怪物。

注意:最容易引起错误源头:刷怪文件 SettingCreateMonsterX.sdb(X代表地图编号)


Name,MonsterName,X,Y,Count,Width,Member,Script,
1,犀牛二,500,500,1,1,,,


但没有注意Monster.sdb是否有“犀牛二”这怪物。


<4>.Magic Param Not Found + 武功名(主要文件:MagicParam.sdb & Magic.sdb)

错误例子:Magic Param Not Found 幻影术
错误说明:没有找到怪物使用武功数据{MagicParam.sdb设置不当或Magic.sdb没有对应的武功数据}
错误原因:当怪物使用武功时日志就会出现错误,MagicParam.sdb设置怪物使用武功,但Magic.sdb没有该武功数据而引起。

解决方法:打开 Magic.sdb 添加“幻影术”武功。


<5>. CheckItemData Not Found + 物品名(主要文件:Item.sdb &  Monster.sdb)

错误例子:CheckItemData Not Found 肥肉
错误说明:没有找到物品数据{Item.sdb没有对应的物品数据}
错误原因:当怪物掉落物品时日志就会出现错误。

解决方法:打开 Item.sdb 添加“肥肉”物品,或修改 Monster.sdb 删除怪物掉落“肥肉”。


<6>. .Script Not Found(主要文件夹:Script)

错误说明:没有找到脚本{Script文件夹没有对应的脚本}
错误原因:Script.sdb添加了脚本,但Script文件夹没有脚本

解决方法:将脚本添加到Script文件夹内

注意:Script.sdb里面编号请勿断号,例如下面:(请留意蓝色字)


Name,FileName,Desc,
1,system.txt,system,
3,一级捕盗大将.txt,,


这样也会引起脚本错误,NPC窗口错乱或点击没有任何反映。


<7>. Item Not Found SetValue

错误说明:“套装属性”错误{Item.sdb无法识别未知属性(Attribute:5)}
错误原因:当角色穿上英雄套装(4件套)时日志就会出现错误。

解决方法:打开 Item.sdb 清除“Attribute:5”的英雄套装或不穿戴4件套英雄装备。

四件套:头盔、护腕、战靴、铠甲。


<8>. DynamicObjectData Not Found

错误原因:缺少建筑物数据。
解决方法:检查DynamicObjectData.sdb是否缺少数据。


或者检查CreateDynamicObjectX.sdb(X代表地图编号)
是否添加DynamicObjectData.sdb没有的数据(删除即可)。


★★★★★ 三、「T开头」系列 ★★★★★

<1>. TBasicObject.SendLocalMessage (怪物名称) failed, msg: 23

错误说明:角色经验值已满,无法再领取更多经验。
错误原因:服务器设置经验过高。
解决方法:重新登录角色。

注意:目前除重新登录角色解决这个问题,还没有其他理想的解决方法;
就算是经验1倍,也会出现这种错误,只是早晚问题。


简单举例:如果角色经验槽是100W。当设置服务器经验为99999时;
大概到第3个武功左右就会出现一个武功明明满了,但显示98.XX左右的数字。
这时刚才打的怪物不掉血,怪物也不理你转头离开。


(击打一次获得99999经验,大概10次就封顶100W,每武功大概是3次或4次才达到99.99)
(所以大概到第三个武功或第四个武功时,会发生武功数据显示异常)
(最后:这是一个举例)


<2>. TFieldPhone.UnRegisterUser () failed

错误原因:无法更新跳点信息或建筑物刷新异常。
解决方法:检查DynamicObject或CreateGate文件。

注意:如果是关闭TGS才出现,大致是跳点设置问题。


<3>. TUser(角色名称).MessageProcess () faile

错误说明:完成首次登录任务,二次登录因无法继续接受任务而无法处理。
错误原因:information.txt没有内容,完成“任务点:1”后,二次登录每角色首次登录会生成3个DUMP.BIN文件。
解决方法:information.txt添加内容,或建立“GameAgree.txt”文本(注意必须有内容)。

引言(隐龙):TGS无法判断现场内存信息,只能通过产生DUMP.BIN文件还原当时程序的内存状态,


<4>. TUser.Update (角色名称) exception

错误原因:TGS没有LOG文件夹
解决方法:建立LOG文件夹


<5>. TMonster.Start (怪物名称,地图编号,座标X,座标Y) failed los_init

错误说明:怪物刷新失败
错误原因:

1. 刷新怪物当前座标刚好被建筑物、怪物、玩家或NPC占用,导致无法正常刷出而日志出错。
2. 刷新数量过多或范围过大而导致部分怪物无法正常刷出。

解决方法:修改刷怪文件,减少数量或刷新范围

SettingCreateMonsterX.sdb(X代表地图编号)

Name,MonsterName,X,Y,Count,Width,Member,Script,
1,无敌奶牛,500,500,10,30,,,


<6>. TMonster.FieldProc (怪物名称) failed except msg=107

错误原因:脚本错误
解决方法:检查“Script”脚本是否对应好,或者检查语句是否有误。


<7>. TNpc.FieldProc (NPC名称) failed except msg=107

错误原因:脚本错误
解决方法:检查“Script”脚本是否对应好,或者检查语句是否有误。

★★★★★ 三、其他 ★★★★★

<1>. basicobject putresult - nihao (ongetresult:135) 「HELP发送nihao命令 」

错误说明:聊天窗口出现“窗口已打开无法变更”提示。
错误原因:HELP与Script脚本之间没有对应好。
解决方法:检查HELP菜单和Script脚本之间关联。


★★★★★ 四、TGS1000.exe 「View -> View Log」★★★★★

下面举例:View Log 窗口显示

[下午 06:54:17] MDGCT:4
[下午 06:54:18] MPC:eruda(长城以南,679,804) 1
[下午 06:54:18] MDUT:eruda(长城以南,679,804) 2
[下午 06:54:21] MVC:石巨人(长城以南.501.501) 2
[下午 06:54:31] MVC:风兄(长城以南.680.804) 3
[下午 06:55:08] MPC:eruda(长城以南,680,804) 2
[下午 06:55:08] MDUT:eruda(长城以南,679,805) 3
[下午 06:57:41] MDUT:eruda(长城以南,682,805) 4
[下午 06:57:42] MVC:石巨人(长城以南.680.805) 4
[下午 06:58:22] MDUT:eruda(长城以南,678,804) 7
[下午 07:00:01] MDGCT:5
[下午 07:01:20] MVC:石巨人(长城以南.677.803) 5
[下午 07:11:05] MDUT:eruda(长城以南,680,804) 42
[下午 07:31:33] [2011-01-07 下午 07:31:33] DT : 10 (长城以南-MONSTER-石巨人 498:501)
[下午 07:31:51] MDGCT:44
[下午 07:32:25] [2011-01-07 下午 07:32:25] DT : 9 (长城以南-MONSTER-石巨人 500:497)
[下午 07:33:02] [2011-01-07 下午 07:33:02] DT : 36 (GATE- 0:0)
[下午 07:33:44] [2011-01-07 下午 07:33:44] DT : 5 (GATE- 0:0)
[下午 07:34:25] [2011-01-07 下午 07:34:25] DT : 6 (GATE- 0:0)
[下午 07:34:33] [2011-01-07 下午 07:34:33] DT : 5 (GATE- 0:0)
[下午 07:35:43] [2011-01-07 下午 07:35:43] DT : 7 (GATE- 0:0)
[下午 07:35:56] [2011-01-07 下午 07:35:56] DT : 45 (长城以南-MONSTER-石巨人 497:498)
[下午 07:36:38] [2011-01-07 下午 07:36:38] DT : 6 (GATE- 0:0)
[下午 07:37:12] [2011-01-07 下午 07:37:12] DT : 14 (长城以南-NPC-枪卫兵 588:75)
[下午 07:38:13] [2011-01-07 下午 07:38:13] DT : 11 (长城以南-NPC-剑卫兵 447:198)
[下午 07:38:21] [2011-01-07 下午 07:38:21] DT : 13 (长城以南-MONSTER-石巨人 501:502)
[下午 07:38:25] [2011-01-07 下午 07:38:25] DT : 14 (GATE- 0:0)
[下午 07:39:49] [2011-01-07 下午 07:39:49] DT : 17 (GATE- 0:0)
[下午 07:40:10] [2011-01-07 下午 07:40:10] DT : 8 (GATE- 0:0)
[下午 07:40:19] [2011-01-07 下午 07:40:19] DT : 31 (GATE-高丽剑士宅(室内) 442:179)
[下午 07:40:34] [2011-01-07 下午 07:40:34] DT : 5 (GATE- 0:0)


当“Log”显示错误,源头是“Process Count Per Sec”性能突然下降。
导致同步数据出现延迟,无法正常处理。
由于不是常规错误,所以“TGS1000.LOG”是没有显示这些错误。

例:(通过上面内容)

<1>.

GATE-高丽剑士宅(室内)442:179
GATE-0:0

这个是我由于还没有设计好地图,已设置跳点,但目的地座标是空的。
所以搜索“高丽剑士宅(室内)”跳点,跳点座标是“442:179”。
由于没有设置目的地座标,所以自动跳当前地图“0:0”座标。


<2>. 长城以南-MONSTER-石巨人 498:501

由于延迟关系,在 地图:长城以南,座标:498:501,类型:怪物;
名称:石巨人,延迟动作或未能作出反映。


★★★★★ 结语 ★★★★★

View Log所显示的错误主要是服务端与客户端之间通信出现延迟而引起。
而这个主要是TGS1000.exe“Process Count Per Sec”性能处理突然下降原因。
因为不是常规设置错误,所以“TGS1000.LOG”是不会出现这些错误信息。