From cb26aa9610bafe6baf0451e8dd41b288f0a5326a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 二月 2026 18:20:32 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(优化游戏服及跨服启动、通讯逻辑;服务器类型增加跨服中心、跨服事件、时间管理;跨服玩家在线状态、基础信息、玩家资源增减管理、发送跨服个人邮件等;跨服公会初版,修复公会成员审核、成员战力刷新等bug,增加公会名次同步;跨服公会暂未测试;)

---
 ServerPack/HA5_Family/FamilyCrossInfo                   |    0 
 ServerPack/HA5_Family/FamilyViewList.h                  |    1 
 ServerPack/HC2_CrossServerToServer/SSCommMsg.des        |    2 
 ServerPack/HC2_CrossServerToServer/ServerConnOK.h       |    9 ++++
 ServerPack/HA5_Family/RoleFamilyInfo.h                  |    1 
 ServerPack/HC2_CrossServerToServer/SSCommMsg.h          |    5 +-
 ServerPack/HC2_CrossServerToServer/SSHeart.h            |    9 ++++
 ServerPack/HA5_Family/FamilyCrossInfo.h                 |    9 ++++
 /dev/null                                               |    7 ---
 ServerPack/HA5_Family/FamilyMemDel.h                    |   10 +++++
 ServerPack/HC2_CrossServerToServer/SSHeart              |    0 
 ServerPack/HA5_Family/FamilyCrossInfo.des               |    1 
 ServerPack/HC2_CrossServerToServer/CrossCenterEvent.h   |    9 ++++
 ServerPack/HC2_CrossServerToServer/SSHeart.des          |    1 
 ServerPack/HA5_Family/FamilyMemDel                      |    0 
 ServerPack/HC2_CrossServerToServer/CrossCenterEvent.des |    1 
 ServerPack/HA5_Family/FamilyMemDel.des                  |    1 
 ServerPack/HC2_CrossServerToServer/ServerConnOK.des     |    1 
 ServerPack/HC2_CrossServerToServer/CrossCenterEvent     |    0 
 ServerPack/HC2_CrossServerToServer/ServerConnOK         |    0 
 20 files changed, 57 insertions(+), 10 deletions(-)

diff --git a/ServerPack/HC2_CrossServerToServer/tagSSTest b/ServerPack/HA5_Family/FamilyCrossInfo
similarity index 100%
copy from ServerPack/HC2_CrossServerToServer/tagSSTest
copy to ServerPack/HA5_Family/FamilyCrossInfo
diff --git a/ServerPack/HA5_Family/FamilyCrossInfo.des b/ServerPack/HA5_Family/FamilyCrossInfo.des
new file mode 100644
index 0000000..8cf715c
--- /dev/null
+++ b/ServerPack/HA5_Family/FamilyCrossInfo.des
@@ -0,0 +1 @@
+A5 05 公会跨服互通信息 #tagSCFamilyCrossInfo
diff --git a/ServerPack/HA5_Family/FamilyCrossInfo.h b/ServerPack/HA5_Family/FamilyCrossInfo.h
new file mode 100644
index 0000000..7da2da7
--- /dev/null
+++ b/ServerPack/HA5_Family/FamilyCrossInfo.h
@@ -0,0 +1,9 @@
+// A5 05 公会跨服互通信息 #tagSCFamilyCrossInfo
+
+struct	tagSCFamilyCrossInfo
+{
+	tagHead		Head;
+	BYTE		ZoneID;		// 所属分区
+	WORD		ServerCnt;
+	DWORD		ServerIDList[ServerCnt];	// 互通服务器ID列表
+};
diff --git a/ServerPack/HC2_CrossServerToServer/tagSSTest b/ServerPack/HA5_Family/FamilyMemDel
similarity index 100%
copy from ServerPack/HC2_CrossServerToServer/tagSSTest
copy to ServerPack/HA5_Family/FamilyMemDel
diff --git a/ServerPack/HA5_Family/FamilyMemDel.des b/ServerPack/HA5_Family/FamilyMemDel.des
new file mode 100644
index 0000000..f3191b9
--- /dev/null
+++ b/ServerPack/HA5_Family/FamilyMemDel.des
@@ -0,0 +1 @@
+A5 24 公会成员删除 #tagSCFamilyMemDel
diff --git a/ServerPack/HA5_Family/FamilyMemDel.h b/ServerPack/HA5_Family/FamilyMemDel.h
new file mode 100644
index 0000000..35a6131
--- /dev/null
+++ b/ServerPack/HA5_Family/FamilyMemDel.h
@@ -0,0 +1,10 @@
+// A5 24 公会成员删除 #tagSCFamilyMemDel
+
+struct	tagSCFamilyMemDel
+{
+	tagHead		Head;
+	BYTE		Type;		// 0-踢出;1-主动退出
+	DWORD		PlayerID;
+	BYTE		NameLen;
+	char		Name[NameLen];
+};
diff --git a/ServerPack/HA5_Family/FamilyViewList.h b/ServerPack/HA5_Family/FamilyViewList.h
index db84c99..061b32d 100644
--- a/ServerPack/HA5_Family/FamilyViewList.h
+++ b/ServerPack/HA5_Family/FamilyViewList.h
@@ -30,4 +30,5 @@
 	BYTE		TotalPage;	//一共有多少页
 	BYTE		FamilyCount;
 	tagMCFamilyView	FamilyList[FamilyCount];	//本页家族信息列表
+	DWORD		Rank;		//玩家公会所在名次,0-没有公会或没有在榜上;>0-对应排名
 };
diff --git a/ServerPack/HA5_Family/RoleFamilyInfo.h b/ServerPack/HA5_Family/RoleFamilyInfo.h
index 790bbbd..6b7178e 100644
--- a/ServerPack/HA5_Family/RoleFamilyInfo.h
+++ b/ServerPack/HA5_Family/RoleFamilyInfo.h
@@ -42,4 +42,5 @@
 	DWORD		LeaderID;	//族长玩家ID
 	BYTE		MemberCount;		//人数
 	tagMCRoleFamilyMember		MemberList[MemberCount];		//size = MemberCount
+	DWORD		Extra1;		//附加字段1
 };
diff --git a/ServerPack/HC2_CrossServerToServer/tagSSTest b/ServerPack/HC2_CrossServerToServer/CrossCenterEvent
similarity index 100%
copy from ServerPack/HC2_CrossServerToServer/tagSSTest
copy to ServerPack/HC2_CrossServerToServer/CrossCenterEvent
diff --git a/ServerPack/HC2_CrossServerToServer/CrossCenterEvent.des b/ServerPack/HC2_CrossServerToServer/CrossCenterEvent.des
new file mode 100644
index 0000000..9b08522
--- /dev/null
+++ b/ServerPack/HC2_CrossServerToServer/CrossCenterEvent.des
@@ -0,0 +1 @@
+C2 03 跨服中心事件同步 #tagSSCrossCenterEvent
diff --git a/ServerPack/HC2_CrossServerToServer/CrossCenterEvent.h b/ServerPack/HC2_CrossServerToServer/CrossCenterEvent.h
new file mode 100644
index 0000000..4eb8689
--- /dev/null
+++ b/ServerPack/HC2_CrossServerToServer/CrossCenterEvent.h
@@ -0,0 +1,9 @@
+// C2 03 跨服中心事件同步 #tagSSCrossCenterEvent
+
+struct	tagSSCrossCenterEvent
+{
+	tagHead		Head;
+	DWORD		ServerID;	
+	BYTE		ServerType;	//服务器类型
+	DWORD		EventValue;	//事件值,yyyyMMddhh用于判断过天等
+};
diff --git a/ServerPack/HC2_CrossServerToServer/SSCommMsg.des b/ServerPack/HC2_CrossServerToServer/SSCommMsg.des
index 4906aef..0fbd565 100644
--- a/ServerPack/HC2_CrossServerToServer/SSCommMsg.des
+++ b/ServerPack/HC2_CrossServerToServer/SSCommMsg.des
@@ -1 +1 @@
-C2 02 跨服通用信息包 #tagSSCommMsg
+C2 10 跨服通用信息包 #tagSSCommMsg
diff --git a/ServerPack/HC2_CrossServerToServer/SSCommMsg.h b/ServerPack/HC2_CrossServerToServer/SSCommMsg.h
index 2eb5213..b33d697 100644
--- a/ServerPack/HC2_CrossServerToServer/SSCommMsg.h
+++ b/ServerPack/HC2_CrossServerToServer/SSCommMsg.h
@@ -1,10 +1,11 @@
-// C2 02 跨服通用信息包 #tagSSCommMsg
+// C2 10 跨服通用信息包 #tagSSCommMsg
 
 struct	tagSSCommMsg
 {
 	tagHead		Head;
 	DWORD		FromServerID;	//哪个服发的
-	DWORD		ServerTime;	//来源服务器时间戳
+	BYTE		ServerType;	//服务器类型
+	DWORD		PlayerID;		//哪个玩家触发发送的
 	BYTE		TypeLen;
 	char		MsgType[TypeLen];
 	DWORD		Len;
diff --git a/ServerPack/HC2_CrossServerToServer/tagSSTest b/ServerPack/HC2_CrossServerToServer/SSHeart
similarity index 100%
rename from ServerPack/HC2_CrossServerToServer/tagSSTest
rename to ServerPack/HC2_CrossServerToServer/SSHeart
diff --git a/ServerPack/HC2_CrossServerToServer/SSHeart.des b/ServerPack/HC2_CrossServerToServer/SSHeart.des
new file mode 100644
index 0000000..23c8c3a
--- /dev/null
+++ b/ServerPack/HC2_CrossServerToServer/SSHeart.des
@@ -0,0 +1 @@
+C2 01 跨服服务器心跳包 #tagSSHeart
diff --git a/ServerPack/HC2_CrossServerToServer/SSHeart.h b/ServerPack/HC2_CrossServerToServer/SSHeart.h
new file mode 100644
index 0000000..f767dd1
--- /dev/null
+++ b/ServerPack/HC2_CrossServerToServer/SSHeart.h
@@ -0,0 +1,9 @@
+// C2 01 跨服服务器心跳包 #tagSSHeart
+
+struct	tagSSHeart
+{
+	tagHead		Head;
+	DWORD		ServerID;	
+	BYTE		ServerType;	//服务器类型
+	DWORD		ServerTime;	//服务器时间戳
+};
diff --git a/ServerPack/HC2_CrossServerToServer/tagSSTest b/ServerPack/HC2_CrossServerToServer/ServerConnOK
similarity index 100%
copy from ServerPack/HC2_CrossServerToServer/tagSSTest
copy to ServerPack/HC2_CrossServerToServer/ServerConnOK
diff --git a/ServerPack/HC2_CrossServerToServer/ServerConnOK.des b/ServerPack/HC2_CrossServerToServer/ServerConnOK.des
new file mode 100644
index 0000000..cdaaf16
--- /dev/null
+++ b/ServerPack/HC2_CrossServerToServer/ServerConnOK.des
@@ -0,0 +1 @@
+C2 02 服务器连接跨服成功 #tagSSServerConnOK
diff --git a/ServerPack/HC2_CrossServerToServer/ServerConnOK.h b/ServerPack/HC2_CrossServerToServer/ServerConnOK.h
new file mode 100644
index 0000000..338a38c
--- /dev/null
+++ b/ServerPack/HC2_CrossServerToServer/ServerConnOK.h
@@ -0,0 +1,9 @@
+// C2 02 服务器连接跨服成功 #tagSSServerConnOK
+
+struct	tagSSServerConnOK
+{
+	tagHead		Head;
+	DWORD		ServerID;	
+	BYTE		ServerType;	//服务器类型
+	BYTE		IsReconn;	//是否重连的
+};
diff --git a/ServerPack/HC2_CrossServerToServer/tagSSTest.des b/ServerPack/HC2_CrossServerToServer/tagSSTest.des
deleted file mode 100644
index 7aeb62e..0000000
--- a/ServerPack/HC2_CrossServerToServer/tagSSTest.des
+++ /dev/null
@@ -1 +0,0 @@
-C2 01 跨服服务器间的测试包 #tagSSTest
diff --git a/ServerPack/HC2_CrossServerToServer/tagSSTest.h b/ServerPack/HC2_CrossServerToServer/tagSSTest.h
deleted file mode 100644
index aaf6bda..0000000
--- a/ServerPack/HC2_CrossServerToServer/tagSSTest.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// C2 01 跨服服务器间的测试包 #tagSSTest
-
-struct	tagSSTest
-{
-	tagHead		Head;
-	DWORD		Data;  //测试
-};

--
Gitblit v1.8.0