UID1248
好友0
记录0
阅读权限20
最后登录2023-11-6
在线时间18 小时
无与伦比
- UID
- 1248
- 威望
- 35
- 银子
- 2
- 注册时间
- 2020-2-28
- 在线时间
- 18 小时
|
楼主 |
发表于 2020-3-14 11:08:00
|
显示全部楼层
1.单人PK的时候,由于不是fps游戏不需要那么严苛的判断,那么当A玩家延迟为100ms而B玩家延迟为500MS的时候。假设服务器时间为10,那么处理A包的时间为10.01,处理B包的时间为10.05。(这个是目前服务器处理的顺序)那么补偿之后,A依旧不变因为延迟低所以可以算作及时处理。那么处理B的协议的时候就需要找到10.01时候玩家的动作位置以及状态进行计算处理并且下发需要服务器新增延时数据大概3秒的缓存,而不是以当前时间进行计算处理。这种方法只能用于小规模的战斗除非服务器的代码优化非常好,要不然服务端根本无法承担这么复杂的计算
2.多人PK的时候,给协议定一个延迟阈值,比如我定了200ms的阈值。那么当延迟低于200ms的时候,比如A玩家延迟为100ms而B玩家延迟为500MS的时候。A在服务器收到消息后自动延迟到100ms之后处理,而B及时处理。这样做是为了缓解服务器在多人对战时候造成服务端负载问题,又可以有效减小延迟差距。当然没有上面那样绝对的公平但是也能做到相对公平。
这里我想说蜗牛服务端的开发人员后期基本没有去维护和防护这些东西,根据之前外挂的帖子来判断,还有多人对战帧率降低的问题来判断,九阴这个项目有着牛批的客户端优秀的策划,但是有着垃圾的服务端顺便待着翔一样的运营团队,能走到今天都是被自己活活作死的。
还有为了测试我自己开了两个号,因为测试需要我开了微调,当然这次我是自己和自己打,不要再封我号了。MD上次为了有足够的测试环境我拿我的大号去测试结果老赵把我给封了 |
|