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

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

首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...本服务器虽然参考了其设计,但是还是有很大的不同,因为这个服务器框架主要是用在linux系统之上,而网狐棋牌是基于Windows平台的,严重依赖于windows sdk。...这个架构延续了网狐棋牌在网络组件所作的努力,这个棋牌服务器也使用异步IO作为网络的工作方式,更为彻底的是其数据库也是采用异步架构。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...游戏类型信息: 棋牌游戏、休闲游戏、视频游戏等。 2. 游戏种类: 比如在棋牌游戏这个大类之下有:德州扑克、斗地主、升级等。 3.

4.7K70

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

首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...本服务器虽然参考了其设计,但是还是有很大的不同,因为这个服务器框架主要是用在linux系统之上,而网狐棋牌是基于Windows平台的,严重依赖于windows sdk。...这个架构延续了网狐棋牌在网络组件所作的努力,这个棋牌服务器也使用异步IO作为网络的工作方式,更为彻底的是其数据库也是采用异步架构。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...游戏类型信息: 棋牌游戏、休闲游戏、视频游戏等。 2. 游戏种类: 比如在棋牌游戏这个大类之下有:德州扑克、斗地主、升级等。 3.

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

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

    首先要说明的是, 这个棋牌游戏服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。...本服务器虽然参考了其设计,但是还是有很大的不同,因为这个服务器框架主要是用在linux系统之上,而网狐棋牌是基于Windows平台的,严重依赖于windows sdk。...这个架构延续了网狐棋牌在网络组件所作的努力,这个棋牌服务器也使用异步IO作为网络的工作方式,更为彻底的是其数据库也是采用异步架构。...图1 棋牌游戏服务器端总架构 Libraries 主要由4个库组成,其中boost::thread是一个跨平台的线程库,boost::asio是跨平台的异步IO库,protobuf则是用来序列化服务器和客户端协议的...游戏类型信息: 棋牌游戏、休闲游戏、视频游戏等。 2. 游戏种类: 比如在棋牌游戏这个大类之下有:德州扑克、斗地主、升级等。 3.

    2.3K90

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

    这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器的设计很不相同。...这里先说一下服务器应用的详细设计。 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等。...3) 将游戏相关的请求转交给TableMgr处理. 4) 处理聊天及管理请求。 TableMgr管理着这个房间里的桌子。而Table则是处理公共棋牌游戏逻辑的地方。...图6 德州扑克游戏模块结构 这里虽然给出的是德州扑克的结构图,但是其他游戏也有类似的结构。...2) GetGameAttrib 返回游戏的属性,主要包括: 游戏的名称 ,游戏描述,游戏模块的名称,客户端模块名称,游戏数据库名称等 3) RectifyRoomOption 由于一些游戏对房间有特殊要求

    1.2K130

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

    这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器的设计很不相同。...这里先说一下服务器应用的详细设计。 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等。...3) 将游戏相关的请求转交给TableMgr处理. 4) 处理聊天及管理请求。 TableMgr管理着这个房间里的桌子。而Table则是处理公共棋牌游戏逻辑的地方。...图6 德州扑克游戏模块结构 这里虽然给出的是德州扑克的结构图,但是其他游戏也有类似的结构。...2) GetGameAttrib 返回游戏的属性,主要包括: 游戏的名称 ,游戏描述,游戏模块的名称,客户端模块名称,游戏数据库名称等 3) RectifyRoomOption 由于一些游戏对房间有特殊要求

    97340

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

    GameTypeInfo,其主要字段为: TypeID:类型标识 ID TypeName:类型名字,例如棋牌类,休闲类 Enable:控制游戏大厅是否显示该类型...Enable: 控制游戏大厅是否显示该游戏,默认为1。 3....WinCount:玩家在游戏房间游戏所产生的胜利局数改变的数值 LostCount:玩家在游戏房间游戏所产生的输局局数改变的数值 DrawCount...:玩家在游戏房间游戏所产生的和局局数改变的数值 FleeCount:玩家在游戏房间游戏所产生的逃跑局数改变的数值 Experience:玩家在游戏房间游戏所产生的经验数值改变的数值...PlayTimeCount:玩家在游戏房间游戏所产生的游戏时间的数值 OnLineTimeCount:玩家在游戏房间游戏所产生的在线时间的数值

    1.4K90

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

    GameTypeInfo,其主要字段为: TypeID:类型标识 ID TypeName:类型名字,例如棋牌类,休闲类 Enable:控制游戏大厅是否显示该类型...Enable: 控制游戏大厅是否显示该游戏,默认为1。 3....WinCount:玩家在游戏房间游戏所产生的胜利局数改变的数值 LostCount:玩家在游戏房间游戏所产生的输局局数改变的数值 DrawCount...:玩家在游戏房间游戏所产生的和局局数改变的数值 FleeCount:玩家在游戏房间游戏所产生的逃跑局数改变的数值 Experience:玩家在游戏房间游戏所产生的经验数值改变的数值...PlayTimeCount:玩家在游戏房间游戏所产生的游戏时间的数值 OnLineTimeCount:玩家在游戏房间游戏所产生的在线时间的数值

    1.3K80

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

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

    2.2K30

    TDD 在棋牌游戏算法中的应用

    棋牌游戏一直以来都是受欢迎的休闲娱乐方式,而其中的算法设计对于游戏的平衡性和公正性至关重要。...测试驱动开发(Test-Driven Development,简称TDD)正是一种在棋牌游戏算法开发中广泛应用的方法。本文将探讨TDD在棋牌游戏算法中的应用,并介绍其优势。...这样一来,开发者可以更加自信地发布算法,确保游戏的公正性和可靠性。 其次,TDD能够提高棋牌游戏算法的可维护性。...通过这种反复的测试和优化,开发者可以及时发现并解决算法中的性能问题,提高游戏的响应速度和用户体验。 综上所述,TDD在棋牌游戏算法中的应用具有明显的优势。...对于开发者而言,采用TDD方法进行棋牌游戏算法的开发是一种明智的选择。

    20220

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

    这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器的设计很不相同。...这里先说一下服务器应用的详细设计。 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等。...3) 将游戏相关的请求转交给TableMgr处理. 4) 处理聊天及管理请求。 TableMgr管理着这个房间里的桌子。而Table则是处理公共棋牌游戏逻辑的地方。...图6 德州扑克游戏模块结构 这里虽然给出的是德州扑克的结构图,但是其他游戏也有类似的结构。...2) GetGameAttrib 返回游戏的属性,主要包括: 游戏的名称 ,游戏描述,游戏模块的名称,客户端模块名称,游戏数据库名称等 3) RectifyRoomOption 由于一些游戏对房间有特殊要求

    1.9K120

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

    GameTypeInfo,其主要字段为: TypeID:类型标识 ID TypeName:类型名字,例如棋牌类,休闲类 Enable:控制游戏大厅是否显示该类型...Enable: 控制游戏大厅是否显示该游戏,默认为1。 3....WinCount:玩家在游戏房间游戏所产生的胜利局数改变的数值 LostCount:玩家在游戏房间游戏所产生的输局局数改变的数值 DrawCount...:玩家在游戏房间游戏所产生的和局局数改变的数值 FleeCount:玩家在游戏房间游戏所产生的逃跑局数改变的数值 Experience:玩家在游戏房间游戏所产生的经验数值改变的数值...PlayTimeCount:玩家在游戏房间游戏所产生的游戏时间的数值 OnLineTimeCount:玩家在游戏房间游戏所产生的在线时间的数值

    1.8K60

    5 款Linux平台上的棋牌游戏

    传统意义上,游戏功能是Linux的弱项之一。近年来,由于Steam,GOG和其他将商业游戏平台的努力,这种情况有所改变,但是这些游戏通常不是开源的。...虽然大多数开源游戏不太可能与某些预算庞大的3A商业游戏相匹敌,但许多类型的开源游戏都非常有趣,可以从大多数主要Linux发行版的存储库中安装。...本文我将介绍棋牌类型的游戏来继续有关Linux开源游戏的系列文章。在以后的文章中,我计划介绍益智、赛车,角色扮演以及策略与模拟类游戏。...Kajongg 有许多游戏打着麻将的旗号,但几乎所有游戏都是使用麻将牌的砖块来套在纸牌游戏上。Kajongg是一个罕见的例外,因为它是针对四个玩家的经典拉米式游戏的实现。...,与Axis&Allies棋盘游戏和其他类似的棋盘游戏风格有亿点类似。

    3.8K00

    系统架构之二(棋牌游戏常用架构)

    棋牌游戏常用架构: 我从事过4年的棋牌游戏开发,使用过的架构大致如上,各模块解释如下。...GateWay: 网关服务器,有多个来做负载均衡,与client 使用长连接方式,client发送的消息都通过GateWay转发给大厅服务器游戏服务器,大厅服务器游戏服务器返回给client的消息也都经过...GateWay,充当游戏消息转发的中转站,防御网络恶意攻击。...LobbyServer:大厅服务器,可以有多个,负责游戏大厅中功能,例如游戏桌数目,各游戏桌在线人数等等。 GameServer:游戏服务器,多个,不同的游戏有不同的游戏服务器,具体游戏的逻辑实现。...dbmgr: 数据服务器,所有需要持久的数据,都经过dbmgr与数据库进行交互,dbmgr通过数据缓存,批量事务,本地持久等手段大大提高整体系统性能。

    2.4K71

    腾讯云方勇:TFC 全球泛游戏大会谈棋牌游戏安全防护

    以下由新浪游戏与手机游戏第一门户网站18183采访报道: 2017第十五届 TFC 全球泛游戏大会已于10月26日在厦门杏林湾大酒店盛大开幕,会上采访到了腾讯云安全首席架构师方勇,就棋牌游戏网络安全防护方向进行了深度的讨论...方勇认为,棋牌从过去两年到现在主要面临 DDoS 的威胁,知己知彼才能做到棋牌游戏网络安全的高效防护。 ” ?...以下为采访实录: 1、新浪游戏记者:目前,棋牌游戏遇到哪些安全问题,应该怎么解决呢?...2、新浪游戏记者:针对DDoS这边,我们这边有什么解决方案可以提供给棋牌公司? 方勇:腾讯云给两种棋牌客户量身定制了两类防护方案。...方勇:可以用 DNS 调度流量,在被攻击时把被攻击的服务器通过超大防护的数据中心进行流量清洗。这种方案对客户各方面要求都比较低,大概几分钟就能完成部署,防护效果也不错,比较适合初创的棋牌公司。

    1.4K50

    人工智能当前,棋牌游戏留给人类的堡垒不多了

    最近半年在写一个棋牌游戏的环境:RoomAI,目的是为方便自己和他人在棋牌游戏 AI 方面进行一些探索和研究。...在开发过程中,查看了一些棋牌游戏相关的资料,在这里分享给大家。 ? 1....棋牌游戏 之前为了写一个棋牌游戏相关的专利,去查棋牌游戏的定义,发现搜狗百科 “棋牌游戏是棋类游戏和牌类游戏的统称”。这和没说有什么区别,囧。...棋牌游戏和人工智能 信息是否完全决定一款游戏是棋类游戏还是牌类游戏,也决定了其 AI 算法。 2.1....留给人类的堡垒们 几千年以来,棋牌游戏是人类智力的竞技场。值此人工智能大发展之际,人类用棋牌游戏构建了其中一条保卫人类智力优越感的防线。

    2.1K80

    提醒西安手机棋牌游戏创业者:没趟过浑水就别想进入游戏开发领域

    手机棋牌游戏在房卡模式的全面爆发后,又因其投资成本低、回报率高的特点,西安手机棋牌游戏开发需求迅速增长。...作为一般的创业者多以加盟的方式进入棋牌游戏市场,但西安游戏开发市场火热的背后也有种种原因,导致让一些不法分子有了可乘之机,利用创业者急切进入棋牌游戏市场的心情骗取钱财。...有实力的棋牌游戏品牌在选择创业者时,都会经过筛选、考察,邀约创业者上门考察,如果创业者对棋牌游戏市场一无所知,对销售经营一知半解的话,品牌总部也会考虑创业者的实力和水平是否符合加盟的条件,加盟是否会对品牌形象产生影响...防骗技巧二:多维度搜集手机棋牌游戏公司的信息 如果出现网站关闭、终端不稳、游戏无法玩等问题,请一定要谨慎;无论是经营失误,还是其他原因都应考虑放弃该品牌。...网络是一个万能的世界,你不知道的一切都可以通过网络来找到答案,棋牌游戏也不例外,想要了解一个棋牌游戏品牌,只要上网搜索相关的信息,越多越好,尽可能的细化;不但对该公司有全面的认识,更可以看到外界对加盟品牌的评价以及态度

    44920
    领券