游戏服务器
文章平均质量分 50
阿蓬江
.。。。。。。。。。。。。。。。。。。。
展开
-
TCP选项:TCP_NODELAY和TCP_CORK
Nagle算法 TCP_NODELAY和TCP_CORKNagle算法根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用 程序系统的效率。Nagle算法,由Ford Aerospace And Communications Corporation Conge转载 2012-05-02 18:51:49 · 860 阅读 · 0 评论 -
竞技场积分系统ELO详解
作者kane-zhu 转自:http://hi.baidu.com/wuaiyishang/blog/item/0ea6ec8dde90d76d9f2fb463.html来源:http://bbs.ngacn.com/read.php?tid=1284872&fpage=1Elo rating system这个系统用来计算玩家的相对技术等级,通常用于博弈类游戏,比如国际象转载 2012-02-03 22:10:59 · 4910 阅读 · 1 评论 -
套接口的读写时间
游戏服务器编程时,何时去读写套接字,读完后又该怎么操作?现在的做法是,每2ms从套接口epoll_wait出套接口事件。对于写事件,直接发送数据;对于读事件,根据这个服务器的功能决定这个消息的处理,对于网关这一类的服务器,直接解析消息,进行转发,对于其他服务器,把这些消息放进一个队列里面,其他线程来对这些消息进行处理;其他,像错误事件这些,关闭套接口原创 2012-02-29 20:43:35 · 783 阅读 · 0 评论 -
zlib基本使用
不关心算法细节,直接用,拿来主义,我们可以直接使用zlib的压缩解压的接口的,但是为了使用我们自己的内存管理器,所以用自己的接口了。voidpf myalloc(voidpf opaque,unsigned num, unsigned size)//内存分配{ return (voidpf) mymemallocator(num*size);}void myfree(voi原创 2012-02-29 20:20:34 · 1064 阅读 · 0 评论 -
数据服务器/平台服务器
在我们的游戏服务器中,与数据库打交道的服务器有数据服务器、会话服务器。 其中会话服务器,需要去存取游戏区中所有玩家的信息,读取所有玩家基本信息到数据库中,这个需要看功能的实现了,比如玩家A给离线玩家B发了一条消息,那么等这个玩家上线后,需要把这条消息发送到B。 数据服务器: 它的作用就是存取游戏中所有的信息,减少其他服务器的IO操作这样我原创 2012-03-26 20:21:40 · 1451 阅读 · 0 评论 -
网关服务器
之前想着要把什么什么给写一下,每次都太懒了,都是想起了才来写一下。今天只讨论游戏服务器的网关服务器。 1.转发 转发客户端和服务器间的消息,网关将场景、会话、数据、名字、平台等服务器的数据转发给客户端,接收客户端的数据,把消息转发给相应的服务器。很多时候,我们需要将消息发给所有的用户,如果让会话服务器来执行这个功能,如果这个时候服务器很负载很大,有2万人在线,那么就原创 2012-03-13 21:19:16 · 16611 阅读 · 6 评论 -
NpcServer设计
NpcServer,Npc服务器,负责Npc的AI处理。 把关于Npc的AI单独拿出来处理,主要是基于效率的考虑,并且如果npcserver宕机,马上重启,并不导致其它服务器宕机。把npc的处理从场景中拿出来,场景上的开销主要就是和NpcServer的数据交互了,NpcServer和场景服务器上,不管是哪个服务器上的npc数据变化,都要同步到另一个服务器上。在npc处理中,np原创 2012-03-31 21:43:59 · 2587 阅读 · 0 评论 -
服务器启动关系
游戏中几个服务器的启动,是有严格的优先顺序的,一个服务器中Super Record Session都是唯一的其他几个服务器不唯一 SuperServer >RecordServer > SessionServer > SceneServer > NpcServer >GatewayServer 1. SuperServer首先启动,它需要去连接外面的服务器,原创 2013-01-12 14:57:35 · 1599 阅读 · 2 评论