听风娱乐城-全套H5电玩城源码/后台系统庄点控/可二次开发
拿到手的这一套是真三端源码,不是编译好的组件包。前端、后端、后台管理三个工程各自独立成目录,前端是 TypeScript 写的白鹭 Egret 工程,后端是一整套 Node.js 的 Pomelo 分布式游戏服务端,后台是 PHP 的 ThinkCMF 管理系统,外加一份 34 张表的整库 SQL 和中英文搭建文档。品牌叫「听风娱乐城」(配置里公众号写的是萌豆互娱),是那种模仿线下商场电玩城的金币娱乐场,一个大厅里塞了十来款百人场和街机玩法。下面按源码构成、架构、游戏、部署、后台点控、二开空间逐块拆。
源码构成:三端各自成套
先看目录结构,这也是判断"有没有干货"最直接的证据。后端 DigitGame/app/servers 下面躺着十几个独立的服务进程目录,前端 src/view 下面是三十多个功能与游戏模块,后台 pro 是完整的 PHP 工程带整库脚本。三张目录图摆在这里,代码量一目了然。



后端 servers 目录里 17 个子目录,除掉 connector、gate、hall、checker 四个基础服务,剩下的 animal、fruit、golden、niuniu、ddz、pk、clown、poker、to、tw 全是按游戏拆开的独立进程,前面带下划线的 _animal、_fruit、_golden、_niuniu 是对应玩法的另一套配置版本。前端 view 里 32 个目录,游戏模块和活动、商城、签到、客服、VIP、排行这些外围系统分得很清楚。
技术栈与架构
三端用的是三条完全不同的技术线,各司其职。
部分 | 技术栈 | 关键点 |
|---|---|---|
前端 | 白鹭 Egret 4.1.0 + TypeScript | H5,可打包原生;用 Egret Wing 编译;socket 走 quick-pomelo 协议 |
后端 | Node.js 4.4.7 + Pomelo + quick-pomelo/memdb | MongoDB + Redis;分布式多进程;memdb 做内存数据层 |
后台 | PHP + ThinkCMF(ThinkPHP)+ MySQL | 34 张表整库;带 Nginx 与 .htaccess 配置 |
后端这套架构是整个源码里最有看头的地方。它用的是 rain1017 那套 quick-pomelo,在标准 Pomelo 之上加了 memdb 内存数据库层——游戏运行时的热数据先落在 memdb 集群里,再异步回写 MongoDB,Redis 负责缓存和会话。玩家连进来先过 gate 拿到分配,再连 connector,登录后进 hall 大厅,选了具体游戏才路由到对应的游戏服进程。这种一游戏一进程的拆法,好处是单个玩法崩了不拖垮整个大厅,加新游戏也是往 servers 里新增一个目录、改一下 servers.json 就行,不用动别人。
这套"按游戏拆进程、每个游戏服独立起落"的思路,之前拆的优米 H5 电玩城也是一个路子——它后端走的是 Express + Socket.io,每款游戏同样是单独一个 Node 进程连回中心大厅服,一个大厅里同样塞了四十多款老虎机、捕鱼和百人场。区别在于听风这套前端给的是白鹭 Egret 的完整工程源码、服务端用的是更成体系的 Pomelo 框架,优米那套前端是 Cocos 编译包只能换皮。两套都是 Node 系的 H5 电玩城,想挑一个二开底子的话,正好对照着看看谁更顺手。那篇也放在文末了,感兴趣的朋友可以去看看。
游戏清单
一个大厅里 11 款游戏,覆盖百人场、街机拉霸、桌牌棋牌三大类:
游戏 | 前端模块 | 类型 |
|---|---|---|
金鲨银鲨(森林舞会) | jinsha / animal | 百人街机·押注 |
百人牛牛 | niuniu | 百人场 |
百人金花 | jinhua / golden | 百人场 |
冰果王(水果机) | fruit | 街机·拉霸 |
欢乐小丑 | clown | 老虎机 |
欢乐21点 | blackjack | 桌牌 |
欢乐斗地主 | ddz | 棋牌 |
PK龙虎(天地玄黄) | pk | 百人对战 |
摇钱树 | moneyTree | 彩金玩法 |
竞猜 | jingcai | 竞猜 |
彩票 | lottery | 彩票 |
实际界面效果如下。第一张是大厅和金鲨银鲨的押注场,大厅走的是竖版滚动列表,金鲨银鲨顶上挂着 4.99 亿的彩金池;第二张左边是冰果王水果机、右边是 PK 龙虎的"天地玄黄"四门押注盘,彩池数字都做得很唬人。


服务器环境与部署
三端要分别搭,环境要求不算苛刻但版本有讲究,尤其后端锁死在 Node 4.4.7 这个老版本上。
后端(Pomelo 游戏服):
装
node-v4.4.7(版本别升,quick-pomelo 和一堆原生依赖是按这个版本编的)装并启动
redis-server装并启动
mongodb-server(v3.2 以上)装 Git,把
bin和usr\bin加进 Path改配置:
config\memdb.conf.js、config\development\memdb.json里的backend.url指向 MongoDB;config\development\servers.json里的clientIP、clientPort填外网地址和端口先起缓存服务:
node_modules\.bin\memdbcluster start -c config\memdb.conf.js再起游戏服务:
node_modules\.bin\pomelo start
Linux 下多一步,node_modules 要 npm rebuild 重编一遍确保无 Error,其余流程一致。
后台(PHP 管理端): Nginx 或 Apache 配好 PHP,导入 dwc.sql 建 34 张表,工程自带 Nginx.conf 和 .htaccess 可直接参考,index.php 是入口。
前端(Egret): 用 Egret Wing 打开 dianwancheng2 工程,本机调试把 GlobalData 里的 isDebug 设 true、正式发布改 false;服务器地址、大厅地址这些都集中在 resource/config/config.json 里配;支付逻辑在 PayManage 类里对接。改完编译发布到 bin-release。
整套从零搭起来,环境顺利的话小半天能跑通,卡点通常在 Node 老版本原生模块的编译和 memdb 集群的配置上,这两处最容易报错。
后台点控是重点
这套源码的后台不只是查查数据,而是带完整的系统庄概率控制——也就是俗称的"点控"。下面这张是后台游戏设置里金鲨银鲨和百人牛牛的概率配置页:金鲨银鲨可以按当前下注总额分别设飞禽走兽的中奖概率、系统庄的 6/8/12 倍注位概率;百人牛牛能逐位设置牌型大小的出现概率,还有系统庄牌型概率和抽水百分比。

除了概率,后台侧边栏还挂着广播设置、发红包、大转盘、竞猜设置、兑换奖品、奖券、建议列表、日志记录这些运营工具,基本是一套能直接上手运营的管理面板。
能二开到什么程度
三端都是明文源码,没混淆,这是二开的前提。前端 TypeScript 分模块清晰,加游戏、改 UI、换皮都在 src/view 里动;后端 Pomelo 的进程拆分让加玩法变成"复制一个 server 目录再改逻辑",比单体架构友好很多;后台 ThinkCMF 是常见框架,改后台功能门槛低。要注意的坎有两个:一是 Node 4.4.7 太老,想升级 Node 版本会牵动一批依赖,得有心理准备;二是 Egret 4.1.0 也是几年前的引擎版本,新版 Egret 未必完全兼容,二开建议锁在原版本上做。
总体是一套结构完整、可编译可运行、点控齐全的 H5 电玩城全源码,适合拿来研究 Pomelo 分布式游戏服务端的组织方式,或者作为电玩城类项目的二开底子。
延伸阅读1 篇
下载地址
全员付费本资源为付费内容,登录后可下载


