From 01a0e539b786ae0f1c46646874502367f5410aca Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 04 二月 2026 18:18:51 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(优化游戏服及跨服启动、通讯逻辑;服务器类型增加跨服中心、跨服事件、时间管理;跨服玩家在线状态、基础信息、玩家资源增减管理、发送跨服个人邮件等;跨服公会初版,修复公会成员审核、成员战力刷新等bug,增加公会名次同步;跨服公会暂未测试;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 52 insertions(+), 6 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index d504b88..650e9f8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -33,6 +33,7 @@
Def_MixServerDay = 'MixServerDay' #服务器已经合服多少天
Def_IsMixServerInitOK = 'IsMixServerInitOK' #服务器合服首次启动OK
Def_LastMixServerDay = 'LastMixServerDay' #上次合服时的开服天数
+Def_CrossCenterEvent = 'CrossCenterEvent' # 跨服中心事件值
#首次开服时间,注意不要用该日期做开服天相关的功能逻辑,如果要用开服天,请用 Def_ServerDay
''' 原因:
因为目前开服天的逻辑大部分是用 Def_ServerDay,当出现服务器宕机超过24小时时,就会导致 Def_ServerDay 与 Def_InitOpenServerTime 不对应
@@ -42,9 +43,9 @@
Def_InitOpenServerTime = 'InitOpenServerTime'
Def_SetOpenServerTime = 'SetOpenServerTime' # GM工具预定的开服时间
-
+Def_FamilyCrossState = 'FamilyCrossState' # 本服公会跨服状态, 0-未跨服;1-已跨服
+Def_FamilyTransDataTime = 'FamilyTransDataTime' # 本服公会首次跨服互通数据开始传输时间戳,不为0代表传输数据中
Def_OSAAwardState = 'OSAAwardState' #开服冲榜活动结算状态
-# ------------------------- WorldKey -------------------------
#---奇迹, 职业枚举定义---
(
@@ -988,7 +989,7 @@
#家族行为类型 在GameServer.ChConfig.ActionTypeSaveCnt 中配置最高存储条数
Def_ActionTypeList = (
- Def_ActionType_FamilyData, #仙盟额外记录信息0
+ Def_ActionType_0,
Def_ActionType_1,
Def_ActionType_2,
Def_ActionType_FamilyAdd, #申请进入家族3
@@ -1062,11 +1063,19 @@
CampType_Evil, #邪恶(与 Def_ID2Win 一致)
] = range(3)
-# json里的配表 服务器类型(0主服,1子服,2跨服,3战斗服)]
+# serverJosn里配置索引 ServersConfig.json目前配置规则{SeverID:[GroupName,MapID,服务器类型(0主服,1子服,2跨服)], ...}
+(
+serverCfgIndex_GroupName, # 所属 GroupName
+serverCfgIndex_MapID, # 服务器对应的地图ID
+serverCfgIndex_ServerType, # 服务器类型
+) = range(3)
+
+# json里的配表 服务器类型(0主服,1子服,2跨服,3战斗服,4跨服中心)]
serverType_Main = 0 # 0主服
serverType_Child = 1 # 1子服
serverType_Cross = 2 # 2跨服
serverType_Battle = 3 # 3战斗服
+serverType_CrossCenter = 4 # 4跨服中心,只允许最多1台
# dirType //0全广播,1通知主服务器排除合服子服,2通知服务器包含合服子服, 3通知跨服服务器 ,4通知战斗服务器
dirType_All = 0 # 0全广播
@@ -1074,10 +1083,47 @@
dirType_Child = 2 # 2通知服务器包含合服子服
dirType_Cross = 3 # 3通知跨服服务器
dirType_Battle = 4 # 4通知战斗服务器
+dirType_MainAndCross = 5 # 通知主服务器+跨服
+
+# 服务器间连接状态
+(
+ssConn_Unknown, # 未知 0
+ssConn_Normal, # 正常连接 1
+ssConn_Disconnected, # 断开 2
+) = range(3)
# 服务器间的信息定义
-SSMsg_BattleRequest = "SS_BattleRequest"
-SSMsg_BattleResult = "SS_BattleResult"
+# 服务器类型简写: C - 跨服/跨服中心; CC - 跨服中心;S - 游戏服; B - 战斗服
+
+# 跨服中心 -> 其他跨服
+CC2C_FamilyCrossCfg = "CC2C_FamilyCrossCfg" # 公会分区配置
+
+# 跨服 -> 游戏服
+#C2S_PlayerLoginOK = "C2S_PlayerLoginOK" # 跨服玩家处理登录成功
+C2S_SendFakePack = "C2S_SendFakePack" # 给玩家发送封包
+C2S_FamilyCrossInfo = "C2S_FamilyCrossInfo" # 跨服同步给游戏服的公会信息
+C2S_FamilyDataRet = "C2S_FamilyDataRet" # 公会首次跨服互通时同步数据结果回复
+C2S_FamilyMapPlayer = "C2S_FamilyMapPlayer" # 给公会玩家处理地图服务器逻辑
+C2S_FamilyPyPackRet = "C2S_FamilyPyPackRet" # 公会功能玩家请求包处理结束回包,一般用于重置请求cd等
+C2S_NotifyCode = "C2S_NotifyCode" # 给玩家发送信息提示
+C2S_CostPlayerResources = "C2S_CostPlayerResources" # 扣除玩家资源,货币、物品等
+C2S_GivePlayerResources = "C2S_GivePlayerResources" # 奖励玩家资源,货币、物品等
+C2S_SetPlayerNomalDict = "C2S_SetPlayerNomalDict" # 设置玩家字典值
+C2S_SendPlayerMail = "C2S_SendPlayerMail" # 发送玩家个人邮件
+
+# 游戏服 -> 跨服
+S2C_OnlineState = "S2C_OnlineState" # 玩家在线状态同步
+S2C_PlayerBaseInfo = "S2C_PlayerBaseInfo" # 玩家基础信息同步
+S2C_FamilyData = "S2C_FamilyData" # 公会首次跨服互通时同步数据
+S2C_FamilyPyPack = "S2C_FamilyPyPack" # 公会功能玩家请求包
+S2C_GMCMD = "S2C_GMCMD" # GM命令
+
+# 其他
+S2B_BattleRequest = "S2B_BattleRequest" # 战斗请求
+B2S_BattleResult = "B2S_BattleResult" # 战斗结果
+
+# Debug日志不输出通讯数据明细的类型,debug模式下看,一些纯数据类的可不输出通讯数据明细
+NoLogDataSSMsgTypes = [S2B_BattleRequest, B2S_BattleResult, S2C_FamilyData, C2S_SendFakePack]
# 跨服服务器发送子服信息定义
CrossServerMsg_CrossServerState = "CrossServerState" # 跨服服务器状态变更
--
Gitblit v1.8.0