服务器引擎稳定性测试
服务器引擎对缺陷比较敏感,为了确保服务器引擎的稳定性要进行广泛的测试。测试的时候我们构建了各种网络环境,也用到了各种网络路由器和虚拟设备。
我们自己开发的分布式单元测试程序可以同时进行多种测试案例。
使用Proudnet的FPS 游戏 S4 联盟
智能手机、无线网络
与PC 网络游戏开发不同的是要实现智能手机和PC之间的multi play。在智能手机上实现multi play就要找到和解决无线网络现有的问题。
Wifi网络状态很好时PC网络游戏的网络状态差距并不大。只是偶尔会发生100毫秒以上的latency及网络延迟。
Wifi 网络状态不好时延迟也会变大,甚至也会达到500毫秒,严重时也会有15%以上的丢包率。
智能手机离开Wifi zone就会连接3G或4G网络,切换的时候数据通讯会断开10秒左右。
相比PC网络游戏,智能手机网络游戏的网络环境更差,不仅时延大丢包可能性也会更高。
丢包率高时TCP也会出现重复传输引起的时延,数据往返时延RTT越高时延越大,这个时延就称为RTO。
一般RTO会比RTT大很多。
就因为这些特点,实时多人网络游戏中人物的移动消息或机关枪散射等消息的传输UDP比TCP更适合。
但也不是所有网络环境都能用UDP。公司的防火墙设备和、部分Wifi、3G、4G基站就不支持UDP。此时就要用TCP来替代UDP。
并不是所有移动网络通讯中P2P holepunching都能成功,韩国的移动网络通讯中P2P holepunching的成功率能达56%,这就意味着剩下的会使用P2P relay。
移动网络中最重要的是当离开Wifi覆盖区域时的处理方式。离开Wifi区域时实时多人网络游戏中TCP连接会断开。有些手机会在Wifi转3G或4G的瞬间断开连接,有些也会在过数十秒后断开连接。重新建立连接之前的通讯数据包就会丢失。
同样,这问题我们也找到了解决办法。离开Wifi区域切换至3G或4G的期间发生的通讯数据我们会保存在内存中。切换成功后会重新发送这些数据包。从游戏开发者层面只是暂时无法收发数据,连接还是正常的。
尚未结束的挑战
游戏市场变化不断,流行的游戏液也在持续迭代,而且用户的游戏设备种类和服务器开发方法论也在不断变化。所以游戏服务器也要随着这些变化而更新。
Proudnet也会继续变化升级,请继续关注。
使用Proudnet的MMORPG ‘颓废之心’