#ifndef CMD_CORRESPOND_HEAD_FILE #define CMD_CORRESPOND_HEAD_FILE #pragma pack(1) #ifdef _DEBUG ////////////////////////////////////////////////////////////////////////// #define SEVERTIMEOUT 10 //与服务器断开时间判断 5秒 ////////////////////////////////////////////////////////////////////////////////// #else ////////////////////////////////////////////////////////////////////////// #define SEVERTIMEOUT 30 //与服务器断开时间判断 30秒 ////////////////////////////////////////////////////////////////////////////////// #endif //注册命令 #define MDM_CS_REGISTER 1 //服务注册 //服务注册 #define SUB_CS_C_REGISTER_PLAZA 100 //注册登陆服务器 #define SUB_CS_C_REGISTER_SERVER 101 //注册游戏中心服务器 #define SUB_CS_C_REGISTER_MATCH 102 //注册比赛 //注册结果 #define SUB_CS_S_REGISTER_FAILURE 200 //注册失败 ////////////////////////////////////////////////////////////////////////////////// struct JN_GR_RoomListInfo { TCHAR szName[12]; //昵称 DWORD dwServerID; //服务器ID TCHAR szIp[20]; //IP byte bDuoLai; //多癞子可平胡,0可以 1不可以 WORD wFengDing; //封顶值 byte tmp1; //备用字段 byte tmp2; //备用字段 byte tmp3; //备用字段 byte tmp4; //备用字段 byte tmp5; //备用字段 int tmp6[4]; //备用 WORD wPort; //端口 DWORD dwRoomNumber; //私有房间号 DWORD dwDiFen; //底分 BYTE dwJuShu; //局数 BYTE bRoomCreatePay; //是否为房主支付 BYTE bFanGua; //是否反作弊 0 是 1 否 BYTE bWanFa; //玩法 }; //玩家已开房房间信息 struct JN_GR_RoomList { DWORD dwUserID; //拥有人 DWORD dwServerID; //服务器ID DWORD dwRoomNumber; //私有房间号 DWORD dwInsert_UpData_Del; //添加更新删除 0 , 1, 2 DWORD dwDiFen; //底分 DWORD dwJuShu; //局数 DWORD dwReadyBody; //已有人数 DWORD dwBody; //总人数 BYTE bWanFa; //玩法 TCHAR szIp[20]; //IP byte bDuoLai; //多癞子可平胡,0可以 1不可以 WORD wFengDing; //封顶值 byte tmp1; //备用字段 byte tmp2; //备用字段 byte tmp3; //备用字段 byte tmp4; //备用字段 byte tmp5; //备用字段 int tmp6[4]; //备用 WORD wPort; //端口 }; struct PlayerInfo { DWORD dwUserID; //玩家 TCHAR szName[12]; //昵称 TCHAR szHeadUrl[256]; //头像 }; struct JN_GR_RoomListBig { DWORD dwUserID; //拥有人 DWORD dwServerID; //服务器ID DWORD dwRoomNumber; //私有房间号 DWORD dwInsert_UpData_Del; //添加更新删除 0 , 1, 2 DWORD dwDiFen; //底分 DWORD dwJuShu; //局数 DWORD dwReadyBody; //已有人数 DWORD dwBody; //总人数 BYTE bWanFa; //玩法 TCHAR szIp[20]; //IP byte bDuoLai; //多癞子可平胡,0可以 1不可以 WORD wFengDing; //封顶值 byte tmp1; //是否未IP限制 byte tmp2; //备用 byte tmp3; //备用 byte tmp4; //备用 byte tmp5; //备用 //桌子1自动c创房属性 int tmp6[3]; //备用 DWORD InsertTime; //插入时间 WORD wPort; //端口 BYTE bRoomCreatePay; //是否为房主支付 BYTE bFanGua; //是否反作弊 1 是 0 否 TCHAR szName[12]; //昵称 TCHAR szHeadUrl[256]; //头像 byte roomType; //0好友房,1俱乐部房间 byte roomStatus; //0未开始,1开始 byte currentjushu; //当前局数 PlayerInfo player[4]; //玩家信息 }; struct JN_GR_SERVICESTAT { DWORD dwServerID; //服务器ID int bService; //是否提供服务 1提供服务 0 主动不提供服务 <0 被攻击被动不提供服务 }; //玩家已开房房间列表 struct JN_GR_RoomListGroup { JN_GR_RoomListBig jgrDate[30]; DWORD Num;//总共开房数 }; //玩家已开房房间列表 struct JN_GR_RoomListGroupSend { JN_GR_RoomList jgrDate[30]; DWORD Num;//总共开房数 }; //注册广场 struct CMD_CS_C_RegisterPlaza { TCHAR szServerAddr[32]; //服务地址 TCHAR szServerName[LEN_SERVER]; //服务器名 ///---add by yd WORD wServerID; }; struct CMD_GR_Club_Notify_ACK { WORD newsFalg; TCHAR Message[255]; DWORD dwClubID; DWORD dwUserCount; }; struct CMD_GR_Club_NotifyEX_ACK { DWORD dwUserId; CMD_GR_Club_Notify_ACK Notify; }; struct CMD_GR_ClubAction2_XT { DWORD dwServerID; DWORD dwClubID; DWORD wWanFa;//玩法0,1,2 }; //创建进入房间 struct CMD_CS_UserSitDown { WORD Wsocket; //桌子位置 WORD wChairID; //椅子位置 TCHAR szPassword[LEN_PASSWORD]; // byte cbCreateTable; //是否新建一个桌子 TCHAR szPrivateTableID[7]; //私有桌子号 byte bDuoLai; //多癞子可平胡,0可以 1不可以 WORD wFengDing; //封顶值 byte tmp1; //备用字段 int tmp2; //备用字段 char TableConfig[0]; //创建私有桌子时的配置信息 }; //创建进入房间 struct CMD_CS_UserSitDownChai { WORD Wsocket; //桌子位置 WORD wChairID; //椅子位置 TCHAR szPassword[LEN_PASSWORD]; // byte cbCreateTable; //是否新建一个桌子 TCHAR szPrivateTableID[7]; //私有桌子号 byte bDuoLai; //多癞子可平胡,0可以 1不可以 WORD wFengDing; //封顶值 byte tmp1; //备用字段 int tmp2; //备用字段 char TableConfig[0]; //创建私有桌子时的配置信息 }; struct CMD_GR_UserInfo { DWORD dwOwnerID; TCHAR szHostName[32]; TCHAR szHeadUrl[256]; }; //创建进入房间 struct CMD_CS_UserSitDownEx { DWORD dwUserID; //请求用户id BYTE cbAuto; //自动创建房间 CMD_GR_UserInfo cmhostInfo; //自动开房群主信息 BYTE cbWanFa; //用来表示俱乐部自动开房玩法0,1,2 DWORD RoomID; //私有随机房间号 CMD_CS_UserSitDown data; }; //注册游戏 struct CMD_CS_C_RegisterServer { WORD wKindID; //名称索引 WORD wNodeID; //节点索引 WORD wSortID; //排序索引 WORD wServerID; //房间索引 WORD wServerKind; //房间类别 WORD wServerType; //房间类型 WORD wServerPort; //房间端口 SCORE lCellScore; //单元积分 SCORE lEnterScore; //进入积分 DWORD dwOnLineCount; //在线人数 DWORD dwFullCount; //满员人数 DWORD dwFullTable; //满员桌子 DWORD dwServerRule; //房间规则 TCHAR szServerAddr[32]; //服务地址 TCHAR szServerName[LEN_SERVER]; //房间名称 WORD wServerLevel; //服务级别 12345678 8为最高 int bService; //是否提供服务 1提供服务 0 主动不提供服务 <0 被攻击被动不提供服务 }; //注册比赛 struct CMD_CS_C_RegisterMatch { //基本信息 WORD wServerID; //房间标识 DWORD dwMatchID; //比赛标识 DWORD dwMatchNO; //比赛场次 BYTE cbMatchType; //比赛类型 TCHAR szMatchName[32]; //比赛名称 //比赛信息 BYTE cbMemberOrder; //会员等级 BYTE cbMatchFeeType; //扣费类型 SCORE lMatchFee; //比赛费用 //比赛信息 WORD wStartUserCount; //开赛人数 WORD wMatchPlayCount; //比赛局数 //比赛时间 SYSTEMTIME MatchStartTime; //开始时间 SYSTEMTIME MatchEndTime; //结束时间 //比赛奖励 WORD wRewardCount; //比赛奖励 //扩展信息 //TCHAR szMatchAwardContent[128]; //比赛奖励 //TCHAR szMatchContent[512]; //比赛内容 }; //注册失败 struct CMD_CS_S_RegisterFailure { LONG lErrorCode; //错误代码 TCHAR szDescribeString[128]; //错误消息 }; ////////////////////////////////////////////////////////////////////////////////// //服务信息 #define MDM_CS_SERVICE_INFO 2 //服务信息 //房间信息 #define SUB_CS_C_SERVER_ONLINE 1 //房间人数 #define SUB_CS_C_SERVER_MODIFY 2 //房间修改 #define SUB_CS_C_SERVER_ONLINE_ACK 3 //房间人数人数应答 #define SUB_CS_C_SERVER_JULI 5 //距离广播 #define SUB_CS_C_SERVER_JULI_ACK 6 //距离广播应答 //广场命令 #define SUB_CS_S_PLAZA_INFO 100 //广场信息 #define SUB_CS_S_PLAZA_INSERT 101 //广场列表 #define SUB_CS_S_PLAZA_REMOVE 103 //广场删除 #define SUB_CS_S_PLAZA_FINISH 104 //广场完成 //房间命令 #define SUB_CS_S_SERVER_INFO 110 //房间信息 #define SUB_CS_S_SERVER_ONLINE 111 //房间人数 #define SUB_CS_S_SERVER_INSERT 112 //房间列表 #define SUB_CS_S_SERVER_MODIFY 113 //房间修改 #define SUB_CS_S_SERVER_REMOVE 114 //房间删除 #define SUB_CS_S_SERVER_FINISH 115 //房间完成 #define SUB_CS_S_SERVER_USER_INFO 116 //用户房间信息 #define SUB_CS_S_SERVER_STAT 117 //房间状态 //比赛命令 #define SUB_CS_S_MATCH_INSERT 120 //比赛列表 ////////////////////////////////////////////////////////////////////////////////// //房间数据 struct CMD_CS_C_ServerModify { WORD wSortID; //排序索引 WORD wKindID; //类型索引 WORD wNodeID; //节点索引 WORD wServerPort; //房间端口 DWORD dwOnLineCount; //在线人数 WORD wTableFullCount; //满员桌子数 WORD wTableOnlineCount; //在线桌子数 DWORD dwFullCount; //满员人数 TCHAR szServerAddr[32]; //服务地址 TCHAR szServerName[LEN_SERVER]; //房间名称 }; //房间人数 struct CMD_CS_C_ServerOnLine { DWORD dwOnLineCount; //在线人数 WORD wTableOnlineCount; //在线桌子数 WORD wTableFullCount; //满员桌子数 }; //用户距离信息 struct CMD_CS_C_JULI { DWORD dUserID; //用户ID LONGLONG llJuLi; // }; ////////////////////////////////////////////////////////////////////////////////// //广场删除 struct CMD_CS_S_PlazaRemove { DWORD dwPlazaID; //广场标识 }; //房间人数 struct CMD_CS_S_ServerOnLine { WORD wServerID; //房间标识 DWORD dwOnLineCount; //在线人数 WORD wTableOnlineCount; //在线桌子数 WORD wTableFullCount; //满员桌子数 }; //登陆信息 struct CMD_CS_S_ServerAllOnLine { DWORD dwServerNum; //游戏节点数量 DWORD dwOnLineCount; //在线总人数 }; //房间修改 struct CMD_CS_S_ServerModify { WORD wSortID; //排序索引 WORD wKindID; //类型索引 WORD wNodeID; //节点索引 WORD wServerID; //房间标识 WORD wServerPort; //房间端口 DWORD dwOnLineCount; //在线人数 DWORD dwFullCount; //满员人数 TCHAR szServerAddr[32]; //服务地址 TCHAR szServerName[LEN_SERVER]; //房间名称 }; //房间删除 struct CMD_CS_S_ServerRemove { WORD wServerID; //房间标识 }; //用户房间信息 struct CMD_CS_S_ServerUserInfo { DWORD dwUserID; //用户标识 WORD wServerID; //房间标识 }; ////////////////////////////////////////////////////////////////////////////////// //用户汇总 #define MDM_CS_USER_COLLECT 3 //用户汇总 //用户状态 #define SUB_CS_C_USER_ENTER 1 //用户进入 #define SUB_CS_C_USER_LEAVE 2 //用户离开 #define SUB_CS_C_USER_FINISH 3 //用户完成 #define SUB_CS_C_USER_SERVER 4 //用户是否在游戏牌桌上的状态汇总 #define SUB_CS_UPDATAOWNROOM 5 //私有房间信息更新 #define SUB_CS_UPDATAOWNROOMLIST 6 //私有房间信息总数据 #define SUB_CS_UPDATAOWNBEANS_UNLOCK 7 //元宝解冻更新 #define SUB_CS_UPDATAOWNBEANS_LOCK 8 //元宝冻结更新 #define SUB_CS_C_GET_ROOMID 9 //获取随机私有房间号 #define SUB_CS_UPDATAOTHERROOM 10 //分片更新其他服务器私有房间信息更新 #define SUB_CS_UPDATASERVICE 11 //更新服务器服务状态 //俱乐部添加 #define SUB_CS_C_USER_ONLINE 12 //用户上线 #define SUB_CS_C_USER_OFFLINE 13 //用户离线 #define SUB_CS_C_USER_SendMessage 14 //用户信息转发 #define SUB_CS_C_USER_DisCONN 15 //强制用户断线 #define SUB_CS_ChangServer 16 //自动开房换服务器 #define SUB_CS_DISSOLVEROOM 17 //群主解散俱乐部房间 //用户状态 #define SUB_CS_S_COLLECT_REQUEST 100 //汇总请求 ////////////////////////////////////////////////////////////////////////////////// ///BY JN #define SUB_GR_LOGON_FAILURE 100 //出错信息 #define MDM_GR_LOGON 1 //登录信息 //扣除游戏豆 struct DBO_GR_UserReduceResultEX { DWORD result; //操作结果 DWORD dwCurrBeans; //当前元宝 TCHAR szDescribeString[128]; //描述消息 DWORD dwLockBeans; //锁定元宝 DWORD dwActiveBeans; //操作元宝 DWORD dwTable; //操作元宝 DWORD dwUserID; //扣除用户ID }; //获取随机私有房间ID struct CMD_GR_SENDROOM_ID { DWORD result; //操作结果 1 真 0 为假 DWORD dRoomID; }; struct CMD_GR_LogonFailureEx { LONG lErrorCode; //错误代码 TCHAR szDescribeString[128]; //描述消息 }; //用户进入 struct CMD_CS_C_UserEnter { //用户信息 DWORD dwUserID; //用户标识 DWORD dwGameID; //游戏标识 //TCHAR szNickName[LEN_NICKNAME]; //用户昵称 //辅助信息 BYTE cbGender; //用户性别 BYTE cbMemberOrder; //会员等级 BYTE cbMasterOrder; //管理等级 }; //用户离开 struct CMD_CS_C_UserLeave { DWORD dwUserID; //用户标识 }; //用户服务器 struct CMD_CS_C_UserServer { DWORD dwUserID; //用户标识 BYTE cbFlag; //操作 1在此游戏服务器中游戏中 0空闲 }; //创建私有房间编号 struct CMD_CS_C_CreateNumber { TCHAR dwNumber[32]; //房间编号 BYTE cbFlag; //操作 1添加 0删除 }; ////////////////////////////////////////////////////////////////////////////////// //远程服务 #define MDM_CS_REMOTE_SERVICE 4 //远程服务 //查找服务 #define SUB_CS_C_SEARCH_DATABASE 1 //数据查找 #define SUB_CS_C_SEARCH_CORRESPOND 2 //协调查找 //查找结果 #define SUB_CS_S_SEARCH_DATABASE 100 //数据查找 #define SUB_CS_S_SEARCH_CORRESPOND 101 //协调查找 ////////////////////////////////////////////////////////////////////////////////// //协调查找 struct CMD_CS_C_SearchCorrespond { //连接参数 DWORD dwSocketID; //网络标识 DWORD dwClientAddr; //连接地址 //查找数据 DWORD dwGameID; //游戏标识 TCHAR szNickName[LEN_NICKNAME]; //用户昵称 }; //协调查找 struct CMD_CS_S_SearchCorrespond { //连接信息 DWORD dwSocketID; //网络标识 DWORD dwClientAddr; //连接地址 //数据信息 WORD wUserCount; //用户数目 tagUserRemoteInfo UserRemoteInfo[16]; //用户信息 }; ////////////////////////////////////////////////////////////////////////////////// //管理服务 #define MDM_CS_MANAGER_SERVICE 5 //管理服务 #define SUB_CS_C_SYSTEM_MESSAGE 1 //系统消息 #define SUB_CS_C_PROPERTY_TRUMPET 2 //喇叭消息 #define SUB_CS_C_TELL_CORRESPOND 3 //定时通知协调服务器 ///[---add by yd #define SUB_CS_C_LOGON_HEARTBEAT 4 //登录服务器与协调服务器的心跳 ///---] #define SUB_CS_S_SYSTEM_MESSAGE 100 //系统消息 #define SUB_CS_S_PROPERTY_TRUMPET 200 //喇叭消息 #define SUB_CS_S_PLATFORM_PARAMETER 300 //平台参数 //房间定时通知协调服 struct CMD_CS_C_TellCorr { WORD wServerID; //房间标识 }; //发送喇叭 struct CMD_CS_S_SendTrumpet { WORD wPropertyIndex; //道具索引 DWORD dwSendUserID; //用户 I D DWORD TrumpetColor; //喇叭颜色 TCHAR szSendNickName[32]; //玩家昵称 TCHAR szTrumpetContent[TRUMPET_MAX_CHAR]; //喇叭内容 }; ////////////////////////////////////////////////////////////////////////////////// //机器服务 //#define MDM_CS_ANDROID_SERVICE 6 //机器服务 // //#define SUB_CS_C_ADDPARAMETER 100 //添加参数 //#define SUB_CS_C_MODIFYPARAMETER 101 //修改参数 //#define SUB_CS_C_DELETEPARAMETER 102 //删除参数 // //#define SUB_CS_S_ADDPARAMETER 200 //添加参数 //#define SUB_CS_S_MODIFYPARAMETER 201 //修改参数 //#define SUB_CS_S_DELETEPARAMETER 202 //删除参数 ////////////////////////////////////////////////////////////////////////////////// //添加参数 //struct CMD_CS_C_AddParameter //{ // WORD wServerID; //房间标识 // tagAndroidParameter AndroidParameter; //机器参数 //}; // ////修改参数 //struct CMD_CS_C_ModifyParameter //{ // WORD wServerID; //房间标识 // tagAndroidParameter AndroidParameter; //机器参数 //}; // ////删除参数 //struct CMD_CS_C_DeleteParameter //{ // WORD wServerID; //房间标识 // DWORD dwBatchID; //批次标识 //}; // // ////添加参数 //struct CMD_CS_S_AddParameter //{ // tagAndroidParameter AndroidParameter; //机器参数 //}; // ////修改参数 //struct CMD_CS_S_ModifyParameter //{ // tagAndroidParameter AndroidParameter; //机器参数 //}; // ////删除参数 //struct CMD_CS_S_DeleteParameter //{ // DWORD dwBatchID; //批次标识 //}; ///---分享奖励钻石 struct CMD_S_ShareAwardBeanResult { //登录信息 //WORD lResultCode; //数据库查询结果 //TCHAR strErrorDescribe[128]; //出错说明 WORD wAwardCurrency; //赠送值 DWORD dwCurrency; //元宝 CMD_S_ShareAwardBeanResult() { memset(this, 0, sizeof(this)); } }; ///---分享奖励信息 struct CMD_S_ShareAwardInfo { //登录信息 //WORD lResultCode; //数据库查询结果 //TCHAR strErrorDescribe[128]; //出错说明 WORD wTodaySharedFlag; //用户分享标志 WORD wShardAwardCurrency; //奖励值 CMD_S_ShareAwardInfo() { memset(this, 0, sizeof(this)); } }; ////////////////////////////////////////////////////////////////////////////////// #pragma pack() #endif