1
carlself 22 天前
战斗计算纯客户端不能防止玩家作弊,服务器还是要演算一遍吧。
|
2
nightwitch 22 天前
需要你整个游戏都按帧同步的方案来设计,可以确保每次录制的数据都能 100%重放。
现成的方案不太可能,这个和游戏架构强相关。 弱联机方案很多啊,没必要走重放,保证关键的资源结算,所有怪的出生死亡,角色的移动以及物品的掉落不要信任客户端的任何报告,都由服务器计算并同步给客户端,就能解决大多数问题了。 |
3
newtype0092 22 天前
没有即时操作逻辑的话,gameplay 的部分按你说的方式来写不就行了,这要还套现成方案那不就是换皮游戏?
|
4
lieb 22 天前
你战斗就一个随机数就能演到结果, 你回放就用战斗呗, 把战斗的所有变量。这场战斗的角色属性 天赋 装备 道具 技能顺序 buff //随机数 就传上去呗。
避免刷结算接口 , 你取一个平均时间不去响应呗,或者通过自己加密点时间数据、随机数所获得的最终结果数据 ,服务器能对比验证的。 但是感觉没必要,游戏还是得火,得好玩。 |
5
txhwind 21 天前
服务器自己记录种子再算一遍就行了吧
|
6
guanzhangzhang 21 天前
游戏物品和怪物每次进游戏/地图都是服务器端返回的随机的 objID
对象(怪物/玩家)移动 释放技能攻击对象 objID 对象(怪物/玩家)收到的伤害 使用物品 |
7
kepenj 21 天前
我们之前的项目就是客户端和服务器同一套逻辑(客户端 C#写完核心战斗逻辑后直接打 dll 扔给的 server 用),结果走的服务器结算。纯靠客户端无法防作弊。
|