游戏服务器之防御式开发
发布日期:2021-05-06 20:09:46 浏览次数:22 分类:技术文章

本文共 633 字,大约阅读时间需要 2 分钟。

游戏服务端承担着游戏复杂业务逻辑实现,玩家数据持久化等重要作用。作为一个合格的服务端业务狗,我们有必要遵守一些好的防御手段,让自己的代码少踩些坑。或者当出现了bug,能够在第一时间进行抢救。

下边一些开发原则是我的经验总结,欢迎补充,不喜轻喷o(^_^)o

  • 检查玩家请求数据的有效性
不管是做web后端,还是游戏后端开发,我们都要检查客户端请求数据的有效性。举个栗子,假设玩家在商店买了一个道具XX,数量为100。对于上传到服务端的参数,例如所购买的道具id和购买数量,我们需要重点检查购买数量参数。总不能玩家说要买100个,但是玩家的金币只能购买10个,服务端就傻傻地给了玩家100个道具吧!
有经验的程序员总是不厌其烦地告诉新手程序员,必须对传入函数的参数进行有效性检测。类似地,我们也必须对玩家的各种请求参数进行检测。很多外挂工具可以直接模拟游戏上一次发包内容,甚至通过对数据的分析进行参数篡改。所以,我们对于直接处理用户请求消息的逻辑方法,应该进行相关有效性检查。
  • 重视行为日志
策划童鞋的脑洞很活跃,有时一些业务流程性非常强,要达到目标往往需要多个步骤有序地完成。我们做开发的,在面对一些强流程性或者数据比较重要的逻辑,一定不要吝啬留下行为日志。打多点日志,出了问题,即使测试人员无法重现,我们也可以根据日志以及代码逻辑发现问题。
当然,打日志也是有技巧的。由于日志是给开发人员自己调试排错的,我们没必要像写作文一样下笔有神,我们只要打印一些关键的行为字眼
上一篇:游戏服务端框架之网关
下一篇:理解Go的Goroutine和channel

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月01日 07时02分24秒