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