6 major server modules (PdkFriendServer/GlobalSever/ServerCore/GameModule/GameNetModule) + game logic (GameFix/GameDAL/ServerData) + network layer (NetWorkMessage) + data layer (ObjectModel) + utilities (MrWu/Core/Config/CloudAPI/dll) + adapters (zyxAdapter/base) .NET 8.0 C# solution, 16 projects, 958 source files
56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
基于redis 不断开链接才能处理
|
|
|
|
朋友房数据保存结构
|
|
1.玩家所在的房间号-唯一码
|
|
Game:FriendRoom:Player:243633
|
|
num:1
|
|
weiyima:asbdbahsbfhasbkjd;
|
|
|
|
2.房间号对应的唯一码以及管理模块数据
|
|
Game:FriendRoom:RoomNum:1
|
|
weiyima:房间号对应的唯一码
|
|
server:管理模块的节点
|
|
|
|
3.房间详细数据
|
|
Game:FriendRoom:weiyima:asbdbahsbfhasbkjd
|
|
pwd:房间密码
|
|
maxCnt:最大玩家数量
|
|
minCnt:最小玩家数量
|
|
warCnt:开战人数
|
|
nowCnt:当前是开战的第几场
|
|
overCnt:结束的局数
|
|
ganmeid:房间所属游戏
|
|
serVer:服务器版本
|
|
createStyle:创建类型 0普通开 1代开 5竞技比赛房间
|
|
CreateId: 创建房间的id 普通发房间存储的玩家的userid 竞技比赛房间存储的是竞技比赛id
|
|
Fangka: 创建房间使用的房卡数量
|
|
seatTag: 座位号
|
|
RoomRule: 房间规则
|
|
CreateTime: 创建时间
|
|
interceptIp: 是否检测ip
|
|
interceptWeChat: 是否必须是微信绑定
|
|
isClose: 房间是否关闭
|
|
closeTime: 房间关闭时间
|
|
|
|
4.房间中的玩家数据
|
|
Game:FriendRoom:weiyima:asbdbahsbfhasbkjd:seat:
|
|
userid: userid;
|
|
fangzhu : fangzhu;
|
|
nickname: 昵称
|
|
photo: 玩家头像
|
|
sex: 玩家性别
|
|
|
|
|
|
创建房间流程,
|
|
1.获取一个空的房间号
|
|
-失败给提示
|
|
2.看玩家是否被锁
|
|
-失败叫玩家去被锁游戏
|
|
3.检查房间规则
|
|
-失败提示玩家
|
|
4.登录游戏成功,登录失败,则创建失败
|
|
-失败提示玩家
|
|
5.创建房间时,检查房间号及唯一码是否被占用,
|
|
- 失败 玩家退出游戏-解锁玩家(可能redis断开了,玩家如何解锁,再次登录时,发现用户在线,没有房间号信息,解锁用户);
|
|
6.玩家桌子添加玩家成功,保存玩家数据
|
|
- 失败 房间解散, 清空房间占用数据. (redis 断开) --只能晚上定时清楚空的被占用的房间号 |