CN111870936A - 跨服游戏实现方法、装置、服务器及存储介质 - Google Patents

跨服游戏实现方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN111870936A
CN111870936A CN202010786440.XA CN202010786440A CN111870936A CN 111870936 A CN111870936 A CN 111870936A CN 202010786440 A CN202010786440 A CN 202010786440A CN 111870936 A CN111870936 A CN 111870936A
Authority
CN
China
Prior art keywords
protocol
game
server
processing result
cross
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010786440.XA
Other languages
English (en)
Other versions
CN111870936B (zh
Inventor
杨�嘉
刘斯明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010786440.XA priority Critical patent/CN111870936B/zh
Publication of CN111870936A publication Critical patent/CN111870936A/zh
Application granted granted Critical
Publication of CN111870936B publication Critical patent/CN111870936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种跨服游戏实现方法、装置、服务器及存储介质,涉及游戏技术领域。该方法包括:接收游戏客户端发送的协议请求,协议请求包括:游戏操作协议;获取游戏操作协议对应的第一协议处理结果,第一协议处理结果为跨服服务器对游戏操作协议进行处理所得到协议处理结果;向游戏客户端发送第一协议处理结果,第一协议处理结果用于使得游戏客户端执行对应的跨服游戏操作。本方法通过游戏服务器实现游戏客户端与跨服服务器的协议通信,可以使得游戏服务器与跨服服务器同时在线,在实现游戏服务器玩法的同时,也可参与跨服服务器的玩法,实现跨服玩法与原服玩法的瞬时切换,提高用户的游戏体验度。

Description

跨服游戏实现方法、装置、服务器及存储介质
技术领域
本发明涉及游戏技术领域,具体而言,涉及一种跨服游戏实现方法、装置、服务器及存储介质。
背景技术
游戏的跨服玩法是为了打破单个游戏服务器的屏障,将各个游戏服务器的玩家聚集到一起,实现自由畅通交互的玩法。
目前游戏的跨服玩法,一般的实现方法是:客户端参与游戏服玩法时,连接着游戏服,在游戏玩家进入跨服玩法时,需要将游戏玩家从原服务器下线,游戏玩家重新在跨服服务器登录,原游戏服删除游戏玩家对应的游戏角色。
但是,现有方法中,游戏玩家一个时刻只能存在于一个服务器中,无法同时实现原服玩法和跨服玩法,导致游戏玩家的游戏体验较差。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种跨服游戏实现方法、装置、服务器及存储介质,以便于解决现有技术中存在的原服玩法与跨服玩法无法同时在线的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种跨服游戏实现方法,所述方法包括:
接收游戏客户端发送的协议请求,所述协议请求包括:游戏操作协议;
获取所述游戏操作协议对应的第一协议处理结果,所述第一协议处理结果为跨服服务器对所述游戏操作协议进行处理所得的协议处理结果;
向所述游戏客户端发送所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏客户端执行对应的跨服游戏操作。
可选地,所述获取所述游戏操作协议对应的第一协议处理结果之前,所述方法还包括:
对所述游戏操作协议进行解包处理,得到所述游戏操作协议的协议标识;
根据所述协议标识,确定所述游戏操作协议是否为待转发协议;
若所述游戏操作协议为待转发协议,则获取所述游戏操作协议对应的第一协议处理结果。
可选地,所述方法还包括:
若所述游戏操作协议不为待转发协议,则对所述游戏操作协议进行处理,得到第二协议处理结果;
向所述游戏客户端发送所述第二协议处理结果,所述第二协议处理结果用于使得所述游戏客户端执行对应的游戏操作。
可选地,所述根据所述协议标识,确定所述游戏操作协议是否为待转发协议,包括:
确定所述协议标识,是否为预设的待转发协议标识集合中的协议标识;
若所述协议标识为所述待转发协议标识集合中的协议标识,则确定所述游戏操作协议为待转发协议;
若所述协议标识不为所述待转发协议标识集合中的协议标识,则确定所述游戏操作协议不为待转发协议。
可选地,所述获取所述游戏操作协议对应的第一协议处理结果,包括:
根据所述协议标识,确定是否预先缓存有所述协议标识对应的协议处理结果;
若缓存有所述协议标识对应的协议内容,则确定预先缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果。
可选地,所述确定预先缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果,包括:
确定缓存的所述协议标识对应的协议处理结果是否过期;
若未过期,则确定缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果。
可选地,所述获取所述游戏操作协议对应的第一协议处理结果,还包括:
若未存缓所述协议标识对应的协议处理结果,或者,缓存的所述协议标识对应的协议处理结果已过期,则向所述跨服服务器发送第一调用请求,所述第一调用请求包括:所述游戏客户端的标识以及所述游戏操作协议,所述第一调用请求用于使得所述跨服服务器对所述游戏操作协议进行处理后,得到所述第一协议处理结果;
接收所述跨服服务器发送的第二调用请求,所述第二调用请求包括:所述游戏客户端的标识以及所述第一协议处理结果。
可选地,所述根据所述协议标识,确定是否预先缓存有所述协议标识对应的协议处理结果之前,所述方法还包括:
接收所述跨服服务器发送的协议处理结果;
根据所述协议处理结果的协议标识,确定是否为待缓存的协议处理结果;
若为待缓存的协议处理结果,则缓存所述协议标识以及所述协议处理结果,并标记所述协议处理结果的缓存时间戳。
可选地,所述根据所述协议处理结果的协议标识,确定是否为待缓存的协议处理结果,包括:
确定所述协议标识,是否为预设的待缓存协议标识集合中的协议标识;
若所述协议标识为所述待缓存协议标识集合中的协议标识,则确定所述协议处理结果为待缓存的协议处理结果;
若所述协议标识不为所述待缓存协议标识集合中的协议标识,则确定所述协议处理结果不为待缓存的协议处理结果。
第二方面,本申请实施例提供了一种跨服游戏实现方法,所述方法包括:
接收游戏服务器发送的第一调用请求,所述第一调用请求包括:来自游戏客户端的游戏操作协议,以及所述游戏客户端的标识;
对所述游戏操作协议进行处理,得到所述游戏操作协议对应的第一协议处理结果;
向所述游戏服务器发送第二调用请求,所述第二调用请求包括:所述游戏客户端的标识和所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏服务器根据所述游戏客户端的标识,向所述游戏客户端发送所述第一协议处理结果,以使得所述游戏客户端执行对应的跨服游戏操作。
可选地,所述接收游戏服务器发送的第一调用请求之前,所述方法还包括:
响应所述游戏客户端在跨服服务器的注册请求,创建所述游戏客户端的标识和所述游戏服务器的标识之间的映射关系;
可选地,所述注册请求为所述游戏客户端在所述游戏服务器登录,或者,在所述跨服服务器登录之后,在所述跨服服务器触发的注册请求。
可选地,所述方法还包括:
响应所述游戏客户端的解注册请求,删除所述映射关系。
可选地,所述解注册请求为所述游戏客户端在所述游戏服务器下线,或者,在所述跨服服务器下线之后,在所述跨服服务器触发的解注册请求。
可选地,所述方法还包括:
确定目标游戏客户端是否在跨服服务器登录;
若所述目标游戏客户端在所述跨服服务器登录,则向所述目标游戏客户端发送协议处理结果,以指示所述目标游戏客户端执行对应的跨服游戏操作。
可选地,所述方法还包括:
若所述目标游戏客户端未在所述跨服服务器登录,则向所述游戏服务器发送第三调用请求,所述第三调用请求包括:所述游戏客户端的标识和所述协议处理结果,所述第三调用请求用于使得所述游戏服务器根据所述游戏客户端的标识,向所述游戏客户端发送所述协议处理结果,以使得所述游戏客户端执行对应的跨服游戏操作。
第三方面,本申请实施例还提供了一种跨服游戏实现装置,所述装置包括:协议接收模块、协议获取模块、协议发送模块;
所述协议接收模块,用于接收游戏客户端发送的协议请求,所述协议请求包括:游戏操作协议;
所述协议获取模块,用于获取所述游戏操作协议对应的第一协议处理结果,所述第一协议处理结果为跨服服务器对所述游戏操作协议进行处理所得的协议处理结果;
所述协议发送模块,用于向所述游戏客户端发送所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏客户端执行对应的跨服游戏操作。
可选地,所述装置还包括:协议解压模块、确定模块;
所述协议解压模块,用于对所述游戏操作协议进行解包处理,得到所述游戏操作协议的协议标识;
所述确定模块,用于根据所述协议标识,确定所述游戏操作协议是否为待转发协议;
所述协议获取模块,用于若所述游戏操作协议为待转发协议,则获取所述游戏操作协议对应的第一协议处理结果。
可选地,所述装置还包括:协议处理模块;
所述协议处理模块,用于若所述游戏操作协议不为待转发协议,则对所述游戏操作协议进行处理,得到第二协议处理结果;
所述协议发送模块,还用于向所述游戏客户端发送所述第二协议处理结果,所述第二协议处理结果用于使得所述游戏客户端执行对应的游戏操作。
可选地,所述确定模块,具体用于确定所述协议标识,是否为预设的待转发协议标识集合中的协议标识;若所述协议标识为所述待转发协议标识集合中的协议标识,则确定所述游戏操作协议为待转发协议;若所述协议标识不为所述待转发协议标识集合中的协议标识,则确定所述游戏操作协议不为待转发协议。
可选地,所述协议获取模块,具体用于根据所述协议标识,确定是否预先缓存有所述协议标识对应的协议处理结果;若缓存有所述协议标识对应的协议处理结果,则确定预先缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果。
可选地,所述协议获取模块,具体用于确定缓存的所述协议标识对应的协议处理结果是否过期;若未过期,则确定缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果。
可选地,所述协议获取模块,还用于若未存缓所述协议标识对应的协议处理结果,或者,缓存的所述协议标识对应的协议处理结果已过期,则向所述跨服服务器发送第一调用请求,所述第一调用请求包括:所述游戏客户端的标识以及所述游戏操作协议,所述第一调用请求用于使得所述跨服服务器对所述游戏操作协议进行处理后,得到所述第一协议处理结果;
所述协议接收模块,还用于接收所述跨服服务器发送的第二调用请求,所述第二调用请求包括:所述游戏客户端的标识以及所述第一协议处理结果。
可选地,所述装置还包括:协议缓存模块;
所述协议接收模块,具体用于接收所述跨服服务器发送的协议处理结果;
所述确定模块,还用于根据所述协议处理结果的协议标识,确定是否为待缓存的协议处理结果;
所述协议缓存模块,用于若为待缓存的协议处理结果,则缓存所述协议标识以及所述协议处理结果,并标记所述协议处理结果的缓存时间戳。
可选地,所述确定模块,具体用于确定所述协议标识,是否为预设的待缓存协议标识集合中的协议标识;若所述协议标识为所述待缓存协议标识集合中的协议标识,则确定所述协议处理结果为待缓存的协议处理结果;若所述协议标识不为所述待缓存协议标识集合中的协议标识,则确定所述协议处理结果不为待缓存的协议处理结果。
第四方面,本申请实施例还提供了一种跨服游戏实现装置,所述装置包括:协议接收模块、协议处理模块、协议发送模块;
所述协议接收模块,用于接收游戏服务器发送的第一调用请求,所述第一调用请求包括:来自游戏客户端的游戏操作协议,以及所述游戏客户端的标识;
所述协议处理模块,用于对所述游戏操作协议进行处理,得到所述游戏操作协议对应的第一协议处理结果;
所述协议发送模块,用于向所述游戏服务器发送第二调用请求,所述第二调用请求包括:所述游戏客户端的标识和所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏服务器根据所述游戏客户端的标识,向所述游戏客户端发送所述第一协议处理结果,以使得所述游戏客户端执行对应的跨服游戏操作。
可选地,所述装置还包括:注册模块;
所述注册模块,用于响应所述游戏客户端在跨服服务器的注册请求,创建所述游戏客户端的标识和所述游戏服务器的标识之间的映射关系;
可选地,所述注册请求为所述游戏客户端在所述游戏服务器登录,或者,在所述跨服服务器登录之后,在所述跨服服务器触发的注册请求。
可选地,所述注册模块,还用于响应所述游戏客户端的解注册请求,删除所述映射关系。
可选地,所述解注册请求为所述游戏客户端在所述游戏服务器下线,或者,在所述跨服服务器下线之后,在所述跨服服务器触发的解注册请求。
可选地,所述装置还包括:确定模块;
所述确定模块,用于确定目标游戏客户端是否在跨服服务器登录;
所述协议发送模块,具体用于若所述目标游戏客户端在所述跨服服务器登录,则向所述目标游戏客户端发送协议处理结果,以指示所述目标游戏客户端执行对应的跨服游戏操作。
可选地,所述协议发送模块,还具体用于若所述目标游戏客户端未在所述跨服服务器登录,则向所述游戏服务器发送第三调用请求,所述第三调用请求包括:所述游戏客户端的标识和所述协议处理结果,所述第三调用请求用于使得所述游戏服务器根据所述游戏客户端的标识,向所述游戏客户端发送所述协议处理结果,以使得所述游戏客户端执行对应的跨服游戏操作。
第五方面,本申请实施例提供了一种游戏服务器,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当游戏服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第一方面所述的跨服游戏实现方法的步骤。
第六方面,本申请实施例提供了一种跨服服务器,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当跨服服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第二方面所述的跨服游戏实现方法的步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面、第二方面提供的跨服游戏实现方法的步骤。
本申请的有益效果是:
本申请提供一种跨服游戏实现方法、装置、服务器及存储介质,其中,方法包括:接收游戏客户端发送的协议请求,协议请求包括:游戏操作协议;获取游戏操作协议对应的第一协议处理结果,第一协议处理结果为跨服服务器对游戏操作协议进行处理所得到协议处理结果;向游戏客户端发送第一协议处理结果,第一协议处理结果用于使得游戏客户端执行对应的跨服游戏操作。本方法通过游戏服务器实现游戏客户端与跨服服务器的协议通信,可以使得游戏服务器与跨服服务器同时在线,在实现游戏服务器玩法的同时,也可参与跨服服务器的玩法,实现跨服玩法与原服玩法的瞬时切换,提高用户的游戏体验度。
另外,通过游戏服务器预先缓存部分跨服服务器的协议处理结果,可实现从游戏服务器中直接获取游戏客户端发送的游戏操作协议对应的协议处理结果,有效降低了跨服服务器的负载压力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的现有技术中游戏客户端与游戏服务器、及跨服服务器之间的通信方式示意图;
图2为本申请实施例提供的本方案中游戏客户端与游戏服务器、及跨服服务器之间的通信方式示意图;
图3为本申请实施例提供的一种跨服游戏实现方法的流程示意图;
图4为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;
图5为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;
图6为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;
图7为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;
图8为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;
图9为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;
图10为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;
图11为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;
图12为本申请实施例提供的一种跨服游戏实现方法的流程示意图;
图13为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;
图14为本申请实施例提供的一种跨服游戏实现方法的整体流程示意图;
图15为本申请实施例提供的一种跨服游戏实现装置的示意图;
图16为本申请实施例提供的另一种跨服游戏实现装置的示意图;
图17为本申请实施例提供的一种游戏服务器的结构示意图;
图18为本申请实施例提供的一种跨服服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
图1为本申请实施例提供的现有技术中游戏客户端与游戏服务器、及跨服服务器之间的通信方式示意图。在本申请方案提出之前,现有技术中,游戏的跨服玩法,一般实现方法如下:游戏客户端参与游戏服务器玩法时,连接着游戏服务器,游戏服务器与游戏客户端之间的通信协议如图1中的1、2所示。在游戏客户端进入跨服玩法时,需要将游戏客户端从游戏服务器下线,然后传送游戏客户端数据到跨服服务器,在跨服服务器创建玩家对象,再将游戏客户端的连接切换至跨服服务器。游戏客户端与跨服服务器之间的通信协议如图1中的3、4所示。游戏客户端重新在跨服服务器登录,在游戏服务器删除玩家角色。
但是,现有技术方案存在以下缺点:游戏客户端进入跨服玩法时有一个切换服务器的过程,会导致游戏客户端游戏画面出现卡顿等,且游戏客户端一个时刻只能与一个服务器(游戏服务器或者跨服服务器)通信连接,在跨服玩法中时,无法继续游戏服务器的玩法与操作,而在游戏服务器时又无法参与跨服玩法。从而导致用户游戏体验较差。
图2为本申请实施例提供的本方案中游戏客户端与游戏服务器、及跨服服务器之间的通信方式示意图。如图2所示,本申请方案中,游戏客户端进入跨服玩法时不会改变游戏客户端与游戏服务器的连接关系,游戏客户端与跨服服务器的通信协议由游戏服务器进行转发,如图2中的3、4所示。
本申请方案的核心在于:通过游戏服务器对接收的游戏客户端发送的游戏操作协议进行区分处理,区分跨服服务器的游戏操作协议,分发至跨服服务器进行处理,而跨服服务器返回至游戏客户端的协议处理结果,则先返回至游戏客户端对应的游戏服务器,再由游戏服务器转发至游戏客户端。从而在进行原服务器的玩法同时,也能参与操作跨服玩法,实现原服务器与跨服玩法服务器同时在线,为用户提供更好的跨服游戏体验。
以下将通过多个具体的实施例,对本申请方案的实现方法和原理、以及产生的有益效果进行详细说明。
图3为本申请实施例提供的一种跨服游戏实现方法的流程示意图;该方法的执行主体可以是游戏服务器。该游戏服务器可以是与游戏客户端连接的游戏服务器,用于验证游戏客户端的身份、实现原服玩法及存储数据的功能。可选地,如图3所示,该方法可包括:
S101、接收游戏客户端发送的协议请求,协议请求包括:游戏操作协议。
游戏客户端可以指安装在用户手机终端或者电脑端的游戏应用。用户可通过在游戏客户端登录游戏账号,启动游戏,并进行相应的游戏操作。
可选地,游戏操作协议为游戏客户端和游戏服务器双方共同遵从的一组约定,游戏客户端与游戏服务器通过互送协议,实现游戏客户端对游戏服务器的特定操作。
通常,对于实现不同的游戏操作,接收的游戏客户端发送的协议请求所包括的游戏操作协议是不同的。例如:游戏操作协议可以为从虚拟背包中取出虚拟物品,或者是采用虚拟道具攻击虚拟对象等。
S102、获取游戏操作协议对应的第一协议处理结果,第一协议处理结果为跨服服务器对游戏操作协议进行处理所得的协议处理结果。
跨服服务器可以指一种特殊功能的游戏服务器,用于实现跨服玩法,把各个游戏服务器的游戏客户端聚集在一起进行某种玩法的服务器。
本实施例中,以实现跨服玩法为应用场景,游戏服务器可将接收的游戏客户端发送的协议请求转发至跨服服务器,跨服服务器通过对协议请求进行处理,得到第一协议处理结果,并将第一协议处理结果返回至游戏服务器。其中,游戏服务器可通过协议接收接口,进行rpc(Remote Procedure Call,远程过程调用)调用,实现游戏服务器向跨服服务器的协议请求转发。同时也可接收跨服服务器发送的协议处理结果。
S103、向游戏客户端发送第一协议处理结果,第一协议处理结果用于使得游戏客户端执行对应的跨服游戏操作。
可选地,游戏服务器可将接收的跨服服务器发送的第一协议处理结果转发至游戏客户端,以使得游戏客户端可实现协议请求所对应的跨服游戏操作。
通过游戏服务器实现协议请求的转发以及协议处理结果的转发,可以使得游戏服务器与跨服服务器同时在线,实现原服玩法与跨服玩法的随意切换,提高用户的游戏体验度。
综上,本实施例提供的跨服游戏实现方法,包括:接收游戏客户端发送的协议请求,协议请求包括:游戏操作协议;获取游戏操作协议对应的第一协议处理结果,第一协议处理结果为跨服服务器对游戏操作协议进行处理所得到协议处理结果;向游戏客户端发送第一协议处理结果,第一协议处理结果用于使得游戏客户端执行对应的跨服游戏操作。本方法通过游戏服务器实现游戏客户端与跨服服务器的协议通信,可以使得游戏服务器与跨服服务器同时在线,在实现游戏服务器玩法的同时,也可参与跨服服务器的玩法,实现跨服玩法与原服玩法的瞬时切换,提高用户的游戏体验度。
图4为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;可选地,如图4所示,上述步骤S102中,获取游戏操作协议对应的第一协议处理结果之前,本申请的方法还可包括:
S201、对游戏操作协议进行解包处理,得到游戏操作协议的协议标识。
通常,协议请求在发送过程中是以压缩包的形式进行传输。游戏服务器接收的游戏操作协议中可包括:协议标识和协议内容。其中,协议标识可以理解为协议号。通过对游戏操作协议进行解压缩包处理,可以得到游戏客户端发送的游戏操作协议的协议标识。
S202、根据协议标识,确定游戏操作协议是否为待转发协议。
需要说明的是,协议号可以分为大协议号和小协议号,其中,大协议号可以指示游戏操作协议所对应的待操作虚拟对象,小协议号可以指示对待操作虚拟对象所执行的操作。
以游戏操作协议为:使用背包A中的物品a,进行说明,其中,大协议号可以指示背包A,小协议号可以指示动作“使用”,协议内容可以指示物品a。
通常,对于不同的游戏,可预先配置有可支持的(特殊的可转发的)跨服玩法的协议标识集合。游戏服务器解包游戏操作协议,得到协议标识后,可根据协议标识以及预设的可转发的协议标识集合,确定是否将游戏操作协议转发至跨服服务器。
S203、若游戏操作协议为待转发协议,则获取游戏操作协议对应的第一协议处理结果。
当上述确定游戏操作协议为可转发协议时,游戏服务器可通过rcp函数调用方式,将游戏操作协议发送至跨服服务器,同时获取函数返回的数据,也即获取跨服服务器返回的第一协议处理结果。并将接收的第一协议处理结果发送至游戏客户端,以使得游戏客户端执行相应的游戏操作。
图5为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;可选地,如图5所示,本申请的方法还可包括:
S301、若游戏操作协议不为待转发协议,则对游戏操作协议进行处理,得到第二协议处理结果。
在一些实施例中,当游戏操作协议为游戏服务器操作协议时,也即游戏客户端当前参与原服玩法,不参与跨服玩法时,游戏服务器获取的游戏操作协议的协议标识并不包含在预设的可转发协议标识集合中。那么,游戏服务器不对该游戏操作协议进行转发,游戏服务器直接对游戏操作协议进行处理,得到第二协议处理结果。
S302、向游戏客户端发送第二协议处理结果,第二协议处理结果用于使得游戏客户端执行对应的游戏操作。
可选地,游戏服务器将得到的第二协议处理结果发送至游戏客户端,以使得游戏客户端执行相应的游戏操作。
需要说明的是,上述的第一协议处理结果和第二协议处理结果中的“第一”和“第二”并没有实际的含义,第一协议处理结果和第二协议处理结果均为游戏操作协议对应的协议处理结果。采用“第一”和“第二”的描述方式仅为了区分协议处理结果是游戏服务器对游戏操作协议进行处理得到的协议处理结果,或者是跨服服务器对游戏操作协议进行处理得到的协议处理结果。
图6为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;可选地,如图6所示,上述步骤S202中,根据协议标识,确定游戏操作协议是否为待转发协议,可以包括:
S401、确定协议标识,是否为预设的待转发协议标识集合中的协议标识。
如上述所说明的,对于不同的游戏,可以在游戏服务器处理协议的总入口处预先定义该游戏中可支持的跨服玩法的协议标识集合。其中,协议标识集合可包括:特殊的可转发的跨服玩法协议标识。
游戏服务器解包游戏操作协议,得到游戏操作协议的协议标识,将协议标识与预设的待转发协议标识集合中的协议标识进行比对,以确定该协议标识是否为待转发的协议标识。
S402、若协议标识为待转发协议标识集合中的协议标识,则确定游戏操作协议为待转发协议。
可选地,当待转发协议标识集合中包含该协议标识时,则确定该游戏操作协议为待转发协议,游戏服务器则通过rcp调用方式,将游戏操作协议转发至跨服服务器,以使得跨服服务器对游戏操作协议进行处理。
S403、若协议标识不为待转发协议标识集合中的协议标识,则确定游戏操作协议不为待转发协议。
可选地,当待转发协议标识集合中不包含该协议标识时,则确定该游戏操作协议不为待转发协议,游戏服务器则不对该游戏操作协议进行转发,由游戏服务器对游戏操作协议进行处理,得到协议处理结果。
本实施例中,游戏服务器通过定义的预设待转发协议标识集合对接收的游戏操作协议进行区分,可准确的将跨服服务器对应的游戏操作协议转发至跨服服务器进行处理,而将游戏服务器对应的游戏操作协议在游戏服务器本地进行处理,实现了原游戏服与跨服服务器同时在线,在进行原服玩法的同时也能进行跨服玩法,有效的提高了原服玩法和跨服玩法的操作效率。
图7为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;可选地,如图7所示,上述步骤S102中,获取游戏操作协议对应的第一协议处理结果,可以包括:
S501、根据协议标识,确定是否预先缓存有协议标识对应的协议处理结果。
在一些实施例中,游戏服务器中可预先缓存有部分游戏操作协议对应的协议处理结果,游戏服务器可根据接收的游戏操作协议的协议标识,判断缓存的协议处理结果中是否包含该游戏操作协议对应的协议处理结果。
S502、若缓存有协议标识对应的协议处理结果,则确定预先缓存的协议标识对应的协议处理结果为第一协议处理结果。
可选地,当该游戏操作协议对应的协议处理结果为预先缓存的协议处理结果,则可直接从缓存中获取该协议处理结果,该协议处理结果即可作为第一协议处理结果,由游戏服务器发送至游戏客户端。
通过在游戏服务器中缓存部分协议处理结果,游戏客户端请求对应协议时,可直接从游戏服务器的缓存中读取对应的协议处理结果,而无需经过跨服服务器的处理,从跨服服务器获取协议处理结果,从而可有效减轻跨服服务器的承载压力,提高跨服玩法的操作效率。
图8为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;可选地,如图8所示,上述步骤S502中,确定预先缓存的协议标识对应的协议处理结果为第一协议处理结果,可以包括:
S601、确定缓存的协议标识对应的协议处理结果是否过期。
在一些实施例中,为了保证从游戏服务器中获取的协议处理结果的准确性,在从缓存中获取协议处理结果发送至游戏客户端之前,可先判断缓存的游戏操作协议对应的协议处理结果是否过期。
S602、若未过期,则确定缓存的协议标识对应的协议处理结果为第一协议处理结果。
可选地,当确定缓存的游戏操作协议对应的协议处理结果有效,也即未过期时,则可从缓存中获取该协议处理结果,并将协议处理结果发送至游戏客户端。
图9为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;可选地,如图9所示,上述步骤S102中,获取游戏操作协议对应的第一协议处理结果,还可包括:
S701、若未存缓协议标识对应的协议处理结果,或者,缓存的协议标识对应的协议处理结果已过期,则向跨服服务器发送第一调用请求,第一调用请求包括:游戏客户端的标识以及游戏操作协议,第一调用请求用于使得跨服服务器对游戏操作协议进行处理后,得到第一协议处理结果。
在一种可实现的方式中,游戏服务器中也可不预先缓存部分协议处理结果。当游戏服务器中未缓存任何协议处理结果时,则由游戏服务器通过rcp调用方式,发送第一调用请求,将接收的游戏操作协议转发至跨服服务器,同时发送游戏客户端的标识至跨服服务器,以使得跨服服务器对游戏操作协议进行处理,并将得到的协议处理结果通过游戏服务器,发送至对应的游戏客户端。其中,游戏客户端的标识用于指示游戏服务器将接收的跨服服务器发送的协议处理结果转发至对应的游戏客户端。
在另一种实现方式中,当游戏服务器中缓存有游戏操作协议对应的协议处理结果,但是该协议处理结果已过期,则无法直接从缓存中获取协议处理结果发送至游戏客户端。那么,同样的,由游戏服务器通过rcp调用方式,发送第一调用请求,将接收的游戏操作协议转发至跨服服务器,同时发送游戏客户端的标识至跨服服务器,以使得跨服服务器对游戏操作协议进行处理,并将得到的协议处理结果通过游戏服务器,发送至对应的游戏客户端。
S702、接收跨服服务器发送的第二调用请求,第二调用请求包括:游戏客户端的标识以及第一协议处理结果。
可选地,当跨服服务器对游戏操作协议进行处理,得到第一协议处理结果后,同样也可通过rcp调用方式,发送第二调用请求,将游戏客户端的标识及第一协议处理结果发送至游戏服务器。以使得游戏服务器可根据游戏客户端的标识,将第一协议处理结果发送至对应的游戏客户端。
图10为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;可选地,如图10所示,上述步骤S501中,根据协议标识,确定是否预先缓存有协议标识对应的协议处理结果之前,本申请的方法还可包括:
S801、接收跨服服务器发送的协议处理结果。
S802、根据协议处理结果的协议标识,确定是否为待缓存的协议处理结果。
可选地,在跨服服务器将对任意的游戏操作协议进行处理,得到的协议处理结果发送至游戏服务器时,游戏服务器可根据接收的协议处理结果对应的协议标识,判断该协议处理结果是否需要缓存。
S803、若为待缓存的协议处理结果,则缓存协议标识以及协议处理结果,并标记协议处理结果的缓存时间戳。
可选地,当接收的协议处理结果为待缓存协议处理结果时,则游戏服务器将该协议处理结果添加至缓存中,同时,根据标记添加该协议处理结果至缓存中的时间,也即缓存时间戳。
可选地,上述步骤S601中,确定缓存的协议标识对应的协议处理结果是否过期,可以包括:根据缓存中协议处理结果的缓存时间戳、以及从缓存中读取协议处理结果的时间戳,确定协议处理结果是否过期。
其中,可以根据缓存中协议处理结果的缓存时间戳、以及从缓存中读取协议处理结果的读取时间戳,判断缓存时间戳与读取时间戳是否满足预设时间,当满足预设时间时,则确定协议结果未过期。
本实施例中,可以设定预设时间为5秒,也即,当确定缓存中该协议处理结果的缓存时间戳与从缓存中读取该协议处理结果的读取时间戳小于或等于5秒时,确定该协议处理结果未过期,可将其从缓存中读取,并发送至游戏客户端。当然,上述的预设时间也可根据实际需求进行灵活调整,本申请对此不做具体限制。
图11为本申请实施例提供的又一种跨服游戏实现方法的流程示意图;可选地,如图11所示,上述步骤S802中,根据协议处理结果的协议标识,确定是否为待缓存的协议处理结果,可以包括:
S901、确定协议标识,是否为预设的待缓存协议标识集合中的协议标识。
与前述确定游戏操作协议是否为待转发协议类似,本实施例中,同样可以根据获取的协议处理结果的协议标识、以及预设的待缓存协议标识集合,判断接收的协议处理结果是否为待缓存协议。
S902、若协议标识为待缓存协议标识集合中的协议标识,则确定协议处理结果为待缓存协议。
当待缓存协议标识集合中包含该协议处理结果的协议标识时,则确定该协议处理结果为待缓存协议,并将该协议处理结果添加至缓存中。
S903、若协议标识不为待缓存协议标识集合中的协议标识,则确定协议处理结果不为待缓存协议。
当待缓存协议标识集合中不包含该协议处理结果的协议标识时,则确定该协议处理结果不为待缓存协议,不将其添加至缓存中。
通过在游戏服务器中预先缓存部分协议处理结果,从游戏服务器中直接获取跨服服务器相关的协议内容,从而有效的减轻了跨服服务器的负载压力。
上述多个实施例所涉及的多个方法步骤是以游戏服务器为执行主体所执行的方法步骤,游戏服务器作为游戏客户端和跨服服务器之间的通信载体,实现游戏客户端和跨服服务器之间的通信协议转发。下述将对以跨服服务器为执行主体所执行的方法步骤进行详细说明,跨服服务器对接收的游戏服务器转发的游戏操作协议进行处理,并将处理结果发送至游戏服务器,以通过游戏服务器发送至游戏客户端。
图12为本申请实施例提供的一种跨服游戏实现方法的流程示意图;可选地,如图12所示,该方法可包括:
S110、接收游戏服务器发送的第一调用请求,第一调用请求包括:来自游戏客户端的游戏操作协议,以及游戏客户端的标识。
可选地,如上述所说明的,游戏服务器可通过rcp调用方式,发送第一调用请求,将接收的客户端发送的游戏操作协议发送至跨服服务器,并接收跨服服务器发送的游戏操作协议对应的协议处理结果。
跨服服务器的rcp接收接口接收第一调用请求,获取游戏操作协议、以及产生游戏操作协议的游戏客户端标识、以及游戏服务器的标识,并将获取的游戏操作协议传输至跨服服务器的协议处理接口,以进行协议处理。
S120、对游戏操作协议进行处理,得到游戏操作协议对应的第一协议处理结果。
S130、向游戏服务器发送第二调用请求,第二调用请求包括:游戏客户端的标识和第一协议处理结果,第一协议处理结果用于使得游戏服务器根据游戏客户端的标识,向游戏客户端发送第一协议处理结果,以使得游戏客户端执行对应的跨服游戏操作。
通常,跨服服务器可同时连接多个游戏服务器,以对来自多个游戏服务器所转发的游戏操作协议进行处理。那么,跨服服务器在将协议处理结果发送至游戏服务器时,则可以根据游戏服务器的标识与游戏客户端的标识之间的映射关系,将协议处理结果发送至对应的游戏服务器,以避免协议处理结果发送错误,对游戏的正常运行造成阻塞。
可选地,当跨服服务器对游戏操作协议进行处理,得到第一协议处理结果后,同样的,可采用rcp调用方式,发送第二调用请求,以根据游戏客户端的标识与游戏服务器的标识的映射关系,将得到的第一协议处理结果,发送至对应的游戏服务器,并由游戏服务器转发至对应的游戏客户端。从而使得游戏客户端可以执行相应的游戏操作,以实现游戏的跨服玩法。
可选地,上述步骤S110中,接收游戏服务器发送的第一调用请求之前,本申请的方法还可包括:响应游戏客户端在跨服服务器的注册请求,创建游戏客户端的标识和游戏服务器的标识之间的映射关系。
可选地,注册请求为游戏客户端在游戏服务器登录,或者,在跨服服务器登录之后,在跨服服务器触发的注册请求。
本实施例中,在实现跨服玩法时,游戏客户端既可在游戏服务器登录,也可直接在跨服服务器登录。无论是在游戏服务器登录还是在跨服服务器登录,在登录时,均可触发跨服服务器创建游戏客户端的标识与游戏服务器的标识的映射关系,也即在跨服服务器中注册游戏客户端信息。以建立游戏服务器、游戏客户端与跨服服务器之间的关联关系,以提高跨服服务器与游戏服务器之间通信的准确性,避免跨服服务器与游戏服务器之间通信协议转发错误。
可选地,本申请的方法还可包括:响应游戏客户端的解注册请求,删除映射关系。
可选地,解注册请求为游戏客户端在游戏服务器下线,或者,在跨服服务器下线之后,在跨服服务器触发的解注册请求。
当跨服玩法结束后,可将游戏客户端从所登录的游戏服务器或者是跨服服务器中退出登录。并触发跨服服务器解除所创建的游戏客户端的标识与游戏服务器的标识的映射关系,也即解绑定,以使得游戏服务器及游戏客户端可以根据需求,在再次登录游戏服务器时,重新进行注册,保证游戏客户端的标识与游戏服务器的标识之间映射的准确性,从而提高协议转发的准确性。
例如:当前游戏中,游戏客户端1登录的为游戏服务器1,跨服服务器中创建有游戏客户端1与游戏服务器1的映射关系,跨服服务器可将游戏客户端1请求的游戏操作协议通过游戏服务器1转发至游戏客户端1。
当前游戏结束后,再进行下轮游戏时,假设游戏客户端1登录的为游戏服务器2,而跨服服务器中创建的仍为游戏客户端1与游戏服务器1的映射关系,则将导致跨服服务器将游戏客户端1请求的游戏操作协议发送至游戏服务器1,而游戏服务器1连接的并非游戏客户端1,从而无法返回协议处理结果至游戏客户端1,从而导致游戏运行失败。
故本实施例中,在当前游戏结束后,跨服服务器会删除所创建的游戏客户端1与游戏服务器1的映射关系,并在新一轮游戏中,重新创建新的游戏客户端的标识与游戏服务器的标识的映射关系,以保证正常通信。
图13为本申请实施例提供的另一种跨服游戏实现方法的流程示意图;可选地,如图13所示,本申请的方法还可包括:
S210、确定目标游戏客户端是否在跨服服务器登录。
S220、若目标游戏客户端在跨服服务器登录,则向目标游戏客户端发送协议处理结果,以指示目标游戏客户端执行对应的跨服游戏操作。
在一种可实现的方式中,当游戏客户端直接在跨服服务器上登录的情况下,跨服服务器可直接获取游戏客户端的标识,接收游戏客户端发送的游戏操作协议,对游戏操作协议处理得到协议处理结果,并根据游戏客户端的标识,将协议处理结果发送至对应的游戏客户端,以使得游戏客户端执行对应的游戏操作。
可选地,本申请的方法还可包括:
S230、若目标游戏客户端未在跨服服务器登录,则向游戏服务器发送第三调用请求,第三调用请求包括:游戏客户端的标识和协议处理结果。
其中,第三调用请求用于使得游戏服务器根据游戏客户端的标识,向游戏客户端发送协议处理结果,以使得游戏客户端执行对应的跨服游戏操作。
在另一种可实现的方式中,当游戏客户端在游戏服务器上登录的情况下,跨服服务器则通过游戏服务器,将得到的协议处理结果发送至游戏客户端。具体实现原理与过程和上述步骤S110-S130相同,此处不再一一赘述。
图14为本申请实施例提供的一种跨服游戏实现方法的整体流程示意图;如图14中所示的多个方法步骤的实现原理及对应产生的效果已在上述实施例中进行了详细说明,此处不再进行赘述。如图14所示,本申请的跨服游戏实现方法可包括:
游戏服务器侧:
S310、接收游戏客户端发送的协议请求,协议请求包括:游戏操作协议。
S320、确定游戏操作协议是否为待转发协议。若是,则执行步骤S330-S370,若否,则执行步骤S380。
S330、若游戏操作协议为待转发协议,确定是否预先缓存有协议标识对应的协议处理结果。
S340、确定缓存的协议标识对应的协议处理结果是否过期。
S350、若未过期,则将缓存的协议处理结果发送至游戏客户端。
S360、若过期,则将游戏操作协议转发至跨服服务器。
S370、若未预先缓存有协议标识对应的协议处理结果,则将游戏操作协议转发至跨服服务器。
S380、若游戏操作协议不为待转发协议,则对游戏操作协议进行处理,将第二协议处理结果发送至游戏客户端。
S390、接收跨服服务器发送的第一协议处理结果。
S391、确定是否为待缓存的协议处理结果。
S311、若为待缓存的协议处理结果,则缓存协议处理结果。
S312、若不为待缓存的协议处理结果,则将协议处理结果发送至游戏客户端。
跨服服务器侧:
S313、判断游戏客户端是否在跨服服务器登录。
S314、若否,则接收游戏服务器发送的第一调用请求。
S315、对游戏操作协议进行处理,得到游戏操作协议对应的第一协议处理结果。
S316、向游戏服务器发送第一协议处理结果。
S317、若是,发送第一协议处理结果至游戏客户端。
方法的具体实现过程以及技术效果参见上述说明书,此处不再赘述。
另外需要说明的是,上述方法的执行顺序并不局限于步骤标号所对应的执行顺序,如图14所示,在执行步骤S370或者步骤S360之后,可继续执行步骤S313-S316,以实现跨服服务器对接收的游戏服务器发送的游戏操作协议进行处理,得到第一协议处理结果的步骤。并在执行步骤S316之后,对应执行步骤S390-S312,以实现部分协议处理结果的缓存。
综上所述,本申请实施例提供的一种跨服游戏实现方法,包括:接收游戏客户端发送的协议请求,协议请求包括:游戏操作协议;获取游戏操作协议对应的第一协议处理结果,第一协议处理结果为跨服服务器对游戏操作协议进行处理所得到协议处理结果;向游戏客户端发送第一协议处理结果,第一协议处理结果用于使得游戏客户端执行对应的跨服游戏操作。本方法通过游戏服务器实现游戏客户端与跨服服务器的协议通信,可以使得游戏服务器与跨服服务器同时在线,在实现游戏服务器玩法的同时,也可参与跨服服务器的玩法,实现跨服玩法与原服玩法的瞬时切换,提高用户的游戏体验度。
另外,通过游戏服务器预先缓存部分跨服服务器的协议处理结果,可实现从游戏服务器中直接获取游戏客户端发送的游戏操作协议对应的协议处理结果,有效降低了跨服服务器的负载压力。
下述对用以执行本申请所提供的跨服游戏实现方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图15为本申请实施例提供的一种跨服游戏实现装置的示意图;可选地如图15所示,该装置可包括:协议接收模块610、协议获取模块620、协议发送模块630;
协议接收模块610,用于接收游戏客户端发送的协议请求,协议请求包括:游戏操作协议;
协议获取模块620,用于获取游戏操作协议对应的第一协议处理结果,第一协议处理结果为跨服服务器对游戏操作协议进行处理所得的协议处理结果;
协议发送模块630,用于向游戏客户端发送第一协议处理结果,第一协议处理结果用于使得游戏客户端执行对应的跨服游戏操作。
可选地,该装置还包括:协议解压模块、确定模块;
协议解压模块,用于对游戏操作协议进行解包处理,得到游戏操作协议的协议标识;
确定模块,用于根据协议标识,确定游戏操作协议是否为待转发协议;
协议获取模块620,用于若游戏操作协议为待转发协议,则获取游戏操作协议对应的第一协议处理结果。
可选地,该装置还包括:协议处理模块;
协议处理模块,用于若游戏操作协议不为待转发协议,则对游戏操作协议进行处理,得到第二协议处理结果;
协议发送模块630,还用于向游戏客户端发送第二协议处理结果,第二协议处理结果用于使得游戏客户端执行对应的游戏操作。
可选地,确定模块,具体用于确定协议标识,是否为预设的待转发协议标识集合中的协议标识;若协议标识为待转发协议标识集合中的协议标识,则确定游戏操作协议为待转发协议;若协议标识不为待转发协议标识集合中的协议标识,则确定游戏操作协议不为待转发协议。
可选地,协议获取模块620,具体用于根据协议标识,确定是否预先缓存有协议标识对应的协议处理结果;若缓存有协议标识对应的协议处理结果,则确定预先缓存的协议标识对应的协议处理结果为第一协议处理结果。
可选地,协议获取模块620,具体用于确定缓存的协议标识对应的协议处理结果是否过期;若未过期,则确定缓存的协议标识对应的协议处理结果为第一协议处理结果。
可选地,协议获取模块620,还用于若未存缓协议标识对应的协议处理结果,或者,缓存的协议标识对应的协议处理结果已过期,则向跨服服务器发送第一调用请求,第一调用请求包括:游戏客户端的标识以及游戏操作协议,第一调用请求用于使得跨服服务器对游戏操作协议进行处理后,得到第一协议处理结果;
协议接收模块610,还用于接收跨服服务器发送的第二调用请求,第二调用请求包括:游戏客户端的标识以及第一协议处理结果。
可选地,该装置还包括:协议缓存模块;
协议接收模块610,具体用于接收跨服服务器发送的协议处理结果;
确定模块,还用于根据协议处理结果的协议标识,确定是否为待缓存的协议处理结果;
协议缓存模块,用于若为待缓存的协议处理结果,则缓存协议标识以及协议处理结果,并标记协议处理结果的缓存时间戳。
可选地,确定模块,具体用于确定协议标识,是否为预设的待缓存协议标识集合中的协议标识;若协议标识为待缓存协议标识集合中的协议标识,则确定协议内容为待缓存的协议处理结果;若协议标识不为待缓存协议标识集合中的协议标识,则确定协议内容不为待缓存的协议处理结果。
图16为本申请实施例提供的另一种跨服游戏实现装置的示意图;可选地,如图16所示,该装置可包括:协议接收模块710、协议处理模块720、协议发送模块730;
协议接收模块710,用于接收游戏服务器发送的第一调用请求,第一调用请求包括:来自游戏客户端的游戏操作协议,以及游戏客户端的标识;
协议处理模块720,用于对游戏操作协议进行处理,得到游戏操作协议对应的第一协议处理结果;
协议发送模块730,用于向游戏服务器发送第二调用请求,第二调用请求包括:游戏客户端的标识和第一协议处理结果,第一协议处理结果用于使得游戏服务器根据游戏客户端的标识,向游戏客户端发送第一协议处理结果,以使得游戏客户端执行对应的跨服游戏操作。
可选地,该装置还包括:注册模块;
注册模块,用于响应游戏客户端在跨服服务器的注册请求,创建游戏客户端的标识和游戏服务器的标识之间的映射关系;
可选地,注册请求为游戏客户端在游戏服务器登录,或者,在跨服服务器登录之后,在跨服服务器触发的注册请求。
可选地,注册模块,还用于响应游戏客户端的解注册请求,删除映射关系。
可选地,解注册请求为游戏客户端在游戏服务器下线,或者,在跨服服务器下线之后,在跨服服务器触发的解注册请求。
可选地,该装置还包括:确定模块;
确定模块,用于确定目标游戏客户端是否在跨服服务器登录;
协议发送模块730,具体用于若目标游戏客户端在跨服服务器登录,则向目标游戏客户端发送协议处理结果,以指示目标游戏客户端执行对应的跨服游戏操作。
可选地,协议发送模块730,还具体用于若目标游戏客户端未在跨服服务器登录,则向游戏服务器发送第三调用请求,第三调用请求包括:游戏客户端的标识和协议处理结果,第三调用请求用于使得游戏服务器根据游戏客户端的标识,向游戏客户端发送协议处理结果,以使得游戏客户端执行对应的跨服游戏操作。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图17为本申请实施例提供的一种游戏服务器的结构示意图,该游戏服务器可以为上述与游戏客户端及跨服服务器通信的服务器。该游戏服务器可包括:处理器801、存储器802。
存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
图18为本申请实施例提供的一种跨服服务器的结构示意图,该跨服服务器可以为上述与游戏服务器进行协议转发的服务器。该跨服服务器可包括:处理器901、存储器902。
存储器902用于存储程序,处理器901调用存储器902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (21)

1.一种跨服游戏实现方法,其特征在于,所述方法包括:
接收游戏客户端发送的协议请求,所述协议请求包括:游戏操作协议;
获取所述游戏操作协议对应的第一协议处理结果,所述第一协议处理结果为跨服服务器对所述游戏操作协议进行处理所得的协议处理结果;
向所述游戏客户端发送所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏客户端执行对应的跨服游戏操作。
2.根据权利要求1所述的方法,其特征在于,所述获取所述游戏操作协议对应的第一协议处理结果之前,所述方法还包括:
对所述游戏操作协议进行解包处理,得到所述游戏操作协议的协议标识;
根据所述协议标识,确定所述游戏操作协议是否为待转发协议;
若所述游戏操作协议为待转发协议,则获取所述游戏操作协议对应的第一协议处理结果。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述游戏操作协议不为待转发协议,则对所述游戏操作协议进行处理,得到第二协议处理结果;
向所述游戏客户端发送所述第二协议处理结果,所述第二协议处理结果用于使得所述游戏客户端执行对应的游戏操作。
4.根据权利要求2所述的方法,其特征在于,所述根据所述协议标识,确定所述游戏操作协议是否为待转发协议,包括:
确定所述协议标识,是否为预设的待转发协议标识集合中的协议标识;
若所述协议标识为所述待转发协议标识集合中的协议标识,则确定所述游戏操作协议为待转发协议;
若所述协议标识不为所述待转发协议标识集合中的协议标识,则确定所述游戏操作协议不为待转发协议。
5.根据权利要求2所述的方法,其特征在于,所述获取所述游戏操作协议对应的第一协议处理结果,包括:
根据所述协议标识,确定是否预先缓存有所述协议标识对应的协议处理结果;
若缓存有所述协议标识对应的协议处理结果,则确定预先缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果。
6.根据权利要求5所述的方法,其特征在于,所述确定预先缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果,包括:
确定缓存的所述协议标识对应的协议处理结果是否过期;
若未过期,则确定缓存的所述协议标识对应的协议处理结果为所述第一协议处理结果。
7.根据权利要求6所述的方法,其特征在于,所述获取所述游戏操作协议对应的第一协议处理结果,还包括:
若未存缓所述协议标识对应的协议处理结果,或者,缓存的所述协议标识对应的协议处理结果已过期,则向所述跨服服务器发送第一调用请求,所述第一调用请求包括:所述游戏客户端的标识以及所述游戏操作协议,所述第一调用请求用于使得所述跨服服务器对所述游戏操作协议进行处理后,得到所述第一协议处理结果;
接收所述跨服服务器发送的第二调用请求,所述第二调用请求包括:所述游戏客户端的标识以及所述第一协议处理结果。
8.根据权利要求5所述的方法,其特征在于,所述根据所述协议标识,确定是否预先缓存有所述协议标识对应的协议处理结果之前,所述方法还包括:
接收所述跨服服务器发送的协议处理结果;
根据所述协议处理结果的协议标识,确定是否为待缓存的协议处理结果;
若为待缓存的协议处理结果,则缓存所述协议标识以及所述协议处理结果,并标记所述协议处理结果的缓存时间戳。
9.根据权利要求8所述的方法,其特征在于,所述根据所述协议处理结果的协议标识,确定是否为待缓存的协议处理结果,包括:
确定所述协议标识,是否为预设的待缓存协议标识集合中的协议标识;
若所述协议标识为所述待缓存协议标识集合中的协议标识,则确定所述协议处理结果为待缓存的协议处理结果;
若所述协议标识不为所述待缓存协议标识集合中的协议标识,则确定所述协议处理结果不为待缓存的协议处理结果。
10.一种跨服游戏实现方法,其特征在于,所述方法包括:
接收游戏服务器发送的第一调用请求,所述第一调用请求包括:来自游戏客户端的游戏操作协议,以及所述游戏客户端的标识;
对所述游戏操作协议进行处理,得到所述游戏操作协议对应的第一协议处理结果;
向所述游戏服务器发送第二调用请求,所述第二调用请求包括:所述游戏客户端的标识和所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏服务器根据所述游戏客户端的标识,向所述游戏客户端发送所述第一协议处理结果,以使得所述游戏客户端执行对应的跨服游戏操作。
11.根据权利要求10所述的方法,其特征在于,所述接收游戏服务器发送的第一调用请求之前,所述方法还包括:
响应所述游戏客户端在跨服服务器的注册请求,创建所述游戏客户端的标识和所述游戏服务器的标识之间的映射关系;
12.根据权利要求11所述的方法,其特征在于,所述注册请求为所述游戏客户端在所述游戏服务器登录,或者,在所述跨服服务器登录之后,在所述跨服服务器触发的注册请求。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
响应所述游戏客户端的解注册请求,删除所述映射关系。
14.根据权利要求13所述的方法,其特征在于,所述解注册请求为所述游戏客户端在所述游戏服务器下线,或者,在所述跨服服务器下线之后,在所述跨服服务器触发的解注册请求。
15.根据权利要求10所述的方法,其特征在于,所述方法还包括:
确定目标游戏客户端是否在跨服服务器登录;
若所述目标游戏客户端在所述跨服服务器登录,则向所述目标游戏客户端发送协议处理结果,以指示所述目标游戏客户端执行对应的跨服游戏操作。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
若所述目标游戏客户端未在所述跨服服务器登录,则向所述游戏服务器发送第三调用请求,所述第三调用请求包括:所述游戏客户端的标识和所述协议处理结果,所述第三调用请求用于使得所述游戏服务器根据所述游戏客户端的标识,向所述游戏客户端发送所述协议处理结果,以使得所述游戏客户端执行对应的跨服游戏操作。
17.一种跨服游戏实现装置,其特征在于,所述装置包括:协议接收模块、协议获取模块、协议发送模块;
所述协议接收模块,用于接收游戏客户端发送的协议请求,所述协议请求包括:游戏操作协议;
所述协议获取模块,用于获取所述游戏操作协议对应的第一协议处理结果,所述第一协议处理结果为跨服服务器对所述游戏操作协议进行处理所得的协议处理结果;
所述协议发送模块,用于向所述游戏客户端发送所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏客户端执行对应的跨服游戏操作。
18.一种跨服游戏实现装置,其特征在于,所述装置包括:协议接收模块、协议处理模块、协议发送模块;
所述协议接收模块,用于接收游戏服务器发送的第一调用请求,所述第一调用请求包括:来自游戏客户端的游戏操作协议,以及所述游戏客户端的标识;
所述协议处理模块,用于对所述游戏操作协议进行处理,得到所述游戏操作协议对应的第一协议处理结果;
所述协议发送模块,用于向所述游戏服务器发送第二调用请求,所述第二调用请求包括:所述游戏客户端的标识和所述第一协议处理结果,所述第一协议处理结果用于使得所述游戏服务器根据所述游戏客户端的标识,向所述游戏客户端发送所述第一协议处理结果,以使得所述游戏客户端执行对应的跨服游戏操作。
19.一种游戏服务器,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当游戏服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至9任一所述的跨服游戏实现方法的步骤。
20.一种跨服服务器,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当跨服服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求10至16任一所述的跨服游戏实现方法的步骤。
21.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至16任一所述的跨服游戏实现方法的步骤。
CN202010786440.XA 2020-08-06 2020-08-06 跨服游戏实现方法、装置、服务器及存储介质 Active CN111870936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010786440.XA CN111870936B (zh) 2020-08-06 2020-08-06 跨服游戏实现方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010786440.XA CN111870936B (zh) 2020-08-06 2020-08-06 跨服游戏实现方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN111870936A true CN111870936A (zh) 2020-11-03
CN111870936B CN111870936B (zh) 2023-11-24

Family

ID=73211463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010786440.XA Active CN111870936B (zh) 2020-08-06 2020-08-06 跨服游戏实现方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN111870936B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112604270A (zh) * 2020-12-29 2021-04-06 北京冰封互娱科技有限公司 网络游戏的跨服方法、装置及设备
CN113398570A (zh) * 2021-06-30 2021-09-17 上海完美时空软件有限公司 服务器分组方法、设备、存储介质和服务器集群
CN113680050A (zh) * 2021-09-07 2021-11-23 北京原力棱镜科技有限公司 游戏请求的处理方法、装置、计算机设备及可读存储介质
CN114338776A (zh) * 2021-12-24 2022-04-12 完美世界(重庆)互动科技有限公司 游戏请求的处理方法、装置、计算机设备及可读存储介质
CN115776507A (zh) * 2023-02-09 2023-03-10 广州三七极耀网络科技有限公司 一种基于会话链路的信息分发方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177187A1 (en) * 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
CN106034118A (zh) * 2015-03-16 2016-10-19 广州四三九九信息科技有限公司 一种用于游戏的跨服务器方法
CN109510872A (zh) * 2018-11-28 2019-03-22 珠海金山网络游戏科技有限公司 一种跨服务器系统、一种跨服务器方法和服务器
CN110585697A (zh) * 2019-09-09 2019-12-20 网易(杭州)网络有限公司 一种游戏中的跨服控制方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177187A1 (en) * 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
CN106034118A (zh) * 2015-03-16 2016-10-19 广州四三九九信息科技有限公司 一种用于游戏的跨服务器方法
CN109510872A (zh) * 2018-11-28 2019-03-22 珠海金山网络游戏科技有限公司 一种跨服务器系统、一种跨服务器方法和服务器
CN110585697A (zh) * 2019-09-09 2019-12-20 网易(杭州)网络有限公司 一种游戏中的跨服控制方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112604270A (zh) * 2020-12-29 2021-04-06 北京冰封互娱科技有限公司 网络游戏的跨服方法、装置及设备
CN113398570A (zh) * 2021-06-30 2021-09-17 上海完美时空软件有限公司 服务器分组方法、设备、存储介质和服务器集群
CN113398570B (zh) * 2021-06-30 2023-07-21 上海完美时空软件有限公司 服务器分组方法、设备、存储介质和服务器集群
CN113680050A (zh) * 2021-09-07 2021-11-23 北京原力棱镜科技有限公司 游戏请求的处理方法、装置、计算机设备及可读存储介质
CN113680050B (zh) * 2021-09-07 2024-01-19 北京原力棱镜科技有限公司 游戏请求的处理方法、装置、计算机设备及可读存储介质
CN114338776A (zh) * 2021-12-24 2022-04-12 完美世界(重庆)互动科技有限公司 游戏请求的处理方法、装置、计算机设备及可读存储介质
CN115776507A (zh) * 2023-02-09 2023-03-10 广州三七极耀网络科技有限公司 一种基于会话链路的信息分发方法、装置、设备及介质
CN115776507B (zh) * 2023-02-09 2023-05-26 广州三七极耀网络科技有限公司 一种基于会话链路的信息分发方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111870936B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN111870936B (zh) 跨服游戏实现方法、装置、服务器及存储介质
CN110290217B (zh) 数据请求的处理方法及装置、存储介质及电子装置
US20140280522A1 (en) System and method for providing an actively invalidated client-side network resource cache
EP4029582A1 (en) Information processing method, system and apparatus, and device and storage medium
CN110535961B (zh) 资源获取方法、装置、电子设备和存储介质
US20140323166A1 (en) Method, device and system for voice communication
US11889133B2 (en) Burst traffic processing method, computer device and readable storage medium
CN110868607B (zh) 直播游戏互动方法、装置、服务器及可读存储介质
CN114095557A (zh) 数据处理方法、装置、设备以及介质
CN111414208A (zh) 应用程序的启动方法、装置及设备
CN115004673A (zh) 消息推送方法、装置、电子设备及计算机可读介质
CN110719221A (zh) 即时通信方法、装置、设备及存储介质
EP2974159B1 (en) Method, device and system for voice communication
CN115794139B (zh) 镜像数据处理方法、装置、设备以及介质
US10582563B2 (en) Service data group sending method, apparatus, and server
CN113259704A (zh) 直播间初始化方法、装置、设备及存储介质
CN115039392A (zh) 消息处理方法、装置、系统以及服务器
CN115445194A (zh) 游戏的渲染方法、装置、设备及存储介质
US20160226933A1 (en) Method and device for communicating between at least a first terminal and a second terminal
WO2016110258A1 (zh) 用户数据存储方法和装置
CN112398845B (zh) 数据传输方法、数据传输装置、系统及电子设备
CN112169312A (zh) 云游戏服务的排队调度方法、装置、设备和存储介质
CN109766347B (zh) 一种数据更新方法、装置、系统、计算机设备及存储介质
CN116244231A (zh) 一种数据传输方法、装置、系统、电子设备及存储介质
US10506021B2 (en) Method and device for providing communication connection for a plurality of candidate applications in a mobile device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant