From fc1f545af5f299f052a4e5a1525629d4c0747a5a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 31 三月 2026 14:34:49 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(跨服群英榜支持;支持跨服PK;优化多地图战斗分发支持重读;支持查看跨服榜单,支持后台查看榜单;优化玩家信息同步跨服及时性;修复跨服重启过快导致的游戏服不触发重连问题;)

---
 ServerPack/HC0_CrossRealm/CrossZoneInfo.des  |    2 +-
 ServerPack/HB4_FightDefine/TurnFightRet.h    |    1 +
 ClientPack/CA1_Sys/ViewBillboard.h           |    1 +
 ServerPack/HC0_CrossRealm/CrossZoneInfo.h    |    9 ++++++---
 ServerPack/HC2_CrossServerToServer/SSHeart.h |    1 +
 5 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/ClientPack/CA1_Sys/ViewBillboard.h b/ClientPack/CA1_Sys/ViewBillboard.h
index c33e6ad..fb172c3 100644
--- a/ClientPack/CA1_Sys/ViewBillboard.h
+++ b/ClientPack/CA1_Sys/ViewBillboard.h
@@ -9,4 +9,5 @@
 	WORD		StartIndex;	//查看的起始名次索引, 默认0
 	BYTE		ViewCnt;		//查看条数,默认20,单次最大不超过100
 	DWORD		ViewID;		//附带查看指定ID所在名次前后数据,如玩家ID、家族ID等
+	DWORD		CrossServerID;	//跨服榜时需发送所属跨服服务器ID,0默认本服
 };
diff --git a/ServerPack/HB4_FightDefine/TurnFightRet.h b/ServerPack/HB4_FightDefine/TurnFightRet.h
index c6b0bc6..8704e9a 100644
--- a/ServerPack/HB4_FightDefine/TurnFightRet.h
+++ b/ServerPack/HB4_FightDefine/TurnFightRet.h
@@ -16,4 +16,5 @@
 	char		BatStatMsg[BatLen];	//战斗相关统计信息
 	char		PathDate[8];		//战报路径日期, yyyyMMdd, 为空时代表公共类的战报,不为空时为玩家个人类战报
 	char		GUID[40];		//战报guid,前端根据功能MapID判断是否跨服功能,是的话从跨服服务器下载战报,否的话从本服下载
+	DWORD		CrossServerID;		//战报所在跨服ID,本服时为0
 };
diff --git a/ServerPack/HC0_CrossRealm/CrossZoneInfo.des b/ServerPack/HC0_CrossRealm/CrossZoneInfo.des
index 7490733..5f725f1 100644
--- a/ServerPack/HC0_CrossRealm/CrossZoneInfo.des
+++ b/ServerPack/HC0_CrossRealm/CrossZoneInfo.des
@@ -1 +1 @@
-C0 10 跨服所属分区信息 #tagGCCrossZoneInfo
+C0 10 跨服功能所属分区 #tagSCCrossZoneInfo
diff --git a/ServerPack/HC0_CrossRealm/CrossZoneInfo.h b/ServerPack/HC0_CrossRealm/CrossZoneInfo.h
index 6691e70..6e00718 100644
--- a/ServerPack/HC0_CrossRealm/CrossZoneInfo.h
+++ b/ServerPack/HC0_CrossRealm/CrossZoneInfo.h
@@ -1,7 +1,10 @@
-// C0 10 跨服所属分区信息 #tagGCCrossZoneInfo
+// C0 10 跨服功能所属分区 #tagSCCrossZoneInfo
 
-struct	tagGCCrossZoneInfo
+struct	tagSCCrossZoneInfo
 {
 	tagHead		Head;
-	BYTE		CommZoneID;	// 所属常规分区ID
+	DWORD		MapID;		// 功能地图ID,有收到该封包时代表该功能开始跨服了,但并不一定有分区互通信息,可能处于分配阶段
+	DWORD		ZoneID;		// 所属分区,可能为0
+	WORD		ServerCnt;
+	DWORD		ServerIDList[ServerCnt];	// 互通服务器ID列表,可能为空
 };
diff --git a/ServerPack/HC2_CrossServerToServer/SSHeart.h b/ServerPack/HC2_CrossServerToServer/SSHeart.h
index f767dd1..cc7962f 100644
--- a/ServerPack/HC2_CrossServerToServer/SSHeart.h
+++ b/ServerPack/HC2_CrossServerToServer/SSHeart.h
@@ -6,4 +6,5 @@
 	DWORD		ServerID;	
 	BYTE		ServerType;	//服务器类型
 	DWORD		ServerTime;	//服务器时间戳
+	BYTE		IsResart;		//是否重启了
 };

--
Gitblit v1.8.0