本技術涉及游戲部署運維領域,特別是涉及一種游戲對局處理方法方法、系統、電子設備和存儲介質。
背景技術:
1、在游戲戰斗過程中,需要戰斗服務器與匹配服務器協同合作,以確保玩家能夠快速、穩定地進入戰斗場景,并實現戰斗所需數據的準確傳輸。這不僅關系到玩家的游戲體驗,也影響著游戲的整體運營效率和穩定性。戰斗服務器與匹配服務器之間高效、可靠的配合,是滿足玩家需求、提升游戲競爭力的關鍵。
2、在相關技術中,普遍的做法是讓游戲戰斗服務器與匹配服務器建立緊密連接。當玩家發起戰斗請求時,匹配服務器首先對玩家進行匹配操作,確定其應進入的戰斗服。隨后,通過多服務器之間的層層轉發,將玩家的相關數據傳輸至對應的戰斗服。這一系列過程涉及多個服務器之間的協作,旨在將玩家準確無誤地分配到合適的戰斗環境中,并為戰斗的開展提供必要的數據支持。
3、但是,若存在多個匹配服務器,戰斗服要分別與多個匹配服務器建立連接,配置搭建繁瑣且運維難度大增。另外,玩家對局數據需多服務器轉發,鏈路長,一旦某鏈路故障,戰斗開局就會失敗,影響玩家體驗。并且,數據傳輸涉及的服務器需保持版本與協議一致,耦合性高,開發時一處變動可能影響全局,導致開發復雜且易出錯,阻礙游戲優化更新。
技術實現思路
1、本技術實施例提供了一種游戲對局處理方法、系統、電子設備和計算機可讀存儲介質,以至少解決相關技術中游戲對局環境配置搭建繁瑣的問題。
2、第一方面,本技術實施例提供了一種游戲對局處理方法,所述方法包括:
3、多個戰斗服分別將自身的狀態信息注冊至redis服務數據庫,其中,所述redis服務數據庫部署于游戲的主服務器;
4、響應客戶端對局請求,通過匹配服務器基于預設匹配算法,從待選玩家隊列中獲取將要進行執行對局的對局玩家信息;
5、通過所述主服務器,根據所述對局玩家信息在所述redis服務數據庫中查詢所述狀態信息,以確定最優戰斗服;
6、將所述最優戰斗服的ip端口信息、所述對局玩家信息和游戲單局信息匯總加密為成局數據,并將所述成局數據發送至與所述對局玩家信息對應的各個客戶端;
7、所述客戶端收到所述成局數據之后,連接所述最優戰斗服并開始游戲對局。
8、在其中一些實施例中,所述戰斗服按照預設時間間隔將所述狀態信息上傳至redis服務數據庫,所述狀態信息包括:當前對局數量、服務程序狀態和可承載對局數量。
9、在其中一些實施例中,多個戰斗服分別將自身的狀態信息注冊至redis服務數據庫包括:
10、分別在各個戰斗服中構建redis客戶端庫,并通過所述redis客戶端庫與所述redis服務數據庫建立網絡連接;
11、通過redis客戶端庫的api函數和所述網絡連接,按照預設時間間隔,將所述狀態信息存儲至所述redis服務數據庫。
12、在其中一些實施例中,根據所述對局玩家信息在所述redis服務數據庫中查詢所述狀態信息,以確定最優戰斗服包括:
13、所述主服務器,從所述redis服務數據庫中查詢實時更新的戰斗服的狀態信息;
14、根據所述狀態信息,基于預設算法,分別解析獲取各個戰斗服的評估指標,其中,所述評估指標包括服務器負載、網絡延遲、當前對局數量和可承載對局數量;
15、根據對局需求,確定各個評估指標添加權重,并通過加權求和算法,根據所述評估指標和所述權重,實時計算各個戰斗服的綜合得分;
16、獲取當前狀態下,所述綜合得分最高的戰斗服,得到所述最優戰斗服。
17、在其中一些實施例中,所述客戶端收到所述成局數據之后,連接所述最優戰斗服并開始游戲對局包括:
18、各個客戶端分別通過所述ip端口信息,與所述最優戰斗服建立連接通道;
19、各個客戶端上傳玩家對局數據至所述最優戰斗服,所述最優戰斗服接收所述玩家對局數據,并通過解密算法解密所述玩家對局數據;
20、所述最優戰斗服在接收到所有客戶端發送的玩家對局數據之后,指示所述客戶端開始游戲對局,并根據所述解密之后的玩家對局數據進行游戲對局運算。
21、在其中一些實施例中,基于預設匹配算法,從待選玩家隊列中獲取將要進行執行對局的對局玩家信息包括:
22、獲取所述待選玩家隊列中各個玩家的綜合等級評分,并根據所述綜合等級評分,將各個玩家劃分至不同的等級區間,其中,所述綜合等級評分基于玩家的歷史勝率、kda和對局得分得到;
23、從每個等級區間中選取數量相近的玩家的賬戶信息,得到所述對局玩家信息。
24、第二方面,本技術實施例提供了一種游戲對局處理系統,所述系統包括:部署模塊、需求響應模塊和信息下發模塊,其中;
25、所述部署模塊用于,多個戰斗服分別將自身的狀態信息注冊至redis服務數據庫,其中,所述redis服務數據庫部署于游戲的主服務器;
26、所述需求響應模塊用于,響應客戶端對局請求,通過匹配服務器基于預設匹配算法,從待選玩家隊列中獲取將要進行執行對局的對局玩家信息;
27、以及,通過所述主服務器,根據所述對局玩家信息在所述redis服務數據庫中查詢所述狀態信息,以確定最優戰斗服;
28、所述信息下發模塊用于,將所述最優戰斗服的ip端口信息、所述對局玩家信息和游戲單局信息匯總加密為成局數據,并將所述成局數據發送至與所述對局玩家信息對應的各個客戶端;所述客戶端收到所述成局數據之后,連接所述最優戰斗服并開始游戲對局。
29、在其中一些實施例中,所述戰斗服按照預設時間間隔將所述狀態信息上傳至redis服務數據庫,所述狀態信息包括:當前對局數量、服務程序狀態和可承載對局數量。
30、第三方面,本技術實施例提供了一種計算機設備,包括存儲器、處理器以及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如上述第一方面所述的方法。
31、第四方面,本技術實施例提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現如上述第一方面的方法。
32、相比于相關技術,本技術實施例提供的游戲對局處理方法,通過對于相關技術中的對局方法存在戰斗服配置搭建復雜、傳輸穩定性低且耦合性高導致開發迭代難的問題,本技術技術方案,利用?redis?解耦戰斗服與匹配服,實現高效部署;玩家開局時,服務器將加密的玩家數據和戰斗服?ip?端口信息發送給客戶端。客戶端收到后,依據?ip?端口信息與戰斗服建立連接,連接成功便將玩家數據上報給戰斗服。從而改變了傳統的數據傳輸路徑,使戰斗服所需數據不再經多個服務器轉發,直接通過客戶端傳遞,大大縮短傳輸鏈路,提高了傳輸穩定性。進一步地,戰斗服與匹配服之間拋棄網絡連接。戰斗服將自身狀態信息注冊更新到?redis,匹配服通過?redis?獲取戰斗服信息來分配開局。這種方式以?redis替代復雜網絡連接,有效降低了兩者之間的耦合性,減少因服務器版本和協議一致性帶來的開發迭代難題,同時也降低了運維維護復雜度,為游戲戰斗服務的高效穩定運行提供了有力支持保障游戲服務的高效、穩定運行與持續發展。