整台服务器打包交付的电玩城:富贵3运营版39款游戏源码全栈拆解
拿到这套「富贵3完整运营」的第一印象:这不是一份代码仓库,是一台服务器的快照。
解压后的顶层结构直接对应Linux目录布局:opt/ 下放数据文件、数据库存储和Web站点,srv/ 下放Nginx、PHP、Redis、MariaDB二进制以及整个C++游戏服务端框架。另有一个 手端/ 文件夹装着6个打包好的移动客户端(3个Android APK + 3个iOS IPA),和一个 数据库/ 文件夹存放20000余行的完整SQL转储。把这两个目录还原到一台干净的CentOS服务器上,导入数据库,理论上就能跑起一整个电玩城。整个包解压后约5.7万个文件,其中 srv/ 下的服务端组件占了5.3万个。
游戏大厅与完整清单
客户端用Unity引擎构建,通过雷电模拟器跑起来后可以看到完整的游戏大厅。首页按品类排列:捕鱼、街机、棋牌游戏占据左侧三大入口,右侧横向滚动展示各款连线游戏,每款都标注了彩池奖金。

往右翻页,连线类游戏铺满了整整两屏——疯狂麻将、财神赐福、黄金龙王、武财神、上海百乐门、火焰连击、五龙争霸……每款都挂着六位数的彩池奖金。和之前拆过的Club Vegas那套老虎机平台类似,连线/Slots始终是电玩城产品的主力品类。


平台游戏按算法类型分成五大品类,完整清单如下:
品类 | 数量 | 游戏名称 |
|---|---|---|
捕鱼 | 7 | 摇钱树、神龙宝藏、海王2、皇家礼炮、李逵劈鱼、金蝉捕鱼、淡水鱼 |
电玩 | 7 | 水果机、金鲨银鲨、奔驰宝马、森林舞会、二代金鲨银鲨、二代奔驰宝马、六狮王朝 |
连线 | 19 | 新水浒传、金龙献宝、三只猴子、疯狂的7、武财神、疯狂的猴子、疯狂麻将、上海百乐门、财神赐福、火焰连击、黄金龙王、幸运之轮、龙争虎斗、五龙争霸、多财多福、恭喜发财、金鸡报晓、吉祥如意、狮王争霸 |
棋牌 | 10 | 百家乐、百人牛牛、二人牛牛、通比牛牛、五人牛牛、关公战秦琼、二八杠、骰宝、炸金花、五星宏辉 |
彩票 | 1 | 时时彩 |
每款游戏在服务端以独立进程组运行,在数据库层面也各自拥有一个 GameConfigDB_xxx 配置库——后面架构部分细说。
捕鱼游戏实机体验
进入捕鱼品类后,大厅以3D街机厅的场景展示各款捕鱼游戏的机台——富贵捕鱼2、皇家礼炮、穿越鳄鱼、金蝉捕鱼依次排开,选桌界面还原了线下街机厅的视觉感。选中金蝉捕鱼后进入房间选择,大众场两张桌子各坐了一排NPC,至尊场入座门槛100万币。



进入实战后,画面是典型的多人捕鱼场景:屏幕中央各类鱼群游过,两侧玩家各操控一门炮,底部显示炮弹倍率和金币余额。画面细节做得比较完整,炮台特效、鱼群动画、渔网捕获动画都有,之前拆过的第5代全民捕鱼也是C++服务端架构,但那套的捕鱼画面偏2D平面,这套的3D街机厅场景和入座动画明显多了一层包装。感兴趣可以对比看,文末有关联文章。


平台功能模块
大厅底栏集成了完整的社交和经济系统。财富榜展示全服玩家的金币排名,头像、昵称、金币数一目了然,起到了刺激消费和社交攀比的作用。弹头系统是捕鱼游戏特有的设计——青铜、白银、黄金三档弹头分别对应1000、10万、100万的面值,VIP等级决定了可赠送的弹头档次。


保险柜功能让玩家可以把金币从游戏余额转入"保险箱"存储,设置独立密码保护,防止一次性输光。充值方式支持支付宝、微信支付、点卡充值和VIP充值四种通道,对接的支付逻辑在服务端的 PaymentSvrGroup 进程中处理。


C++服务端:一个游戏一组进程
服务端是这套源码的技术核心。整个游戏框架位于 srv/newframe/,是一套自研C++系统,所有可执行文件都是编译好的Linux二进制(.run 格式),不提供C++源码。
架构采用「多进程 + 缓存层 + FastCGI接口」的三层设计:
基础设施进程(10组):LoginSvrGroup 处理登录,PaymentSvrGroup 处理支付,ChatSvrGroup 处理聊天,此外还有好友、广播、商城、任务、游戏管理等通用服务。ProxyGroup 和 LotusGroup 充当网关和路由协调器。
Redis缓存进程(10组):在游戏进程和MariaDB之间架了一层缓存代理——CacheUserDBGroup、CacheGameDBGroup、CacheCoinDBGroup 等——分别缓存用户、游戏、金币、道具数据的热数据,让高频读写走Redis内存。
游戏进程(27组):每款游戏独立运行一个 GameFrame.run 进程,通过各自的 start.sh / stop.sh 启停,配置写在 DeskNormalData_*.ini 里。一游戏一进程的好处很直接:某款游戏崩溃不影响其他游戏,运维时可以单独重启某一款而不停整个平台。这种按游戏拆分的多进程架构,和之前拆的仿KG Slots那套多Workerman服务端思路类似,底部关联文章里可以横向对比。
FastCGI接口层:Nginx把HTTP请求分发到不同端口——7011处理账号、7013处理游戏数据、7014处理支付、7015处理系统配置、7016处理算法、7017处理商城,Web后台和客户端通过这些端口与C++进程通信。
69个数据库的分库设计
数据库用MariaDB 10.2.8,自带完整二进制安装在 srv/mysql/ 下,监听3000端口。opt/mysql_data/ 下有69个数据库目录:
系统级库(14个):
UserDB管用户账户、CoinDB管金币流水、AlgoDB存算法配置、RobotDB管机器人玩家、AnalysisDB做统计分析、WebDB支撑后台管理,还有GameDB、MarketDB、NotificationDB、DataCenterDB等。游戏配置库(55个):从
GameConfigDB_101到GameConfigDB_268,每款游戏一个独立配置库。加新游戏只需新建一个配置库和一组进程,不动现有的任何东西。
随包的 data.sql(20000余行)是全量转储,涵盖所有表结构、游戏列表、算法参数和系统初始配置。
ThinkPHP后台管理
Web后台在 opt/website/manage/,基于ThinkPHP框架,前端用Bootstrap(H+ Admin模板),覆盖了完整的运营功能:
模块 | 功能 |
|---|---|
玩家管理 | 账户查询、余额操作、登录记录、游戏统计 |
代理系统 | 代理开通、层级关系、佣金报表(日/周/月)、推广链接 |
算法控制 | 逐游戏、逐玩家的赢率参数调整 |
机器人 | 各游戏的机器人数量、行为策略配置 |
财务 | 充值/提现、金币增减、支付通道配置 |
数据统计 | 日活/时段活跃、留存率、收入报表 |
内容运营 | 公告管理、卡券系统、商城配置 |
权限 | 多角色分权(管理员/客服/财务) |
后台连接本机MariaDB 3000端口的 WebDB 库,PHP-FPM在9000端口通过FastCGI对接Nginx。
部署环境与步骤
这套源码的部署更接近"系统还原"——所有二进制预编译好,配置预写好,还原目录结构即可。
服务器配置要求:
项目 | 要求 |
|---|---|
操作系统 | CentOS 6/7(64位Linux) |
CPU | 4核以上 |
内存 | 8GB以上(27个游戏进程 + MariaDB + Redis同时运行) |
硬盘 | 50GB以上 |
网络 | 公网IP,需开放80、3000、5000、7011-7017、8011等端口 |
部署步骤概要:
将
opt/和srv/还原到服务器根目录对应位置启动MariaDB,导入
data.sql全量数据启动Redis(端口5000)
按顺序启动
srv/newframe/下的各服务进程组:先LoginSvr和CacheDB组,再逐个启动27组GameSvr启动Nginx(已有完整
nginx.conf),对接PHP-FPM浏览器访问
manage/路径进入后台管理修改代理下载页的域名和链接,指向实际服务器
APK/IPA部署到下载服务器或分发平台
熟悉Linux环境的运维人员首次部署预计 3-5小时,大部分时间花在逐个启动和验证27组游戏进程上。随包附带三个版本的客户端安装包(标准版、国际版、至尊版),每版各有APK和IPA,APK约30MB,IPA约40MB,主程序不大,游戏资源通过AssetBundle热更新按需下载。
二开空间
服务端(C++框架):所有游戏逻辑都是编译好的 .run 二进制,不提供源码。能调整的只有 .ini 配置文件里的桌子参数、下注范围等数值,以及数据库里的算法权重。加新游戏或改玩法逻辑,没有源码基本做不到。
客户端(Unity):同样是编译产物。换皮(改图片、改文字)理论上可以通过替换AssetBundle实现,但需要匹配版本的Unity编辑器重新打包。深度修改游戏逻辑需要反编译,难度高。
后台管理(ThinkPHP):唯一有完整PHP源码的部分,可以自由改动——加管理功能、调报表逻辑、对接新支付通道、改代理佣金规则都在这一层做。
Web推广页:纯HTML,随意修改。
整体来看,二开空间集中在后台管理和运营配置层面。服务端和客户端作为二进制交付,改动余地有限,更适合「调参数 + 换皮 + 改后台」的运营级定制。
延伸阅读1 篇
下载地址
会员免费本资源为会员专享,登录后可下载


