站务联系

内容

(75)游戏服务器开发的基本体系与服务器端开发的一些建议(3)

发布时间:2021-03-12   来源:网络整理    
字号:

六,游戏管理工具

游戏管理工具是一个不断增跌的系统,因为它这些时侯是伴随着游戏中碰到的问题而实现的。但是依据经验,有一些功能是应当有的,比如:服务器管理,主要负责服务器的开启,关闭,服务器配置信息,玩家信息查询,玩家管理,比如踢人,封号;统计查询,玩家行为日志查询,统计查询,次留率查询,邮件服务,修改玩家数据等,根据游戏的不同要求,凡是可以能过工具实现的,都做到游戏管理工具上面。它是针对所有服务器的管理。一个好的,全的游戏管理工具,可以提升游戏营运中碰到问题处理的效率,为玩家提供更好的服务。

七,公共组件

公共组件是为游戏运行中提供公共的服务,比如,充值服务器,我们没应当一个口服一个储值,而且你也不能对外提供多个储值服务器地址,和第三方公司对接,他们绝对不干,这是要疯呀;还有营运弄活动时的礼包码,还有注册用户的管理,玩家一个注册帐号可以进不同的市等。这些都是针对所有区服提供的服务,所以要单独做,与游戏逻辑分开,这样便于管理,部署跟负载均衡。还有SDK的登入验证,现在手游比较多,与渠道对接里要进行验证,这常常是这些http请求,速度慢,所以这个也要拿出来单独做,不要在游戏逻辑中去验证,因为网路IO的访问时间是不可控制的,http是阻塞的恳求。

所以,综上来看,一个游戏服务器至少有几个大的功能模块组成:a,游戏逻辑安装工程;b,日志处理安装工程;c,充值安装工程;d,游戏管理工具安装工程;e,用户登录安装工程;f,公共活动安装工程等,根据游戏的不同还要,可能也有其它的。所在在架构的设计中,一定要考虑到系统的分布式布署,尽量把公共的功能拆下来做,这样可以提高系统的可扩展性。

服务器端开发的一些建议

本文作为游戏服务器端开发的基本大纲,是游戏实践开发中的小结。第一部分专业基础,用于指导应聘跟见习考评, 第二部份游戏入门,讲述游戏服务器端开发的基本要领,第三部份服务端构架,介绍构架设计中的一些基本原则。希望能帮至你们

一 专业基础

1.1 网络

1.1.1 理解TCP/IP协议

网络传输模型

滑动窗口技术

建立连结的三次握手与断掉连结的四次握手

连接推行与断掉过程中的各类状态

TCP/IP协议的传输效率

思考

1)请解释DOS防御与DRDOS防御的基本原理

2)一个100Byte数据包,精简至50Byte, 其传输效率提升了50%

3)TIMEWAIT状态如何解释?

1.1.2 掌握常用的网路通讯模型

Select

Epoll,边缘触发与平台出发点差别与应用

Select与Epoll的差别及应用

1.2 存储

计算机系统储存机制

程序运行时的显存结构

计算机文件系统,页表结构

内存池与对象池的实现原理,应用场景与差别

关系数据库MySQL的使用

共享显存

1.3 程序

对C/C++语言有较深的理解

深刻理解插口,封装与多态,并且有实践经验

深刻理解常用的数据结构:数组,链表,二叉树,哈希表

熟悉常用的算法及相关复杂度:冒泡排序,快速排序

二 游戏开发入门

2.1防御式编程

不要坚信客户端数据,一定要检测。作为服务器端你没法确定你的客户端是谁,你也不能假设它是善意的,请做好自我保护。(这是辨别一个服务器端程序员是否入门的基本标准)

务必对于函数的传人参数跟返回值进行合法性判定,内部子系统,功能模块之间不要很过信任,要求低耦合,高内聚

插件式的模块设计,模块功能的健壮性应当是内建的,尽量降低模块间耦合

2.2 设计方式

道法自然。不要迷信,迷恋设计方式,更不要生搬硬套

简化,简化,再简化,用最简略的方法解决问题

借大宝一句话:设计本天成,妙手偶得之

2.3 网络模型

自造轮子: Select, Epoll, Epoll一定比Select高效吗?

图说天下

×
二维码生成