Files
mir_server/sdk/commonLib/def/InterServerComm.h

544 lines
19 KiB
C
Raw Permalink Normal View History

2025-01-09 17:45:40 +08:00
#pragma once
/****************************************************************************************/
/* 服务端之间通信协议定义
/* 命名规范:
/* namespace 服务端名称Proto
/* {
/* enum e目标服务端名称Code
/* {
/* //通信消息号注释数据段格式数据名称数据类型【byte,short,int,shortString,string】
/* c消息号别名 = 消息号值其中c表示通信双方中的客户端方发送从1开始
/* //通信消息号注释数据段格式数据名称数据类型【byte,short,int,shortString,string】
/* s消息号别名 = 消息号值其中s表示通信双方中的服务端方发送从1开始
/* };
/* };
/****************************************************************************************/
namespace jxInterSrvComm
{
namespace NameServerProto
{
enum eNameServerCode
{
//发送通信心跳包
cKeepAlive = 1,
//申请角色ID角色名称string
cAllocCharId,
//申请帮会ID帮会名称string
cAllocGuildId,
//申请重命名角色角色IDint角色新名称string
cRenameChar,
//申请重命名帮会帮会IDint帮会新名称string
cRenameGuild,
//申请跨服角色ID角色名称string
cCrossAllocCharId,
//发送通信心跳包
sKeepAlive = 1,
//返回申请角色ID结果角色名称string操作错误号int(NAMESERVER_OPERROR)角色分配的ID值int仅当操作成功时有意义
sAllocCharId,
//返回申请帮会ID结果角色名称string操作错误号int(NAMESERVER_OPERROR)帮会分配的ID值int仅当操作成功时有意义
sAllocGuildId,
//返回申请重命名角色结果角色新名称string操作错误号int(NAMESERVER_OPERROR)
sRenameChar,
//返回申请重命名帮会结果帮会新名称string操作错误号int(NAMESERVER_OPERROR)
sRenameGuild,
//跨服角色ID结果
sCrossAllocCharId,
};
/** 名称服务器操作返回值定义 **/
typedef enum tagNameServerOPError
{
neSuccess = 0, //操作成功
neInvalidName = 1, //名称无效,名称中包含非法字符或长度不合法
neDataBaseError = 2, //名称服务器数据库操作错误
neDataBaseCallError = 3,//名称服务器数据库调用错误
neNameinuse = 4, //名称已被使用
neDBlimitCreate = 5, //禁止创建角色
neTimedOut = 0xFFFF, //操作超时(本地定义的错误,非名称服务器返回的错误)
}NAMESERVER_OPERROR;
}
namespace SessionServerProto
{
enum eSessionServerCode
{
//发送通信心跳包
cKeepAlive = 0,
//返回是否在线的数据包(nSessionID:int, nIsOnline:BYTE)
cQueryResult =1,
//关闭会话连接(nSessionID: int)
cCloseSession =2,
//向session服务器更新状态(nSessionId:int, state:int )
cUpdateSession =3,
//逻辑服务器向会话服务器发送在线人数
cOnlineCount = 4,
//获取用户的活动背包数据
cUserItemList = 5,
//用户领取活动背包
cGetUserItem = 6,
//删除活动物品
cDeleteUserItem = 7,
//增值序列号
cAddValueCard = 8,
// 查询增值卡信息
cQueryAddValueCard = 9,
// 查询元宝数量
cQueryYuanbaoCount = 10,
// 提取元宝
cWithdrawYuanbao = 11,
//确认已经收到了
cConformOpenSession =12,
// 请求传送
cRequestTransmit = 13,
//战区里派发
cSendGroupMessage = 14,
//向所有的服广播或者发给特定服
cBroadcastOr1SrvMessage = 15,
// 保存战力排行榜
cSaveCsRank = 16,
// 获取跨服战力排行榜数据
cLoadCsRank = 17,
// 清除跨服排行榜
cClearCsRank = 18,
//逻辑服发来的,准备检测用户名和密码
cLogicCheckPasswd =19,
//逻辑服发来的,创建一个账户
cLogicCreateAccount =20,
//设置公告服的ID
cSetCommonServerId =21,
//转发后台消息给会话
cSendMgrMsgToSession = 22,
//用于腾讯平台的消息
cQQMsg=23,
//设置中心会话服的连接
CSendCommonPlatformInfo = 24,
//请求传送到跨平台服务器
CTransToCommonPlatform = 25,
//发送通信心跳包
sKeepAlive = 0,
//打开一个连接,session数据: GLOBALSESSIONOPENDATA )
sOpenSession =1,
//关闭一个连接(nSessionId:int )
sCloseSession =2,
//更新状态(nSessionId:int, state:int )
sUpdateSession=3,
//查询是否session在线(nSessionID: int)
sQuerySessionExist =4,
//返回用户的活动背包数据
sUserItemList = 5,
//用户领取活动背包的结果
sGetUserItem = 6,
//删除活动物品
sDeleteUserItem = 7,
//增值序列号
sAddValueCard= 8,
// 查询增值卡
sQueryAddValueCard = 9,
// 查询元宝数量
sQueryYuanbaoCount = 10,
// 提取元宝
sWithdrawYuanbao = 11,
// 请求传送应答消息
sReqestRransmitAck = 12,
// 获取跨服战力排行榜数据
sLoadCsRank = 13,
//检测账户的结果
sCheckPasswdResult = 14,
//创建账户的结果
sCreateAccountResult = 15,
//转发从其他逻辑服来的数据
sOtherLogicMessage =16,
// 转发战区的消息
sRecvGroupMessage = 17,
//踢掉在线的跨服用户
sKickCrossServerUser=18,
//腾讯相关消息的返回 (集市任务等)
sQQMsg=19,
//请求跨平台传送回答
sReqestPlatformAck = 20,
//集市任务相关
sTaskAck = 21,
//模拟检测账户的结果
sSimulateCheckPasswdResult = 25,
};
/** 跨服消息定义 **/
enum// eForwardLogicMsgCmd
{
fcDefault = 0, // 默认
fcBroadcastTipmsg, // 跨服发布全服系统提示
fcRankUpdate, // 跨服Ranking更新
fcWorldBroadCastMsg, // 跨服世界广播消息包
fcScriptData, // 脚本数据包
fcCrossBossDie, //跨服boss被杀广播
fcCrossWorldFirstOne, //跨服天下第一战神
fcCrossASbkOwnMsg, //跨服沙巴克占领消息
fcCrossPosToServer, //发送跨服沙巴克职位给各服务器
fcBroadToCrossSbkGuild, //广播可以攻沙的跨服的行会
fcBroadSetCrossSbkPos, //广播设置跨服沙巴克职位
fcSendCrossBattlefieldSignupInfoToCommonServer, ///< 向跨服发送降魔战场的报名信息
fcBroadCrossBattlefieldSignupInfo, ///< 降魔战场广播报名信息
};
/** 其他逻辑服消息发送定义 **/
enum// eOtherLogicMsgCmd
{
dmDefault = 0,
lcLoadOfflineData, //请求装载离线信息
lcSaveOfflineData, //返回离线信息
lcBroadToSaveCsRank, //广播所有逻辑服将雕像榜单数据发到session
lcBroadToLoadCsRank, //广播所有逻辑服重新取下榜单
//lcBroadHundredServerCsRank, //广播百服排行
//lcClearHundredServerCsRank, //广播清除所有百服排行
//lcBroadDoule12LotteryPointCsRank, //广播百服排行
//lcBroadNHLotteryPointCsRank, //广播百服排行
//lcSendGuildToForwardLogic, //发送行会列表到跨服服务器
//lcBroadTreasureAuctionCsRank, //发送珍宝拍卖排行榜
};
/** 名称服务器操作返回值定义 **/
typedef enum tagSeServerOPError
{
neSuccess = 0, //操作成功
neSSErr, //数据库执行错误
}SESSION_SERVER_OPERROR;
}
namespace DbServerProto
{
/**数据服务器和逻辑服务器的命令码**/
enum// tagDBRecvCmd
{
dcDefault, //默认处理0
dcQuery=1, //查询数据
dcSave = 2, //保存数据
dcLoadActor = 3, //加载用户认证信息3
dcLoadQuest = 4, //装置任务数据
dcSaveQuest = 5, //保存用户的任务数据
dcLoadSkill = 6, //装置技能数据
dcSaveSkill = 7, //保持技能数据
dcLoadOtherGameSets = 8, //load游戏快捷键设置
dcSaveOtherGameSets = 9, //save游戏快捷键设置
dcLoadBagItem = 10, //装载背包物品
dcSaveBagItem = 11, //保存背包物品数据
dcLoadEquipItem = 12, //装载装备物品
dcSaveEquipItem = 13, //保存装备物品
dcLoadDepotItem = 14, //装载仓库物品
dcSaveDepotItem = 15, //保存仓库物品13
dcLoadVar = 16, //加载角色变量
dcSaveVar = 17, //保存角色变量
dcQuerySubSystemData = 18, //装载其他子系统的数据,在各子系统全部都创建完毕以后,向数据服务器发送该数据包
dcLoadCircleCount = 19, //装载转生次数总总人数
dcLoadStaticCount = 20, //装载玩家计数器
dcSaveStaticCount = 21, //保存玩家计数器
dcLoadActiveBag, //加载角色的活动背包
dcGetActiveItem, //获取活动物品
dcDeleteActiveItem, //删除活动物品
dcLoadHeroItem, //装载英雄的物品
dcSaveHeroItem, //保存英雄的物品
dcLogout, // 玩家下线
dcLoadGuildList, //帮派组件读入所有帮派的数据
dcLoadGuildDetail, //帮派的详细数据
dcLoadGuildApplyLists = 30, //帮派申请列表
dcDealGuildApply, //处理申请
dcLoadActorApplyResult, //加载玩家申请行会结果
dcSaveActorApplyResult, //保存玩家申请行会结果
dcAddGuild, //增加帮派
dcDeleteGuild, //解散帮派
dcSaveGuild = 36, //保存帮派的信息
dcAddMember, //增加帮派成员
dcSaveActorGuild, //保存个人帮派信息
dcLoadActorGuild, //读入个人帮派信息
dcDeleteMember = 40, //删除某个成员
dcAddMemberOffLine, //帮派增加一个不在线的成员,数据服务器要返回这个成员的详细数据
dcInitGuildSkill, //初始化帮派技能
dcLoadGuildSkill, //增加帮派技能的详细数据
dcSaveGuildEvent, //保存帮派事件
dcLoadGuildEvent, //初始化帮派事件
dcSaveGuildDepotRecord, //保存行会仓库的操作记录
dcLoadGuildDepotRecord, //加载行会仓库操作记录
dcSaveGuildDepotItem, //存储行会仓库物品到数据库
dcLoadGuildDepotItem, //加载行会仓库物品
dcSaveGuildSkill = 50, //保存帮派技能信息
dcLoadAchieveMent, //加载玩家成就数据
dcSaveAchieveMent, //保存玩家成就数据
dcLoadMsg, //读取用户的消息数据
dcDeleteMsg, //删除某条消息
dcAddMsg, //增加用户一条信息
dcAddMsgByActorName, // 增加用户一条信息(通过玩家名称)
dcLoadHeroData, //装载宠物的数据
dcLoadHeroSkillData, //装载宠物的技能的数据
dcSaveHeroData, //保存宠物的数据
dcSaveHeroSkillData, //保存宠物的技能数据
dcLoadBaseRank, //读取有关头衔的排行榜数据
dcSaveBaseRank, //刷新头衔排行榜数据
dcSaveBaseRankCS, //刷新跨服排行榜数据
dcLoadPetDetailData, //装载宠物的装备/技能等具体数据
dcSaveRelation, //保存师徒信息
dcLoadRelation, //加载师徒信息
dcLoadOfflineUserInfo, //装载离线玩家的信息
dcLoadOfflineUserBasic, //装载离线玩家的基本信息
dcLoadOfflineUserOther, //装载离线玩家的装备信息
dcSaveOfflineInfo, // 保持玩家离线信息
dcLoadOfflineUserHeroInfo , //装载离线玩家英雄的信息
dcLoadOfflineUserHeroBasic, //装载离线玩家英雄的基本信息
dcLoadOfflineUserHeroEquips, //装载离线玩家英雄的装备信息 TO DELETE
dcUpdateChallengeData, // 更新擂台信息
dcLoadCombatRankInfo, //从db获取战力排行的信息
dcLoadCmobatGameInfo, //加载职业宗师的基本信息
dcSaveCombatGameInfo, //保存职业宗师的基本信息
dcLoadCombatRecord, //加载职业宗师战报
dcSaveCombatRecord, //保存职业宗师战报
dcUpdateCombatBaseInfo, //刷新个人排名的奖励排名
dcLoadFriendsData, //加载好友等关系的数据
dcSaveFriendsData, //保存好友数据
dcDeleteFriendData, //删除好友数据
dcAddFriendChatMsg, //保存离线聊天消息
dcLoadFriendChatMsg, //加载离线聊天消息
dcAddFilterWordsMsg, //后台添加屏蔽字到表里
dcBackRemoveItem, //后台删除物品
dcBackRemoveMoney, //台后删除金钱
dcLoadGameSetData, //加载游戏设置的数据
dcSaveGameSetData, //保存游戏设置的数据
dcLoadTopLevelActor, //取各职业排名第一名的玩家
dcLoadCombinLevelActor, //合区等级大于60级的玩家
dcLoadCombinBattleActor, //合区战力排行前10名的玩家
dcLoadActorConsumeRank, //取消耗元宝排名前三的玩家
dcLoadTopicBattleData, //取各职业排名第一的玩家
dcLoadTopicHeroData, //取英雄前三名的玩家
dcLoadAllActivityData, //获取全民奖励的数据
dcLoadSwingLevelData, //取翅膀排名前三的玩家
dcReloadCrossConfig, //重新加载跨服配置
dcQueryActorExists, //查询角色名是否存在
dcSendDbServerStopCmd, //发送关闭数据服的消息
dcUpdateActorState, //设置玩家状态
dcLoadActorBuildingData, //加载个人行会建筑的数据
dcLoadMail, //加载邮件
dcSaveMail, //保存邮件
dcSaveOfflineMail, //保存离线邮件
dcClearActor, //清理角色
dcLoadFriendOffline, //加载N天内没上线的好友信息
dcLoadAlmirahItem, //装载衣橱物品
dcSaveAlmirahItem, //保存衣橱物品
dcLoadNewTitleData, //加载新头衔数据
dcSaveNewTitleData, //保存新头衔数据
dcLoadDeathData, //加载角色死亡的数据
dcSaveDeathData, //保存角色死亡的数据
dcLoadDeathDropData, //加载角色死亡掉落的数据
dcSaveDeathDropData, //保存角色死亡掉落的数据
dcLoadTopLevelActorData, //读取等级最高玩家信息(不读转数了)
dcSaveConsignmentItem, //保存交易行(actorid= 0的数据),
dcLoadConsignmentItem, //读取交易行(寄卖数据)
dcSaveActorConsignment, //保存交易行数据(按玩家id cache)
dcLoadConsignmentIncome, //读取交易行收益
dcLoadNewServerMail, //读取新的全服邮件
dcSaveNewServerMail, //保存全服邮件
dcAddNewServerMail, //保存全服邮件
dcLoadActivityList, // 加载活动数据
dcSaveActivityList, // 保存活动数据
dcLoadPersonActivity, // 加载个人活动数据
dcSavePersonActivity, // 保存个人活动数据
dcLoadBossInfo, //保存boss信息 --策划要求 需要记录 所以存db ---不用了
dcSaveBossInfo, //加载boss信息
dcLoadActorStrengthenInfo, //保存强化信息
dcSaveActorStrengthenInfo, //加载强化信息
dcLoadofflineAchieve, // 加载离线玩家的成就信息
dcSaveofflineAchieve, // 保存离线玩家的成就信息
dcLoadGhostInfo, // 加载神魔
dcSaveGhostInfo, // 保存神魔
dcLoadCrossGuildId, //跨服行会id
dcLoadLootPetData, // 加载宠物
dcSaveLootPetData, // 保存宠物
dcLoadRebateData, //加载返利活动
dcLoadNextDayRebateData,// 加载 次日发放 返利活动
dcUpdateRebateData, // 更新返利活动
dcSaveRebateData, // 保存返利活动
dcClearRebateData, // 清理返利活动
dcSaveCustomInfo, // 保持玩家自定义信息
dcLoadCustomInfo, // 查询玩家自定义信息
dcLoadCustomInfoUnForbid, // 查询玩家自定义信息
dcSaveCustomInfoUnForbid, //
//-------------------------------------------------------------
dcInitDB=150, //初始化数据库,特殊指令
dcResActorDbSessionData, //回复数据服务器,玩家逻辑服务器的验证数据已经收到
dcSetGambleFlag, //设置赌博系统是否关闭
dcUpdateGateUserInfo, // 更新网关用户信息
dcLoadFee, //加载充值信息
dcClearFee, //清除充值信息
dcNoticeFee, //加载所有充值信息
dcBackChangeTradingQuota, //后台修改交易额度
dcLoadCustomTitleData, //加载自定义称号数据
dcSaveCustomTitleData, //保存自定义称号数据
dcLoadCustomInfoCustomTitleId, // 查询玩家 自定义称号 自定义信息
dcSaveCustomInfoCustomTitleId, // 保存玩家 自定义称号 自定义信息
//////////////////////////////////////////////////////////////////////////
// 选择角色和进入游戏用到的一些DB请求定义DBCenter用到
// DataCenter --> DataBase
DC2DB_QueryActorList = 200, // 查询账号角色列表
DC2DB_EnterGame, // 请求进入用户
//////////////////////////////////////////////////////////////////////////
// DataBase --> DataCenter
DB2DC_QueryActorListAck = 200, // 查询账号角色列表Ack
DB2DC_EnterGameAck, // 请求进入用户Ack
DB2DC_UpdateLogicClientList, // 更新DBServer连接的逻辑客户端列表
//下面是用于登陆的,一个比较大的修改
dcGetActorList =500, //获取玩家角色列表
dcCreateActor, //创建玩家
dcDeleteActor, //删除角色
dcGetRandName, //获取随机的名字
dcChangeActorName, //玩家改名字
dcCheckSecondPsw,
dcCreateSecondPsw,
dcGetCSActorId, //获取玩家跨服id
dcCreateCSActorId, //获取玩家跨服id
dcLoginMsgMax, //最大的装载消息包
dcLoadHallowsSystemInfo, //圣物保存信息
dcSaveHallowsSystemInfo, //
dcLoadReviveDurationData, //加载复活特权信息
dcSaveReviveDurationData, //保存复活特权信息
};
// 通信的错误码定义
enum// tagResultError
{
reSucc = 0,
reDbErr, //数据库执行错误
reNoActor, //没有该角色的属性信息
reSaveErr, //保存属性失败
reNoLoad, //还没有读入数据
reDbNotConnected, //DB连接不上
reParamError, //参数错误
reNameError, //名字不合法
reNameInUse, //名字被使用
reTimeOut, //操作超时
reInterErr, //内部错误
reNoHero, //没有英雄信息
};
}
namespace AsyncOperatorCode
{
enum// tagAsyncOpError
{
soeSucc = 0, // 成功
soeDBErr, // db执行错误或者db无法连接
soeNoCardInfo, // 不存在此卡信息
soeTimeExpired, // 查询超时
};
}
namespace CrossServerProto
{
enum// eCrossServerCode
{
//发送通信心跳包
cKeepAlive = 0,
//返回是否在线的数据包
cQueryResult =1,
//关闭会话连接(nSessionID: int)
cCloseSession =2,
//逻辑服发来的,登录数据
cSendCrossData =4,
//逻辑服发来的,登录
cReqCrossLogin =5,
//删除玩家
cSendCloseActor =6,
//获取玩家在跨服的id
cGetCrossActorId = 7,
cSendCSMail = 8,//
cCSGetRankList = 9,//跨服排行
cGetActorOfflineData = 10,//获取玩家数据
//逻辑服,请求系统聊天消息
cSendReqChat = 12,
//发送通信心跳包
sKeepAlive = 0,
//逻辑服发来的,登录
sReqLogin =5,
sGetCrossActorId = 7,//
sSendCSMail = 8,//发送邮件
sCSGetRankList = 9,//
sGetActorOfflineData = 10,//获取玩家数据
//跨服发送消息,广播到各服
sSendBroadTipmsg = 11,
//逻辑服,请求系统聊天消息
sSendReqChat = 12,
//跨服发送系统消息,广播到各服
sSendBroadSysTipmsg = 13,
};
}
}