听风娱乐城-全套H5电玩城源码/后台系统庄点控/可二次开发

金币源码2026-09-03283 阅读
约 1,857 字 · 大约 6 分钟

拿到手的这一套是真三端源码,不是编译好的组件包。前端、后端、后台管理三个工程各自独立成目录,前端是 TypeScript 写的白鹭 Egret 工程,后端是一整套 Node.js 的 Pomelo 分布式游戏服务端,后台是 PHP 的 ThinkCMF 管理系统,外加一份 34 张表的整库 SQL 和中英文搭建文档。品牌叫「听风娱乐城」(配置里公众号写的是萌豆互娱),是那种模仿线下商场电玩城的金币娱乐场,一个大厅里塞了十来款百人场和街机玩法。下面按源码构成、架构、游戏、部署、后台点控、二开空间逐块拆。

源码构成:三端各自成套

先看目录结构,这也是判断"有没有干货"最直接的证据。后端 DigitGame/app/servers 下面躺着十几个独立的服务进程目录,前端 src/view 下面是三十多个功能与游戏模块,后台 pro 是完整的 PHP 工程带整库脚本。三张目录图摆在这里,代码量一目了然。

听风娱乐城 后端分布式游戏服目录
听风娱乐城 前端游戏模块目录
听风娱乐城 后台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 龙虎的"天地玄黄"四门押注盘,彩池数字都做得很唬人。

听风娱乐城 游戏大厅与金鲨银鲨
听风娱乐城 冰果王水果机与PK龙虎

服务器环境与部署

三端要分别搭,环境要求不算苛刻但版本有讲究,尤其后端锁死在 Node 4.4.7 这个老版本上。

后端(Pomelo 游戏服):

  1. 装 node-v4.4.7(版本别升,quick-pomelo 和一堆原生依赖是按这个版本编的)

  2. 装并启动 redis-server

  3. 装并启动 mongodb-server(v3.2 以上)

  4. 装 Git,把 bin 和 usr\bin 加进 Path

  5. 改配置:config\memdb.conf.js、config\development\memdb.json 里的 backend.url 指向 MongoDB;config\development\servers.json 里的 clientIP、clientPort 填外网地址和端口

  6. 先起缓存服务:node_modules\.bin\memdbcluster start -c config\memdb.conf.js

  7. 再起游戏服务: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 篇

下载地址

本资源为付费内容,登录后可下载