比如《饥荒》:
这种同步机制是如何做到的? 小菜一枚,认为似乎可以用多线程解决这个问题。
不知各位大神有没有什么好的建议?
1
lancerliu 2016-06-30 20:29:13 +08:00
网游,计算和数据都在服务器上,只有客户端和服务器的数据同步,客户端和客户端之间没关系
|
3
yeyeye 2016-06-30 23:53:31 +08:00 1
网游一般有两种情况 一种是一楼说的 所有的运算都交给服务器来做 这样不容易出外挂 就算有挂也是相当于模拟鼠标键盘去操作(虽然做外挂可以搞出很多功能 但是都没办法做出变态的功能 不像下面说的这个 挨打不掉血 玩家打不死)
还有就是比如泡泡堂这样的游戏(比较老了) UDP 互相传数据 这样的好处是速度快 延迟低 缺点是跨运营商就网络差了 而且容易有外挂(很多变态功能) 同时多个客户端会对其他玩家客户端行为进行检测 比如一旦发现明明没捡加速度的道具 却跑得飞起(还有其他一系列的) 妥妥的就是开挂了 会和直接服务器报告 然后服务器会踢掉这个玩家(也有外挂利用这个机制 直接踢掉普通玩家的) 想要确认其实很简单 开个防火墙看数据发向了谁的 IP 如果是第一种 只会发给服务器 IP 一查归属地你就知道结果的 如果第二种 所有玩家都会和你连在一起 以前利用这个泡女孩子(因为可以通过 IP 直接判断归属地 知道对方来自哪里) |
5
yeyeye 2016-07-01 09:46:00 +08:00
@wysnylc 多看几次 你就知道服务器 IP 段有哪些了 其他一堆全国各地随机的 IP 段 当然就是用户(一般一人一个 IP ) 至于你说的那个全国飘 我只能和你说 我一般在电信区玩 你其他服务商的网络来这个区玩 卡都卡死你 玩不成的 用这种便宜宽带的 判断不了就算了呗 又不是要保证每个都精准
|
6
lzhr 2016-07-01 10:12:41 +08:00
有功夫可以拿游戏源码来看看,比如《传奇》
|