首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

卡牌类游戏游戏大厅——下篇

阿巩 It will all be okay 我们继续昨天的上篇,在注册/登录->选择游戏区域->认证->进入大厅之后就是选择房间/创建房间,也就是进入到了大厅游戏对接的部分。...---- 在进入房间后,一般是不会直接进入游戏的,因为仍有很大的比例这个房间无法达成进入游戏的条件。那么这个阶段也是属于大厅的层面。...还是以Python做服务端为例,我们可以另开一个进程来处理游戏逻辑部分,房间的进程将该房间的内容发送到游戏服务器,告诉服务器是否开始游戏,玩家有哪些,每个玩家金币数量等。...服务器只会保存房间的具体信息和房间号码,等游戏全部结束后,游戏服务器才会返回给大厅服务器。最终的游戏结果也被视作游戏房间的部分。...参考: 《游戏服务器架构与优化》 蔡能 END

1.1K30

卡牌类游戏游戏大厅——上篇

阿巩 要睡个好觉喔 通常在打开一个游戏后的基础流程包括登录/注册->选择游戏区域->认证->进入大厅->选择房间/建立房间->进入房间->等待游戏/建立游戏->游戏中。...以上环节中,游戏大厅包含了登录和进入游戏前的策略,针对其中的每一环节都需要思考其中的实现细节,今天阿巩将以卡牌类游戏为例,来看实现一个游戏大厅的流程及需要注意的细节。...对于大厅的登录流程,如果游戏使用HTTP/HTTPS连接方式,可以使用反向代理来做负载均衡给出对应区域的ip地址。...对于登录和选游戏区域,其实这两步的顺序并不固定,如果是登录前选择服务器,会先将玩家的选择项传输到网关服务器,再按下确定后,网关通知服务器集群用户登入,之后走登录或者注册的流程; 对于先登录再选服务器区域...《卡牌类游戏游戏大厅——下篇》了,明日更新~ END

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    某棋牌游戏大厅座位内存分析过程

    今天有业务,需要分析某棋牌游戏房间内的座位内存。 目标:通过内存判断每个座位上是否有玩家。所以,要找到每个桌子、每个座位相关内存的排布规律及其内存基址。 游戏大厅截图: ?...风雷游戏大厅 首先,查找座位上玩家信息的内存地址。查找方法:坐到一个座位上,任何用CE搜索大于0的内存(4字节),然后离开座位,再搜值为0的内存。...看来这个棋牌大厅的内存数据设计和其他棋牌不一样。暂无其他办法,先分析找到的这个内存。观察后发现,每桌5个座位,该内存块连续存储5个玩家的金币值,每个座位的金币值内存间隔为8。...接下来关掉CE, 打开OD,附加游戏进程。先定位到第一处代码查看。 ?

    2.2K30

    PUN☀️四、服务器大厅建房解析

    实现目标 Demo:DemoAsteroids大厅的解析 大厅思路 Awake:设置同步场景的方式 登陆按钮:同步本地昵称、连接到服务器 连接到服务器回调:关闭登陆界面,打开 创建房间 /...,则还可根据当前玩家是否都已准备,显示开始游戏按钮(检查是否都已准备,就是foreach所有玩家的准备信息,进行判断) 开始游戏按钮:...设置当前房间状态:不可再加入、大厅列表不可见(隐身) PUN同步加载场景 加入随机房间按钮:加入随机房间,显示服务器房间界面...返回按钮:退出服务器房间,返回到功能选择界面 显示房间列表按钮:使用加入大厅API,使PUN调用 刷新大厅列表 回调,在该回调中完成相关逻辑(该回调会传入所有房间列表缓存)...更新实例化本地房间列表 开始游戏按钮状态:只有主客户端进行检测判断。

    8410

    游戏服务器存储系统设计

    本文内容源自腾讯游戏学院程序公开课_服务器第四节 一、数据存储基础 什么是数据存储? 运行数据保存到硬盘上形成持久化数据。...可扩展性较差 数据库 - NoSQL数据库 NoSQL数据库特点 Key - Value结构 支持结构化查询 优点 易于维护 性能较高 可扩展性好 问题 容易产生数据冗余 不支持SQL查询 二、游戏服务器架构与数据存储设计...解决方案 为了实现高速响应,玩家数据全部在内存中 在登录时从DB加载进内存 游戏过程中的数据变更通过操作内存数据完成 游戏服务器架构介绍 分区分服服务器架构(天涯明月刀、梦幻西游) Player 1—...游戏服务器存盘策略设计 Player——>Game Server 1(Player Runtime Data)<——(load)DB 游戏存盘需求特点:update > read > insert >...注:此模型较简单,真正设计时会比这个复杂的多。 运营日志存储 什么是运营日志? 游戏中玩家重要行为的记录 诸如登录记录,等级变更,财产变化流水,交易记录等信息 运营日志的用途有哪些?

    3.7K30

    游戏服务器设计之NPC系统

    游戏服务器设计之NPC系统 简介 NPC系统是游戏中非常重要的系统,设计的好坏很大程度上影响游戏的体验。...NPC在游戏中有如下作用: 引导玩家体验游戏内容,一般游戏内有很多主线、支线任务,而任务的介绍、接取、领取奖励等操作都是通过NPC的操作,一般会有几个核心NPC,再不停的任务引导中,玩家会对核心npc印象深刻...,强化了游戏代入感。...NPC的设计 NPC跟角色怪物等相似是一个实体,所谓实体指的是必须有唯一ID,可通过ID索引到且可以在地图动态添加,本文实现的NPC的ID由配置文件指定,其他基本属性如名字、地图坐标、外形、朝向等都可配置...https://github.com/fanchy/h2engine 关于属性管理器:http://www.cnblogs.com/zhiranok/p/h2engine_propmgr.html 关于游戏服务器引擎

    2.6K40

    游戏服务器设计之任务系统

    游戏服务器设计之任务系统 介绍 任务系统是游戏中最重要的系统之一,本文旨在设计一个轻量清晰的任务系统。通用易扩展是本系统关注的重点。...设计设计任务时有如下几个重点: 任务需要以线的方式组织,一般都是在每个任务配置中指定下一个任务的id,每个任务线的第一个和最后一个比较特殊,第一个任务必须在角色属性满足条件下自动获得,而最后一个任务因为是故事线的结尾所以不能触发下一个任务...任务接取后角色在游戏中做相关的操作,如果跟接取的任务相关,那么任务的进度会自动更新,那么二者是组合产生关联的呢?...我们使用事件机制,玩家的游戏行为拆分出一系列的事件类型,用三个字段表示,事件类型,事件对象,事件值,比如打怪,事件类型为击杀怪物,事件对象为树妖,事件值为1。...github.com/fanchy/h2engine 关于任务系统使用的属性管理器:http://www.cnblogs.com/zhiranok/p/h2engine_propmgr.html 关于游戏服务器引擎

    3.2K40

    棋牌游戏服务器架构: 总体设计

    首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...本服务器虽然参考了其设计,但是还是有很大的不同,因为这个服务器框架主要是用在linux系统之上,而网狐棋牌是基于Windows平台的,严重依赖于windows sdk。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...Applications是基于Core实现的4种服务器,它们管理着游戏信息,提供登录以及处理游戏逻辑的功能。...玩家也可以通过RoomServer参与聊天(包括大厅公聊和私聊)。 4 交互协议 客户端和服务器进行交互时,传递的包需要使用protobuf来序列化。

    2.3K90

    棋牌游戏服务器架构: 总体设计

    首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...本服务器虽然参考了其设计,但是还是有很大的不同,因为这个服务器框架主要是用在linux系统之上,而网狐棋牌是基于Windows平台的,严重依赖于windows sdk。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...Applications是基于Core实现的4种服务器,它们管理着游戏信息,提供登录以及处理游戏逻辑的功能。...玩家也可以通过RoomServer参与聊天(包括大厅公聊和私聊)。 4 交互协议 客户端和服务器进行交互时,传递的包需要使用protobuf来序列化。

    2.6K71

    棋牌游戏服务器架构: 总体设计

    首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...本服务器虽然参考了其设计,但是还是有很大的不同,因为这个服务器框架主要是用在linux系统之上,而网狐棋牌是基于Windows平台的,严重依赖于windows sdk。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...Applications是基于Core实现的4种服务器,它们管理着游戏信息,提供登录以及处理游戏逻辑的功能。...玩家也可以通过RoomServer参与聊天(包括大厅公聊和私聊)。 4 交互协议 客户端和服务器进行交互时,传递的包需要使用protobuf来序列化。

    4.7K70

    棋牌游戏服务器架构: 详细设计(二) 应用层设计

    这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器设计很不相同。...这里先说一下服务器应用的详细设计。 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等。...1 Center Server详细设计 CenterServer的主要功能是维护游戏列表和房间信息。游戏列表是从ServerInfoDB中加载到的,下面是一个简略的结构图。 ?...2 Logon Server 详细设计 ?...5 Game Module详细设计 这里以德州扑克为例,来说明一个游戏的逻辑的结构, ?

    1.9K120

    棋牌游戏服务器架构: 详细设计(三) 数据库设计

    GameTypeInfo,其主要字段为: TypeID:类型标识 ID TypeName:类型名字,例如棋牌类,休闲类 Enable:控制游戏大厅是否显示该类型...Enable: 控制游戏大厅是否显示该游戏,默认为1。 3....ServiceNullity:服务禁止标志,保留供网站系统使用或者将来系统扩展使用 UserRight:玩家权限标志,每一位代表一种权限, 比如旁观权限,大厅公聊权限...:玩家在游戏房间游戏所产生的和局局数改变的数值 FleeCount:玩家在游戏房间游戏所产生的逃跑局数改变的数值 Experience:玩家在游戏房间游戏所产生的经验数值改变的数值...PlayTimeCount:玩家在游戏房间游戏所产生的游戏时间的数值 OnLineTimeCount:玩家在游戏房间游戏所产生的在线时间的数值

    1.8K60

    棋牌游戏服务器架构: 详细设计(二) 应用层设计

    这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器设计很不相同。...这里先说一下服务器应用的详细设计。 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等。...1 Center Server详细设计 CenterServer的主要功能是维护游戏列表和房间信息。游戏列表是从ServerInfoDB中加载到的,下面是一个简略的结构图。 ?...2 Logon Server 详细设计 ?...5 Game Module详细设计 这里以德州扑克为例,来说明一个游戏的逻辑的结构, ?

    97340

    棋牌游戏服务器架构: 详细设计(三) 数据库设计

    GameTypeInfo,其主要字段为: TypeID:类型标识 ID TypeName:类型名字,例如棋牌类,休闲类 Enable:控制游戏大厅是否显示该类型...Enable: 控制游戏大厅是否显示该游戏,默认为1。 3....ServiceNullity:服务禁止标志,保留供网站系统使用或者将来系统扩展使用 UserRight:玩家权限标志,每一位代表一种权限, 比如旁观权限,大厅公聊权限...:玩家在游戏房间游戏所产生的和局局数改变的数值 FleeCount:玩家在游戏房间游戏所产生的逃跑局数改变的数值 Experience:玩家在游戏房间游戏所产生的经验数值改变的数值...PlayTimeCount:玩家在游戏房间游戏所产生的游戏时间的数值 OnLineTimeCount:玩家在游戏房间游戏所产生的在线时间的数值

    1.3K80

    棋牌游戏服务器架构: 详细设计(三) 数据库设计

    GameTypeInfo,其主要字段为: TypeID:类型标识 ID TypeName:类型名字,例如棋牌类,休闲类 Enable:控制游戏大厅是否显示该类型...Enable: 控制游戏大厅是否显示该游戏,默认为1。 3....ServiceNullity:服务禁止标志,保留供网站系统使用或者将来系统扩展使用 UserRight:玩家权限标志,每一位代表一种权限, 比如旁观权限,大厅公聊权限...:玩家在游戏房间游戏所产生的和局局数改变的数值 FleeCount:玩家在游戏房间游戏所产生的逃跑局数改变的数值 Experience:玩家在游戏房间游戏所产生的经验数值改变的数值...PlayTimeCount:玩家在游戏房间游戏所产生的游戏时间的数值 OnLineTimeCount:玩家在游戏房间游戏所产生的在线时间的数值

    1.4K90

    棋牌游戏服务器架构: 详细设计(二) 应用层设计

    这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器设计很不相同。...这里先说一下服务器应用的详细设计。 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等。...1 Center Server详细设计 CenterServer的主要功能是维护游戏列表和房间信息。游戏列表是从ServerInfoDB中加载到的,下面是一个简略的结构图。 ?...2 Logon Server 详细设计 ?...5 Game Module详细设计 这里以德州扑克为例,来说明一个游戏的逻辑的结构, ?

    1.2K130
    领券