一种游戏聊天方法、系统及计算机可读存储介质技术方案

技术编号:37673897 阅读:16 留言:0更新日期:2023-05-26 04:37
本发明专利技术提供一种实现游戏聊天的方法、系统及计算机可读存储介质。该方法包括:设置接收玩家聊天消息的游戏服务器以及转发聊天消息的聊天服务器;所述游戏服务器接收玩家发送的聊天消息时找出该聊天消息对应的目标频道,将该聊天消息投递到所述聊天服务器中的所述目标频道、由聊天服务器转发给所述目标频道的所有玩家。此外、在所述游戏服务器上设置聊天模块,用于监听与玩家集合操作相关的事件以动态调整所述聊天服务器上管理的聊天频道。本发明专利技术把查询玩家所在频道的工作放在游戏服务器执行、而将转发消息的工作放在聊天服务器上执行以降低游戏服务器的负担,同时确保聊天消息处理的实时性。理的实时性。理的实时性。

【技术实现步骤摘要】
一种游戏聊天方法、系统及计算机可读存储介质


[0001]本专利技术提供的技术方案涉及网络游戏中不同玩家集合的管理,尤其涉及大型网络游戏中及时、准确地将玩家发送的聊天信息发送给其当时所在集合中的所有玩家。

技术介绍

[0002]随着互联网技术的普及,互联网游戏已经成为了公众娱乐的重要部分。目前大部分的互联网游戏为了方便玩家间的交流,都设有聊天功能。游戏服务商提供服务器、利用互联网作为媒介,以游戏客户端软件作为信息窗口实现玩家与玩家之间的聊天交互。起初玩家只要与指定的其他玩家进行交互即可,随着游戏玩法的不断深入、各种玩家群体不断出现(例如玩家之间可以组建队伍、行会),为了加强游戏中玩家的交互体验,游戏玩家不但需要和其他个体玩家进行通信,也需要与一些玩家集合进行通信,广播自己的发言给集合内的所有玩家。向一组玩家群发消息,需要搜索出所有满足条件的玩家并依次发送消息,例如、要给一个队伍、行会或地图场景中的玩家集合发消息时,需要查找到这个队伍、行会或地图场景中拥有哪些玩家。为此、队伍系统、行会系统或地图系统需要提供列出罗列具体队伍、行会或者地图场景(即具体的频道)中所有玩家的功能。由于各个子系统功能实现不同、并没有有效的统一的接口,这就导致查找或搜索频道困难、同时也降低了搜寻频道内玩家的效率。
[0003]为了满足上述需求、现有技术需要在游戏服务器上设计一个聊天模块,自动管理聊天服务器上频道的创建、销毁、添加和移除玩家标识符等工作。如图1所示、现有技术中当玩家需要给其他人发送聊天消息时,该玩家所在的客户端向游戏服务器发送聊天消息并指出接收者所在的集合(例如一个队伍、一个行会);游戏服务器接收到聊天消息后,通过接收者所在集合查找出该集合中所有的玩家,并依次向这些玩家所在的客户端转发该聊天消息。上述方案通过在游戏服务器上增设一个聊天模块来实现聊天功能,这样做会增大游戏服务器上运行开销,造成游戏运行延时或者聊天消息发送不及时。为此,现有技术中有些方案将聊天功能单独实现在专门的服务器上。
[0004]然而、当玩家集合过多时现有技术中仍然存在以下不足:
[0005]1.游戏服务器或专门设置的服务器上的频道缺乏有效的管理方式(频道这里指游戏中玩家的集合,例如、一个行会、一个队伍、一个场景内的玩家均在一个频道中),难以及时地对各频道进行创建、销毁、加入玩家ID等操作,导致存在多余的残留频道,玩家所处频道不能实时、准确地确定(例如,某个玩家当前时刻可能在某个队伍中,同时也在某个行会、某个聊天室中,此时该玩家既需要收到来自队伍的广播消息,又需要收到来自行会、聊天室的广播消息;在下一时刻该玩家则可能退出了之前的某个队伍、行会或者其他玩家集合,此时游戏服务器对该玩家所处的玩家集合/频道更新不及时)。
[0006]2.游戏服务器对玩家集合内的玩家进行列举时将造成游戏服务器资源消耗过大,从而影响服务器的整体性能、给玩家带来不良的游戏体验。

技术实现思路

[0007]为了解决现有游戏聊天系统存在的上述不足,本专利技术提供一种游戏聊天方案。该方案通过新增一个与游戏服务器相连接,同时也与各个客户端建立单独的连接的聊天服务器;聊天服务器与游戏服务器配合以实现动态、实时地管理游戏中产生的各种频道。该方案把查询玩家所在频道的工作放在游戏服务器执行、而将转发消息的工作放在聊天服务器上执行达到降低游戏服务器的负担,确保聊天消息处理的实时性的技术效果。
[0008]本专利技术的第一方面提供一种游戏聊天方法。该方法包括:分别设置接收玩家聊天消息的游戏服务器,以及转发聊天消息的聊天服务器;所述游戏服务器接收到玩家客户端发送的聊天消息时、实时在本地找出该聊天消息对应的目标频道后,将该聊天消息投递到所述聊天服务器中的所述目标频道,由聊天服务器转发给所述目标频道内的所有玩家客户端。
[0009]进一步地,该方法还包括:在所述游戏服务器上设置聊天模块,所述聊天模块用于监听与玩家集合操作相关的事件,当所述聊天模块监听到游戏服务器上接收到与玩家集合相关的操作时,识别具体的操作类型、并发送对应的消息触发所述聊天服务器对自身维护的聊天频道进行相应调整。
[0010]所述聊天服务器对自身维护的聊天频道进行相应调整,包括:当所述事件为一个新玩家集合产生时,创建一个对应该集合的频道;而当一个玩家集合消失时,删除其对应的聊天频道;当一个玩家集合内的玩家变动时,在对应聊天频道增加/移除所述变动玩家的玩家ID。
[0011]进一步地,该方法还包括:所述游戏服务器上动态维护存储有玩家ID以及每个玩家ID对应聊天频道的频道列表,所述聊天模块通过查询所述频道列表找出具体玩家发送的聊天消息对应的目标频道。
[0012]与上述方法相对应、本专利技术的第二方面提供一种游戏聊天系统。该系统包括:游戏服务器,聊天服务器;所述游戏服务器接收到玩家客户端发送的聊天消息时、在本地找出该聊天消息对应的目标频道后,将该消息投递到所述聊天服务器中的所述目标频道,由聊天服务器转发给所述目标频道内的所有玩家客户端。所述聊天服务器与各玩家客户端之间建立TCP连接。所述聊天服务器动态维护存储有每个聊天频道中所有玩家ID与该玩家对应TCP连接的映射关系。
[0013]进一步地、所述游戏服务器上设有聊天模块,所述聊天模块用于监听游戏服务器上与玩家集合操作相关的事件以动态维护所述聊天服务器上的聊天频道;当所述聊天模块监听到游戏服务器上接收到与玩家集合相关的操作时,识别具体的操作类型、并发送对应的消息触发所述聊天服务器对自身维护的聊天频道进行相应调整。
[0014]所述聊天模块在游戏服务器上动态维护存储有玩家ID以及每个玩家ID对应聊天频道的频道列表,通过查询所述频道列表找出具体玩家发送的聊天消息对应的目标频道。
[0015]与上述方法相对应、本专利技术的第三方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行代码,计算机的处理器在执行所述可执行代码实现上述游戏聊天的方法。
附图说明
[0016]图1为现有技术中游戏聊天系统的架构示意图。
[0017]图2为本专利技术提供的游戏聊天系统的架构示意图。
[0018]图3为本专利技术提供的技术方案中聊天服务器关于聊天频道的组织示意图。
[0019]图4为本专利技术提供的游戏聊天系统发送玩家聊天消息的流程图。
[0020]图5为本专利技术中聊天服务器将玩家的增加到聊天频道或从聊天频道删除流程示意图。
[0021]图6分别为本专利技术中聊天服务器创建、销毁聊天频道的流程示意图。
具体实施方式
[0022]为了使本专利技术所解决的技术问题、技术方案以及有益效果更加清楚明白,以下结合附图对本专利技术进行进一步详细说明。应该理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0023]如图2所示、本专利技术的一个实施例提供一种游戏聊天系统。该系统包括:游戏服务器,聊天服务器。所述游戏服务器接收到玩家客户端发送的聊天消息时、在本地找出该聊天消息对应的目标频道后,将该聊天消息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种游戏聊天系统,其特征在于,该系统包括:游戏服务器,聊天服务器;所述游戏服务器接收到玩家客户端发送的聊天消息时、在本地找出该聊天消息对应的目标频道后,将该聊天消息投递到所述聊天服务器、由聊天服务器转发给自身管理的所述目标频道内的所有玩家客户端。2.如权利要求1所述的系统,其特征在于,所述游戏服务器上设有聊天模块;所述聊天模块用于监听与玩家集合操作相关的事件、以实时调整所述聊天服务器上的聊天频道。3.如权利要求2所述的系统,其特征在于,所述聊天模块实时调整所述聊天服务器上的聊天频道,实现为:当所述聊天模块监听到游戏服务器上接收到与玩家集合相关的操作时,识别具体的操作类型、并发送对应的消息触发所述聊天服务器对自身维护的聊天频道进行相应调整。4.如权利要求3所述的系统,其特征在于,所述聊天服务器对自身管理的聊天频道进行相应调整,包括:当所述事件为一个新玩家集合产生时,所述聊天服务器创建一个对应该集合的频道;而当一个玩家集合消失时,所述聊天服务器删除其对应的聊天频道;当一个玩家集合内的玩家变动时,所述聊天服务器在对应聊天频道增加/移除所述变动玩家的玩家ID。5.如权利要求1

3中任一项所述的系统,其特征在于,所述聊天模块通过查询游戏服务器上实时存储的频道列表找出具体玩家发送的聊天消息对应的目标频道,所述频道列表存储有每个玩家ID以及其对应聊天频道。6.如权利要求5所述的系统,其特征在于,所述聊天服务器与各玩家客户端之间建立TCP连接;所述聊天服务器存储有实时的每个聊天频道中所有玩家ID与该玩家对应TCP连接的映射关系。7.一种游戏聊天方法,其特征在于,该方法包括:分别设置...

【专利技术属性】
技术研发人员:朱溢能
申请(专利权)人:盛趣信息技术上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1