资源描述
1. 消息头定义
字段
长度(字节)
描述
MsgLen
2
消息长度
MsgID
4
消息ID
MsgVer
1
消息版本号
ExtData
1
附加数据
PlayerID
4
玩家ID
2. 协议定义
//请求
public static final int REQ = 0x00000000;
//应答
public static final int ACK = 0X80000000;
//用户端服务器通讯消息号
public static final int CLIENT_NO = 0x00000000;
//服务器端通信
public static final int SERVER_NO = 0x08000000;
2.1 用户端
private static final int BASIC_ID = 0x00010000;
private static final int ROOM_ID = 0x0000;
private static final int POKER_ID = 0x00030000;
private static final int MAHJONG_ID = 0x00040000;
private static final int LANDLORDS_ID = 0x00050000;
2.2 服务器
3. 用户端消息协议定义
3.1 基础消息
3.1.1 用户登入
[BASIC_ID + 1]
字段
类型
说明
备注
Client->Server
Rdf
Short
校验码
Appid
Short
游戏应用id
1. 德州为2
Platform
Byte
登入方法或平台
2. 游客
3. 手机
4. baidu(第三方登入)
5. e腾讯(等三方登入)
Account
String
帐号
6. 游客登入时mac地址, 手机登入时手机号, 第三方登入时为第三方帐号
Passwd
String
密码
7. 手机号登入需要密码, 其她为空
Code
String
验证码
8. 验证码登入, 和以后第三方登入使用
Server->Client
Status
Short
状态码
Rdf
Short
校验码
Account
String
帐号
Passwd
String
密码
Address
String
连接地址
Rdflat
Byte
数据类型, 1为大厅登入, 0为应用登入(下面数据不要解析了)
imgPath
String
头像路径
Nickname
String
昵称
Sex
Byte
性别
1.男 2.女
Age
Int
年纪
Coin
Int
同情
exp
Int
经验
giftCard
Int
礼券
vip
Short
Vip等级
3.1.2 进入游戏
[BASIC_ID + 14]
字段
类型
说明
备注
Client->Server
gameID
Byte
Key
Short
秘钥
Server->Client
Status
Short
状态
Nickname
String
昵称
Coin
Int
金币
GiftCoupon
Int
礼券
Title
String
头衔
Level
Byte
等级
CurrentExp
Int
目前等级经验
玩家经验减去该等级所需经验剩下经验
NextExp
Int
下一级经验
从该等级到下一等级经验值
NoticeNum
Int
公告数量
3.1.3 绑定帐号
[BASICID + 6]
Rdf
Short
验证码
BindAcc
String
手机号
Server->Client
Status
Short
状态码
3.1.4 手机验证码校验更改帐号
[BASICID + 7]
Rdf
Short
验证码
Code
String
校验码
帐号
String
手机号
Server->Client
Status
Short
状态码
AccountId
String
更新以后帐号
Pwd
String
产生密码
Type
Byte
任务类型
taskId
Byte
任务id
Num
Byte
任务数量
3.1.5 投诉
[BASICID + 11]
Rdf
Short
验证码
Type
Byte
投诉类型
Context
String
投诉内容
Pic
Byte[]
图片数据
可选
Format
String
图片格式
可选
Server->Client
Status
Short
状态码
3.1.6 获取兑换列表
[BASICID + 24]
Rdf
Short
验证码
Lastmodiytm
Long
最终修改时间
Server->Client
Lastmodifytm
Long
最终修改时间
Switchrds
ShowSwitchRd[]
兑换物品
ShowSwitchRd
Id
Int
兑换编号
Cost
Int
花费礼券
RdDesc
String
奖励描述
detailAddr
Byte
是否需要具体地址
startTm
Long
开始时间
endTm
Long
结束时间
3.1.7 兑换
[BASICID + 10]
Rdf
Short
验证码
Code
String
兑换码
appId
Short
应用id
Server->Client
Status
Short
状态码
Items
ShowItem[]
更新以后
Gold
Int
金币改变值
ShowItem
itemObjId
Long
道具objId
itemId
Int
道具模版id
itemType
Byte
道具类型
EffTm
Long
道含有效时间
3.1.8 心跳
[BASICID + 9]
Rdf
Short
验证码
Server->Client
Status
Short
状态码
3.1.9 退出帐号
[BASICID + 9]
Rdf
Short
验证码
Server->Client
Status
Short
状态码
3.1.10 商城购置
[BASICID + 21]
Rdf
Short
验证码
appId
Short
应用id
Sn
Short
道具编号
Count
Int
购置数量
Server->Client
Status
Short
状态码
ChargeNum
Int
订单号
Price
Float
订单价格
3.1.11 获取商城
[BASICID + 9]
Rdf
Short
验证码
Appid
Short
游戏应用id
lastmodifyTm
Long
配置表最终修改时间
Server->Client
lastmodifyTm
Long
最终修改时间
Items
ShowMkItem[]
商城道具信息
有待商讨, 是服务器发送, 还是用户端读取当地配置表
ShowMkItem
Sn
Short
道具编号
Id
Int
道具id
itemType
Byte
道具类型
Price
Float
道具价格
itemDesc
String
道具描述
Start
Long
开始时间
End
Long
结束时间
3.1.12 修改昵称
[BASICID + 5]
Rdf
Short
验证码
Nickname
String
新昵称
Server->Client
Status
Short
状态码
3.1.13 修改密码
[BASICID + 8]
Rdf
Short
验证码
Pwd
String
新密码
Server->Client
Status
Short
状态码
3.1.14 头像上传
[BASICID + 3]
Rdf
Short
验证码
Data
Byte[]
图片数据
Format
Stirng
图片格式
Server->Client
Status
Short
状态码
PicName
String
图片名称
Type
Byte
任务类型
taskId
Byte
任务id
Num
Byte
任务数量
3.1.15 获取排行榜
[BASICID + 16]
Rdf
Short
验证码
Server->Client
Status
Short
状态码
Selfrank
Int
自己名次
Ranks
UserRank[]
用户排行信息
UserRank
Uid
Int
用户id
Nickname
Stirng
用户昵称
Gold
Int
金币数量
3.1.16 签到
[BASICID + 22]
Rdf
Short
验证码
Appid
Short
游戏应用id
Server->Client
Status
Short
状态码
Items
ShowItem[]
更新以后
Gold
Int
金币改变值
ShowItem
itemObjId
Long
道具objId
itemId
Int
道具模版id
itemType
Byte
道具类型
EffTm
Long
道含有效时间
3.1.17 兑换券
[BASICID + 12]
Rdf
Short
验证码
SwitchId
Shot
兑换id
recName
String
收件人
手机
String
手机号
Address
String
收件地址
Server->Client
Status
Short
状态码
3.1.18 获取包裹
[BASICID + 15]
Rdf
Short
验证码
Appid
Short
游戏应用di
Server->Client
Status
Short
状态码
Items
ShowItem[]
包裹道具
ShowItem
itemObjId
Long
道具objId
itemId
Int
道具模版id
itemType
Byte
道具类型
EffTm
Long
道含有效时间
3.2 房间消息
3.2.1 房间列表
[ROOM_ID + 1]
字段
类型
说明
备注
Client->Server
Timestamp
Int
时间戳
Server->Client
Timestamp
Int
时间戳
Loop
循环
…RoomID
Byte
房间ID
…name
String
房间标题
…sb
Int
小盲
…bb
Int
大盲
…minCoin
Int
最小携带金币
…type
Byte
房间类型
3.2.2 进入房间
[ROOM_ID + 2]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
Server->Client
Status
Short
状态码
只有失败才会返回
3.2.3 站起
[ROOM_ID + 3]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
tableID
Int
牌桌ID
Server->Client
Status
Short
状态码
SeatID
Byte
座位号
广播时需要
3.2.4 坐下
[ROOM_ID + 4]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
tableID
Int
牌桌ID
seatID
Byte
座位号
Server->Client
Status
Short
状态码
Pid
Int
玩家id
Nickname
String
昵称
VipLevel
Int
Vip等级
Photo
String
头像
Seat
Byte
座位号
Chip
Byte
筹码
3.2.5 筹码自动补齐
[ROOM_ID + 5]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
tableID
Int
牌桌ID
Type
Byte
补齐类型
0 取消
1 补齐
Chip
Int
补齐筹码
Server->Client
Status
Short
状态码
3.2.6 快速开始
[ROOM_ID + 6]
字段
类型
说明
备注
Client->Server
Server->Client
Status
Short
状态码
失败后返回
3.2.7 退出房间
[ROOM_ID + 7]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
tableID
Int
牌桌ID
Server->Client
Status
Short
状态码
失败后返回
3.2.8 换桌
[ROOM_ID + 8]
Client->Server
字段
类型
说明
备注
roomID
Byte
房间ID
tableID
Int
牌桌ID
Server->Client
Status
Short
状态码
失败后返回
3.3 德州消息
3.3.1 发底牌
[POKER_ID + 1]
字段
类型
说明
备注
Client->Server
Server->Client
字段
类型
说明
备注
ButtomSeat
Byte
庄家座位
CardCnt
Byte
牌数量
Seat
Byte
Loop
…Card
Int
牌值
NextOperatorSeat
Seat
Byte
座位号
Check
Byte
是否可让牌
Call
Byte
是否可跟注
Raise
Byte
是否可加注
Flop
Byte
是否可弃牌
3.3.2 下注
[POKERID + 2]
字段
类型
说明
备注
Client->Server
RoomID
Byte
房间ID
tableID
Int
牌桌ID
Type
Byte
下注类型
0 跟住
1 加注
2 All in
Chip
Int
筹码
Server->Client
Status
Short
状态码
Seat
Byte
座位号
BetType
Byte
下注类型
Chip
Int
筹码
Remain
Int
剩下筹码
NextOperator
Seat
Byte
座位号
Check
Byte
是否可让牌
Call
Byte
是否可跟注
Raise
Byte
是否可加注
Flop
Byte
是否可弃牌
3.3.3 发公共牌
[POKERID + 3]
字段
类型
说明
备注
Client->Server
Server->Client
Cards
Loop
…cardValue
Int
牌值
mainChip
Int
主迟筹码
SidePots
Loop
…chip
筹码
NextOperator
Seat
Byte
座位号
Check
Byte
是否可让牌
Call
Byte
是否可跟注
Raise
Byte
是否可加注
Flop
Byte
是否可弃牌
3.3.4 亮牌
[POKER_ID + 4]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
tableID
Int
牌桌ID
Server->Client
Seat
Byte
座位号
Cards
Loop
…CardValue
int
3.3.5 牌桌同时
[POKER_ID + 5]
字段
类型
说明
备注
Client->Server
Server->Client
RoomID
Byte
房间号
TableID
Int
牌桌号
BottomSeat
Byte
庄家座位号
CurrentSeat
Byte
目前操作玩家座位号
CommonalityCards
Loop
公共牌值
…Value
Int
Players
Loop
玩家信息
…Pid
Int
玩家ID
…Nickname
String
昵称
…VipLevel
Int
Vip等级
…Icon
String
头像
…Seat
Byte
座位号
…Chip
Int
总筹码
…betChip
Int
已下筹码
Cards
Loop
…CardValue
Int
玩家自己牌值
只有没有弃牌时才会发送
3.3.6 牌桌结果
[POKER_ID + 6]
字段
类型
说明
备注
Client->Server
Server->Client
Details
Loop
…Chip
int
该池筹码
…WinnerSeat
Loop
赢家座位号, 可能有多个
……seat
Byte
…PlayerInfo
Loop
……SeatID
Byte
该池中玩家座位号
……show
Byte
是否可亮牌
……Cards
Loop
………CardValue
Int
牌值
3.3.7 弃牌
[POKER_ID + 7]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
tableID
Int
牌桌ID
Server->Client
Status
Short
状态码
seatID
Byte
座位号
3.4 斗地主消息
3.4.1 发手牌/地主牌
[LANDLORDS _ID + 1]
字段
类型
说明
备注
Client->Server
Server->Client
字段
类型
说明
备注
ButtomSeat
Byte
庄家座位
Seat
Byte
Loop
…Card
Int
牌值
3.4.2 叫牌/抢地主
[LANDLORDS_ID + 2]
字段
类型
说明
备注
Client->Server
RoomID
Byte
房间ID
tableID
Int
牌桌ID
Seat
Byte
座位号
Type
Byte
类型
0 叫分
1 抢地主
Chip
Byte
倍数
BidType
Server->Client
Status
Short
状态码
0 失败 1 成功
Seat
Byte
座位号
type
Byte
下注类型
0 叫分
1 抢地主
Chip
Int
倍数
BidType
3.4.3 出手牌
[LANDLORDS_ID + 3]
字段
类型
说明
备注
Client->Server
roomID
Byte
房间ID
tableID
Int
牌桌ID
Seat
Byte
座位号
type
Byte
出牌类型
0不出 1 出牌
Cards….Loop
Loop
…CardValue
Int
牌值
Server->Client
status
Byte
状态
0失败 1 成功
Seat
Byte
座位号
type
Byte
出牌类型
0不出 1 出牌
Cards….Loop
Loop
…CardValue
int
牌值
3.4.4 结算
[LANDLORDS_ID + 4]
字段
类型
说明
备注
Client->Server
Server->Client
Status
Byte
胜败
0失败 1胜利
Chip
Int
结算金币
Basevalue
Short
底分
Doublevalue
Byte
倍数
…PlayerInfo
Loop
……name
String
玩家
……status
Byte
胜败
0失败 1胜利
……chip
Int
金币量
3.4.5 牌桌同时
[LANDLORDS _ID + 5]
字段
类型
说明
备注
Client->Server
Server->Client
…Card
Int
地主底牌
Basevalue
Short
底分
Doublevalue
Byte
目前倍数
BottomSeat
Byte
地主座位号
CurrentSeat
Byte
目前操作玩家座位号
Cards
Loop
…CardValue
Int
玩家自己牌值
Players
Loop
…Pid
Int
玩家id
…Nickname
String
昵称
…Seat
Byte
座位号
…Coin
Int
金币
…VipLevel
Int
Vip等级
…Dz
Byte
地主标识
0 农民 1地主
…Icon
String
头像
…MaxCard
Byte
目前手牌数
…Loop
牌值
……MaxCardValue
Int
目前回合出牌牌值
3.4.6
展开阅读全文