公司要做棋牌类游戏。很多棋牌类公司都是在网狐框架基础上开发的,加上网狐又是免费开源的(赞一个),所以走读了下网狐源代码(6603),看看有什么可借鉴的。
人家都开源了,但好多个人却靠这卖钱,很看不过去。下载了个免费的,但缺少内核引擎的源代码,都开源了怎么还保留一部分哪亲?最后从别的地方下载了一份内核源代码,但都文件对不上,郁闷。
网狐框架虽然功能复杂繁多,但总体框架还是很清晰的。服务器端主要包裹:
1.登录服务器
唯一一个,启动时需要连接中心服务器。中转玩家的消息,相当于别的游戏服务器的gate。
2.中心服务器
全局服务器,登陆服务器和加载服务器都需要连接它。
3.加载服务器
游戏逻辑功能服务器,通过dll加载的方式加载具体游戏,每个游戏就是一个dll。它还调用另一个dll:游戏服务。该dll负责所有游戏统一都有的功能,例如桌子座位管理等。
内核引擎,看了下源代码,代码量还是很大的,采用了windows完成端口,socket是使用原始的,没有用MFC的。蛋疼的是消息格式解析都封装在内核引擎的dll里,没有源码还不知道他们的具体结构,而且消息采用了加密,客户端又不是非得用网狐的网络库,郁闷。