摘要: 一,游戏服务器编程语言的选择 所谓的游戏服务器编程语言其实有很多,基本上任何一种语言都可以作为游戏服务器的编程语言。这需要根据自己游戏的类型和要求加以选择。比如C++,Java ,Erlang,go等等。目前我用过的只有C++和Java.但是以Java为主。所以接下来就以自己的经验,谈谈以Java为 阅读全文
posted @ 2017-08-27 17:04 养诚 阅读(6929) 评论(0) 推荐(0) 编辑
摘要: 一、物理架构说明 游戏系统组件包括: 服务器系统(中心服务器的控制系统,服务器登陆控制的系统,游戏登陆服务器,游戏房间控制的系统,游戏组件系统),游戏客户端(游戏大厅,游戏组件)。 数据库系统:用于保存用户的信息数据、游戏积分数据、游戏系统运行状态的数据以及系统日志数据等数据。 中心服务器的控制系统 阅读全文
posted @ 2017-08-27 16:59 养诚 阅读(1399) 评论(0) 推荐(0) 编辑
摘要: 主要有3类Database: ServerInfoDB,UserInfoDB和GameDB。 ServerInfoDB主要存储的是游戏列表的信息,UserInfoDB存储玩家的全局信息,而GameDB就是积分以及积分变化情况。下面分别加以描述。 1. ServerInfoDB ServerInfoD 阅读全文
posted @ 2017-08-27 12:52 养诚 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器的设计很不相同。这里先说一下服务器应用的详细设计。 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求 阅读全文
posted @ 2017-08-27 12:51 养诚 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 内核的几个组件被设计成Service,也就是说这几个模块都要实现如下接口: 图1 IService接口 Start方法用来启动服务。 Stop 方法用来关闭服务。 IsService 方法用于查询当前服务是否正在工作。 内核中的几个Service都不能够直接创建,Applications在使用这些S 阅读全文
posted @ 2017-08-27 12:50 养诚 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 先看一下,下面这张可能的部署图吧。 在这个图中,可以看到,客户端的形式多种多样,可能是pc上的一个可执行文件,也可能是通过浏览器打开的一个网页,甚至于手机客户端。它们都通过internet连接到游戏服务器。 在这个部署中有1个CenterServer,1个LogServer,3个LogonServe 阅读全文
posted @ 2017-08-27 12:49 养诚 阅读(1109) 评论(0) 推荐(0) 编辑
摘要: 首先要说明的是, 这个棋牌游戏的服务器架构参考了网狐棋牌的架构。在研究其服务器框架后发现,它的网络部分确实是比较优化的。它主要采用了Windows提供的IO完成端口来实现其网络组件。本服务器虽然参考了其设计,但是还是有很大的不同,因为这个服务器框架主要是用在linux系统之上,而网狐棋牌是基于Win 阅读全文
posted @ 2017-08-27 12:47 养诚 阅读(1597) 评论(0) 推荐(0) 编辑