节点文献

三维网络游戏服务器关键技术研究与原型系统实现

Research of Key Technology of 3D Online Game Server and Its Prototype Implementation

【作者】 陈杨

【导师】 刘艳;

【作者基本信息】 天津大学 , 模式识别与智能系统, 2009, 硕士

【摘要】 三维网络游戏已经成为一种非常流行的休闲娱乐方式,玩家可以在完全不同于现实生活的虚拟世界中获得乐趣。网络游戏服务器是这个虚拟世界的载体,所以,服务器的性能直接影响玩家在虚拟世界中的游戏体验。网络游戏服务器系统是世界上最复杂的分布式系统之一,大场景三维网络游戏服务器还没有成熟的解决方案。网络游戏同步、跨界处理和负载平衡是网络游戏服务器设计的三个关键问题,对这三个问题进行研究有助于推动整个行业的发展。本文吸收了前人在网络游戏服务器方面的研究成果,提出位置同步方案,客户端对自己以及可见的用户进行路径预测,仅当自己的实际位置与预测位置的偏差大于阀值时才会进行位置修正,同时根据用户距离的远近,以不同的频率进行位置更新,这样可以减少位置同步信息的发送量。本文提出的跨界解决方案,在地图服务器管理的地图边界画出跨界缓冲区,可以避免频繁跨界的问题,同时减少跨界处理的时间。本文对网关服务器和地图服务器分别提出了不同的负载均衡方案。对于网关服务器使用网关负载均衡服务器进行管理,使新登陆的客户端连接负载较小的服务器;对于地图服务器使用中心服务器进行管理,发生过载时,可将部分区域移交邻近地图服务器管理,当负载减小时,再收回这部分区域。本文还提出了分布式网络游戏服务器的整体设计方案,对各个服务器的主要工作过程进行了介绍,并以此为基础实现了网络游戏服务器原型系统。最后对整个系统进行了测试,证明了本文提出的位置同步算法、跨界处理算法以及负载均衡算法的正确性,还测试了在大量用户在线的情况下,区域划分的大小对服务器性能的影响。

【Abstract】 3D online game is already a very popular way of entertainment. Players can derive pleasure out of the virtual world which is completely different from the present world. Game server is the carrier of the virtual world, so the performance of the server influences user experience in the virtual world directly. The system of 3D online game server is one of the most complex distributed systems. There is not a mature solution for 3D online game server with a big virtual world. Position synchronization, crossing boundaries and load-balancing are three key problems of the online game server. We can promote development in the field of 3D online game by studying in these key problems to design the 3D online game server.This dissertation absorbed the research result of 3D online game server, and put forward position synchronization algorithm. The client forecasts the path of itself and other player visible. Only when the distance between its actual position and its predicted position is larger than the threshold level, the client will correct its position. Update the position of players by different frequency because of the different distance of these players. This algorithm can decrease the size of the data sent for position synchronization. A method for dealing with crossing boundaries is put forward here. It can avoid the problem of crossing boundaries and reduce the processing time by setting a buffer area near the boundary. There are two different schemes of load balancing for gateway server and map server. A load balancing server is used for managing gateway servers. This server can make the client connect to the gateway server which has fewer users. The center server manages all of map servers. When a map server is over loading, some areas at its boundary will be moved to the map server in the vicinity of itself. And when the load of this map server decreases, it will take back these areas. A distributed architecture of game server system is put forward here, the main processes of every server in this system are introduced, and a prototype system is implemented base on this system. At last, the whole system is tested. The position synchronization algorithm, the crossing boundary algorithm and the load balancing algorithm and proven correct. And test performance of the server with different size of area, when there are a large amount of users in service.

  • 【网络出版投稿人】 天津大学
  • 【网络出版年期】2011年 S2期
节点文献中: