棋牌服务器-游戏的一些架构知识与搭建程序思路

首先要说的是,这款棋盘游戏的服务器架构是指NetFox板卡的结构。网狐象棋和扑克牌最令人印象深刻的是它的稳定性和高网络负载。一份压力测试报告显示,双核rintexeon2.8cpu加上2G内存和一台使用共享100米光纤的机器可以同时支持5000款在线游戏。

棋牌高防服务器

棋牌服务器租用

在研究了它的服务器框架之后,发现它的网络部分确实得到了优化。它主要使用Windows提供的IO完成端口来实现其网络组件。虽然这个服务器的设计参考了它的设计,但是仍然有很多不同之处,因为服务器框架主要是在Linux系统上使用,而WebFox棋牌是基于Windows平台的,严重依赖于windowssdk。这种架构延续了网络福克斯棋盘在网络组件中的努力,象棋卡服务器也采用异步IO作为网络工作模式,更深入地说,其数据库也是采用异步架构的。:ASIO提供了一个异步框架,因此它的几个核心组件:Boost:ASIO的影子可以在TCPServerService、TimerService、DatabaseService、AsyncService中看到。

图1是图中的总体架构图,我们可以看到服务器的总体架构分为三层:库、核心和应用程序。核心层基于库实现,而应用程序使用核心层提供的服务,监听核心层(Socket、Database等)中的异步事件。

在此部署中,有1个CenterServer、1个、LogServer、3个、LogonServer和许多RoomServer(只显示了德州扑克的两个房间)。这些服务器可以分布在同一台计算机上,也可以分布在不同的计算机上。这对扩容极为方便。当玩家数量增加,系统不足以承载网络负载时,只需购买更多的机器,安装更多的RoomServer或LogonServer即可。

下面看看中央服务器可以同时支持多少播放器。假设一台机器可以有多达5000个连接,也就是说,我可以购买5000台机器,因为LogServer+RoomServer(LogServer不太多)的数量可以被忽略,因此RoomServer可以同时管理多达5000X5000的在线用户。

1个部署数据库

在选择计算机作为数据库服务器后,安装PostgreSQL数据库并导入ServerInfoDB(CenterServer使用)、UserInfoDB(LogonServer、RoomServer使用、LogServer使用)、UserScoreDB(RoomServer使用)以及有关各种游戏逻辑的数据库,如TexasPokerDB等。这些数据库不必放在一台机器上,它们可以放在不同的机器上,因为体系结构支持分布式数据库,所以您只需记住每个数据库所在的机器。

2启动服务器

2.1启动中心服务器

首先,我们需要修改中央服务器配置,主要包括配置的两个方面:网络配置和数据库配置。

网络配置包括:侦听端口、最大连接数。此处连接最多的是支持LogonServer+RoomServer的最大数量。因为只有这两种类型的服务器连接到CenterServer。

数据库配置包括ServerInfoDB所在机器的IP地址、端口号、用户名和密码

一旦配置完毕,您就可以直接启动中央服务器,中央服务器将根据这些配置信息管理游戏列表、房间列表和其他信息。

2.2启动LogonServer

第一步是配置服务器,主要配置信息是:

网络配置:监听端口和最大连接。这里的最大连接数控制此LogonServer可以支持多少同时登录。

数据库配置:主要配置UserInfoDB的地址、用于连接端口的用户名和密码。

与中心服务器相关的配置:主要有IP端口和中央服务器所在的端口。需要有关CenterServer的信息,因为LogonServer定期从CenterServer更新游戏列表和房间信息。

配置完毕后,可以启动LogonServer。

2.3启动LogServer

这个服务器做起来比较简单,是用来处理玩家观看游戏过程所用的。主要的配置项目如下:

网络配置:监听端口和最大连接。

数据库配置:IP,GameLogDB所在的端口,用于连接的用户名和密码

配置后,您可以启动。

2.4配置RoomServer

此服务器负责大多数播放器的操作,启动RoomServer实例相当于打开一个新房间,因此要扩展容量,基本上只需要添加机器并打开更多的RoomServer,其配置如下:

房间基本信息:房间类型(vip房间,比赛房间,普通房间等)、桌数、每桌椅子数等。

网络配置:监听端口和最大连接。连接的最大数量是这个房间内可以同时在线玩游戏的最大数量。

数据库配置:包括UserInfoDB的地址、端口、用户名和密码,-特定的游戏数据库(比如TexasPokerDB)。

与中心服务器相关的配置:与LogonServer一样,此配置也是必需的,因为RoomServer定期将游戏列表和房间信息从CenterServer更新到客户端。

最后激活这个房间。配置完房间后,播放器可以通过客户端或网页播放。

 

您可能还会对下面的文章感兴趣:

COPYRIGHT © 2010-2018 广东木准科技有限公司 All Rights Reserved.

粤ICP备2022104150号
客服中心 customer service center

联系我们咨询微信:18300003210(服务器/等保相关咨询联系微信二十四小时在线)

  • 服务器租用
  • 服务器托管
  • 机房大带宽
  • 等保测评
  • 网络安全运维

售后服务 (网维技术QQ:404634181 投诉电话:183-0000-3210)

工作时间: 周一至周五 9:30至17:30 周六13:30至17:30,其它日期按国家法定节假日休假,如果有不便之请敬请谅解! 售后技术支持:多部门7*24小时机制。

客户投诉留言

电话和QQ,以便我们为您提供优质服务! *为必填项