关于MLSV
-
想知道MLSV 的基本原理是什么
是直接对数据库有操作的么?
还是通过GMSV的 端口 然后GMSV对数据库有操作?
不知道那位大神能够解答下..
最好有基本的源码例子..
因为我自己想写一个...
-
数据库的话不通过mlsv进行操作,mlsv只进行一个数据缓存
然后gmsv和mlsv之间有socket连接,进行封包通讯,所有通讯都是明文进行的
推荐可以IDA看gmsv的mlsv通讯的几个函数,就能大致明白了
这里有一份妖城的BOSS易凡总结发布的封包信息,你可以参考一下
```
接入成功mlsv发送
ACServerLogin successfulGM发送消息
mlsvsend:Message system 0 cdkey RN的62进制 发言内容 1 0 1 1系统公告
Message system -1 yifan q 服务器已稳定.黄金迷宫开放\\c游戏恢复正常! 1 0 1 1登入游戏后mlsv发送
DBGetEntryString successful 在线与否(0或1)|等级|自定义称号|头像编号|-1| db_addressbook yifan#26 1 0
DBGetEntryString successful 0|33|爱情神射手|242600|-1| db_addressbook 369569655#2 1 0
人物设定自定义称号:
DBGetEntryString successful 1|100|ddd|241400|-1| db_addressbook yifan#26 1 0登陆后名片相关
DBGetEntryString db_addressbook kf12345#2 k 3玩家发言mlsv收到:
Message 角色名 -1 帐号 RN P|发言内容 4 1 0
0 1 2 3 4 5 6 7 8发送邮件(接收方离线的情况)mlsv收到gmsv的这样格式信息,然后如果mlsv发送给gmsv这样的信息,就可以再次发送邮件了。
Message fromcdkey RN Tocdkey RN 2009/\S8/27\S\S2:40|邮件内容|-1 0 1 0
0 1 2 3 4 5 6 7 8发送邮件(接收方在线的情况)mlsv会收到gmsv的反馈信息:
Message 发送方的角色名 -1 发送方的cdkey 发送方角色的RN 2009/\S8/27\S\S2:46|00|-1 4 1 0人物升级后mlsv会接收到提示:
DBUpdateEntryString db_addressbook haha333#1 线路|等级|自定义称号|头像图档编号|-1| o 0
Broadcast haha333 1 param 0DBUpdateEntryString db_addressbook yifan#26 1|100|dddwe|241400|-1| d 0 .
Broadcast yifan q param 0 .
DBGetEntryString db_addressbook allenliujunjie#2 t d .
DBGetEntryString db_addressbook qqqkqmcd#3 t d .
DBGetEntryString db_addressbook sz5uansh#3 t d .
DBGetEntryString db_addressbook yjm1124#2 t d .
MessageFlush yifan qDBUpdateEntryString db_addressbook xxlzwushi#2 1|87|................|200465|-1| k 0 .Broadcast xxlzwushi 2 param 0 .DBGetEntryString db_addressbook zycalex#2 y k .DBGetEntryString db_addressbook victorgzy#4 y k .DBGetEntryString db_addressbook 230204108f#2 y k .DBGetEntryString db_addressbook tmjt05#3 y k .DBGetEntryString db_addressbook add1314#2 y k .MessageFlush xxlzwushi 2 .
排行榜相关
金币排行榜
右键点富豪榜收到
DBUpdateEntryInt db_gold yifan#26 3EWO 18\\z见习护士\\z传说特鲁尼 2 2WO
看自己排名收到
DBGetEntryRank db_gold yifan#26 2 2Dd
看前一百位排名收到
DBGetEntryByCount db_gold 0 a 2 2Dd
消除登陆
DBDeleteEntryInt db_gold yifan#26 2 0gmsv接收到玩家客户端的三种状态(登陆时候、升级、修改称号)将三种状态发送给mlsv
mlsv根据收到的状态信息,更新tbl_addressbook信息。并发送DBGetEntryString successful给gmsv,gmsv负责更新在线玩家的状态显示。mlsv负责更新所有tbl_addressbook表有关此玩家的信息。mlsv还需要判断收到这个信息的时候,等级问题。
拥有家族和家族称号的玩家修改称号的时候:
DBUpdateEntryString db_guild GuildUpdateMember_12#3010007 1251731842 \\zlemonxjj\\z3\\z114\\zw2222d\\z84\\z3\\z240704 0 0
Broadcast GuildUpdateMember_12 cD2v guild 1
DBUpdateEntryString db_addressbook lemonxjj#3 3|84|w2222d|240704|10007| 0 0
登陆的时候
DBUpdateEntryString db_guild GuildUpdateMember_12#3010007 1251731842 \\zlemonxjj\\z3\\z96\\z3\\z240704 0 0
Broadcast GuildUpdateMember_12 cD2v guild 1
DBUpdateEntryString db_addressbook lemonxjj#3 3|84|专业砍牛9|240704|10007| 0 0
登出的时候
DBUpdateEntryString db_guild GuildUpdateMember_12#3010007 1251731842 \\zlemonxjj\\z3\\z96\\z0\\z240704 0 0
Broadcast GuildUpdateMember_12 cD2v guild 1
DBUpdateEntryString db_addressbook lemonxjj#3 0|84|w2222d|240704|10007| 0 0
DBUpdateEntryInt db_gold lemonxjj#3 2M3 84\\z封印术师范\\z水晶.柠檬 3 3ob
DBUpdateEntryString db_guild GuildUpdateMember_12#3010007 1251731842 \\zlemonxjj\\z3\\z32\\z0 0 0
Broadcast GuildUpdateMember_12 cD2v guild 1
DBUpdateEntryString db_addressbook lemonxjj#3 0|84|w2222d|240704|10007| 0 0PK后收到战绩相关
DBUpdateEntryInt db_duel yifan#40 sh 20 \\zkefu 1 2Kz
DBUpdateEntryInt db_duel wei0003#2 26p 20\\z迷失永属 2 2Ls```
-
dfffffffffffffffffffffffffffffffff??????????????????????????
-
dddddddddddddddddddddddddddda
-
dddddddddddddddddddda
-
hhhhhhhhhhhhhhhht55555
-
gfffffffffggf4
-
sssssswwwwwww
-
支持~~~~:D
-
谢谢分享~~~
-
學習了,感謝FREE大的指導~~~~~
-
顶顶顶啊顶顶顶