游戏服务器开发
文章平均质量分 71
_Journey
这个作者很懒,什么都没留下…
展开
-
游戏服务器端开发要点
摘要: 本文作为游戏服务器端开发的基本大纲,是游戏实践开发中的总结。第一部分专业基础,用于指导招聘和实习考核, 第二部分游戏入门,讲述游戏服务器端开发的基本要点,第三部分服务端架构,介绍架构设计中的一些基本原则。希望能帮到大家一 专业基础 1.1 网络1.1.1 理解TCP/IP协议 网络传输模型 滑动窗口技术 建立连接的三次握手与断开连接的四次握手 连接建立与断开过程中的各种状态 TC转载 2015-09-08 11:51:41 · 621 阅读 · 0 评论 -
游戏定时器的设计与实现
尽管如今游戏类型多种多样,各种玩法层出不穷,各种平台不断延伸,从游戏后台程序的角度来看,还是可以发现很多相通的地方。从数学模型上讲,任何程序都是一个状态机,准确的说是一个图灵机,总是在一边读写纸带一边机械地改变自身状态。驱动游戏Server这台“机器”不断运转的因素,主要有两个方面,一个是消息,一个是时间。消息主要体现于客户端侧的玩家操作,同时也有Server之间的交互,以及对进程的信号控制等。时转载 2015-10-14 16:30:12 · 2762 阅读 · 0 评论 -
网络游戏服务器架构设计
有一天,我突然不想做游戏了。于是写点开发总结,于是就有了这篇文档。入手 假如,我现在接手一个新项目,我的身份还是主程序。在下属人员一一到位之前,在和制作人以及主策划充分沟通后,我需要先独自思考以下问题:1、服务器跑在什么样的操作系统环境下? 2、采用哪几种语言开发?主要是什么? 3、服务器和客户端以什么样的接口通讯? 4、采用哪些第三方的类库?除了技术背景之外,考虑这些问题的时候一定要充分考转载 2015-09-08 15:47:53 · 1244 阅读 · 0 评论 -
游戏服务器架构设计(一)
服务器结构探讨 – 最简单的结构 所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。 好的结构不是一蹴而就的,而且每个设计者心中的那把尺都不相同,所以这个优秀结构的定义也就没有定论。在这里,我们不打算对现有游戏结构做评价,而是试着从头开始搭建一个我们需要的MMOG结转载 2015-09-08 11:54:36 · 981 阅读 · 0 评论 -
游戏服务器开发
登陆服务器判断账户合法性,如果合法的话,把session信息写入memcache,网关服务器收到玩家连接请求后,在memcache里查找是否合法玩家,防止非法连接。网关服务器要管理玩家连接,需要高并发,可以开多个scene mgr纯粹的转发消息功能数据库服务器纯粹的查询修改数据功能,如果成为瓶颈,则加缓存数据库服务器:屏蔽其他服务器的sql操作,或者把他叫做存储服务器。当期游戏主流的存储服务器是直接转载 2015-09-11 09:45:42 · 414 阅读 · 0 评论 -
移动端网络游戏服务器架构
移动端网络游戏主要分为两种类型,一种是弱联网的,一种是强联网的。 弱联网的游戏,主要是指对游戏数据实时性要求比较低的联网游戏,比如卡牌游戏,休闲游戏等。 强联网的游戏,主要是指对游戏数据实时性要求比较高的联网游戏,比如MMORPG,ARPG等。 要求客户端与服务器之间进行实时通信。 在这里主要是跟大家讨论一下如何架设具有负载均衡的游戏服务器,对于游戏服务器开发,自然而然就会涉及到分区,跨服,转载 2015-09-25 13:59:55 · 946 阅读 · 0 评论 -
游戏服务器框架
游戏服务器框架 平台: linux, windows 语言: c++ 协议: tcp1,网络 支持的网络模式: (windows: select, iocp), (linux: select, epoll) 在Windows下iocp是首选,在Linux下epoll是首选当前主流的开源网络库: boost asio asio without boost lib转载 2015-09-11 10:05:50 · 738 阅读 · 0 评论 -
谈游戏服务端开发(2 )
在浅(1)中,关于游戏世界管理模块和通讯模块我没有详细说明,本篇中将补充介绍。游戏世界管理模块: 本模块专门管理游戏世界里的数据模型,也就意味着,所有游戏里的对象基本上都由他来管理所以,此模块极为复杂,甚至在大型系统里,也可以把它再划分成很多子模块来协同工作。这个模块该怎么封装呢?首先,自然是需要一个消息处理类,因为游戏世界管理模块同样是需要消息驱动的,此模块每收到一个消息后,就察看消息类型,转载 2015-09-11 09:42:23 · 455 阅读 · 0 评论 -
浅谈游戏服务器端编程(1)
本游戏服务器端操作系统采用UNIX,因为UNIX是标准的服务器操作系统,可保证网络游戏的稳定性。因此,以下所有的编程都将针对UNIX进行。 服务器端的整体构架如下:通讯模块,消息传递模块,游戏规则模块,线程管理模块,游戏世界管理模块。 通讯模块: 通讯模块主要实现与客户端的通讯功能,实际上,通讯模块就是对套结字Socket的封装。Socket是UNIX下的网络通讯基础,对于一个Socke转载 2015-09-10 15:28:21 · 898 阅读 · 0 评论 -
游戏服务器架构设计(2)
登录服的设计 – 功能需求 正如我们在前面曾讨论过的,登录服要实现的功能相当简单,就是帐号验证。为了便于描述,我们暂不引入那些讨论过的优化手段,先以最简单的方式实现,另外也将基本以mangos的代码作为参考来进行描述。 想象一下帐号验证的实现方法,最容易的那就是把用户输入的明文用帐号和密码直接发给登录服,服务器根据帐号从数据库中取出密码,与用户输入的密码相比较。 这个方法存在的安全隐患实在太大转载 2015-09-08 11:55:37 · 500 阅读 · 0 评论 -
弱网络下的游戏服务器设计
1、背景随着手游市场的到来,越来越多的手机游戏通过移动网络和游戏后台通信。移动网络相对传统有线网络存在网速低、不稳定的特点,而且目前是没有技术可以规避这个问题。因此发生在手机游戏上最常见的问题就是网络延迟高、频繁的掉线,为了提升游戏的玩家体验,目前客户端的主要做法有:(1) 网络超时机制:当网络回包超过一定时间后,客户端不会一直等待,当做超时处理;(2) 消息重发机制:如果有消息发送,但是一直没有收转载 2015-10-14 10:02:40 · 2427 阅读 · 0 评论