Files
mir_server/sdk/commonLib/def/InterServerComm.h
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

544 lines
19 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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,
};
}
}