H5大联盟牛来了-PHP Workerman全套H5棋牌源码/15款游戏服务端明文可改+ThinkCMF后台
文章摘要: 一套以"牛来了"为品牌的 H5 大联盟棋牌二开源码,核心卖点是游戏服务端全部 PHP 明文交付,15 个 Workerman 游戏进程各跑一种玩法,发牌、算牌、结算逻辑都能直接改。后台基于 ThinkCMF,前端纯 H5 跑在微信浏览器里,房卡加大联盟俱乐部双模式运营。
这套源码的交付物分三块:主程序(325 MB)、MySQL 整库 SQL(35 MB)、搭建教程 docx,压缩包总共 178 MB。从目录结构和代码内容看,它是一个典型的"PHP 全栈 H5 棋牌"项目,没有用任何游戏引擎,前端靠原生 HTML + jQuery + CSS 画界面,后端靠 Workerman 长连接跑游戏逻辑。

主程序根目录一共 20 个文件夹,关键的几个:app 是 H5 前端页面,application 是 ThinkCMF 后台控制器,auto 是游戏服务端——整套项目的核心代码全在 auto/php54n/ 里面。
技术栈与架构
层级 | 技术 | 说明 |
|---|---|---|
前端 | HTML5 + jQuery + Swiper | 纯 H5 页面,跑在微信内置浏览器 |
游戏服务端 | PHP + Workerman | 每款游戏一个独立 WebSocket 进程 |
后台管理 | ThinkCMF X2.2.0(ThinkPHP 3.2) | CMS 风格后台,SourceGuardian 加密 |
数据库 | MySQL 单库 | 38 张表,jz_ 前缀 |
登录 | 微信 OAuth 授权 | 微信公众号 H5 授权登录 |
部署环境 | Linux + PHP 7.0/7.1 + Nginx | 需要安装 SourceGuardian Loader(fly.so) |
架构思路很直白:一个主控进程 server.php 监听 4000 端口,启动时读数据库 jz_server 表,给每个游戏类型生成一条启动命令写进 run.sh,然后逐个拉起游戏子进程。每个游戏子进程(game1.php ~ game27.php)各自监听不同端口,通过 AsyncTcpConnection 回连主控。玩家从 H5 前端通过 WebSocket 连到对应游戏端口,房间创建、发牌、下注、开牌、结算全在 PHP 里完成。

auto/php54n/ 下面就是游戏服务端的全部源码:15 个 gameN.php 入口文件对应 15 个游戏类型,每个游戏类型还有一个同名文件夹(如 game1/)装着 30 个左右的动作文件——fapai.php(发牌)、startroom.php(开房)、joinroom.php(加入)、step0~step7.php(游戏流程步骤)、tanpai.php(摊牌)、overroom.php(结算)。加上 sys/ 目录里的系统级动作(登录、建房、关房),整个游戏服务端大约 995 个 PHP 文件。
游戏玩法一览
从前端 HTML 游戏入口、图片资源命名和服务端牌型定义综合判断,这套源码包含以下玩法:
游戏类型 | 支持人数/模式 | 服务端模块 |
|---|---|---|
牛牛/斗牛 | 六人、九人、十人、十二人;抢庄/明牌/通比/自由 | game3、game4、game5、game16 等 |
炸金花 | 六人、九人 | game1 |
三公 | 六人、九人、十二人;含"吉祥三公" | game14、game15 |
拼十系列 | 拼十、王牌拼十、八倍拼十、12人拼十 | game17 等 |
拼三张/大牌拼二张 | 多人 | 独立模块 |
二八杠/二八红 | 多人 | game10 |
斗地主 | 三人 | game2 |
斗公牛 | 多人 | game4 |
广东麻将 | 四人 | game6 |
鱼虾蟹 | 多人,骰子玩法 | game21、game26 |
小天九/牌九 | 多人,32 张配对牌 | game18、game27 |
金拼十 | 多人 | 独立模块 |
牛牛和拼十是两大主力品类。从品牌名"牛来了"能看出牛牛的地位,光牛牛就有四五种人数和模式变体,前端也给了最多的 UI 模板(moban1.html、moban2.html 各一套创房面板,支持选牛牛倍数规则)。拼十系列同样丰富,大厅里摆了拼十、王牌拼十、八倍拼十、12人拼十、大牌拼二张、拼三张六个入口,算上金拼十,"拼"字辈的游戏数量不亚于牛牛。

上图左侧是大厅游戏列表,可以看到金拼十、二八红、鱼虾蟹、小天九、三公、吉祥三公等入口;中间是十二人三公的抢庄阶段;右侧是金花房间的对局画面。

大厅首页(左)展示了更多拼十类游戏:拼十、王牌拼十、八倍拼十、大牌拼二张、12人拼十、拼三张,加上底部的金拼十和二八红。中间是"我的联盟"页面——这就是大联盟模式的核心界面,联盟内的牌桌按进行中和已结束分类展示,每桌显示游戏类型、人数、局数和底分。右侧个人中心列出了赠送房卡、开房记录、积分查询、我的联盟、加入的联盟、联盟桌子备注、邀请玩家、成员管理、控制管理等完整的联盟运营功能入口。

牛牛房间(左)的闲家下注界面,二八杠(中)的牌九式四人对局,鱼虾蟹(右)的大小押注玩法——三种截然不同的游戏类型,前端各画了一套 UI。
后台管理与运营功能
后台管理基于 ThinkCMF X2.2.0,左侧导航分为:设置、会员管理、游戏管理、备份管理、系统设置五大模块。顶部快捷入口包括网站信息、变量设置、服务器管理、微信设置、所有会员、房卡操作。

会员管理列表的字段值得注意:除了常规的 ID、昵称、头像、手机、积分、房卡数量,还有指定发牌、是否透视、输赢概率三列——这是房卡棋牌里常见的点控功能入口,后台可以对单个用户设置赢率或指定牌型。

微信设置页显示大厅名字为"新H5大联盟",配置了微信公众号的 AppID 和 Key,支持 JSSDK 分享。玩家通过微信内打开 H5 链接即可授权登录,不需要单独注册账号。
运营模式上,这套走的是房卡 + 大联盟俱乐部双轨:玩家用房卡开房,俱乐部创建者邀请成员,代理体系负责房卡分发。数据库里有 jz_qun(群/俱乐部)、jz_fk_bag(房卡背包)、jz_user_zdcard(指定发牌)等专用表支撑这些功能。
源码加密情况与二开空间
这套代码的加密状态分两半:
明文可改的部分(二开核心):
游戏服务端
auto/php54n/下全部 995 个 PHP 文件,包括 15 个游戏入口和所有游戏动作逻辑——发牌顺序、牌型判定、倍数计算、抢庄规则、结算流程,全部明文。这意味着可以改赢率算法、加新牌型、调整倍数表、甚至基于现有模板新增游戏类型。H5 前端全部 HTML/CSS/JS,可以换皮、改布局、加游戏入口。
数据库整库 SQL,38 张表结构和数据都有。
SourceGuardian 加密不可改的部分:
application/下 206 个 PHP 控制器文件,覆盖了后台管理、用户系统、订单系统、代理系统等全部 ThinkCMF 业务逻辑。加密后无法阅读和修改,运行时需要安装 SourceGuardian Loader(fly.so 扩展),且限定 PHP 7.0 或 7.1。
实际二开能做的事:改游戏玩法和前端 UI 没有任何障碍,这是最有价值的部分;但如果要改后台功能(比如加新的管理页面、改代理分成逻辑、接新的支付通道),就会被加密卡住,要么绕过 ThinkCMF 自己写接口,要么用同版本框架重建后台。
搭建概要
项目附带了一份 docx 格式的搭建教程。结合代码里的配置文件和启动脚本,部署大致需要:
环境准备:Linux 服务器(CentOS),安装 PHP 7.0 或 7.1(必须是这两个版本,SourceGuardian Loader 限死了),MySQL 5.6+,Nginx
安装 SourceGuardian Loader:下载对应 PHP 版本的
ixed.7.x.lin放到 PHP 扩展目录,php.ini加载导入数据库:导入
yx-lp.sql(35 MB),修改auto/php54n/config.php和data/conf/db.php里的数据库连接信息配置 Nginx:指向主程序根目录,开放 WebSocket 端口(4000 + 各游戏端口)
启动游戏服务:进
auto/目录,先php server.php start -d拉起主控,再执行生成的run.sh批量启动游戏进程配置微信公众号:后台填入 AppID 和 Key,配置 OAuth 回调域名
预估搭建时间:熟手 1-2 小时,主要耗时在 SourceGuardian Loader 的版本匹配和 Nginx WebSocket 代理配置上。
小结
这套"牛来了"的核心价值在于游戏服务端全明文——纯 PHP 写的 Workerman 游戏进程,没有编译、没有混淆、没有加密,从洗牌算法到结算公式都摊在桌上。15 个游戏模块覆盖了房卡棋牌的主流玩法,加上前端 H5 也是明文的,二开改玩法和换 UI 的门槛很低。短板在于 ThinkCMF 后台被 SourceGuardian 锁死,后台功能只能用不能改,而且 PHP 版本被钉在 7.0/7.1 上,升级空间有限。适合拿来做玩法层面的二次开发,后台管理如果不够用就得另起炉灶。
下载地址
会员免费本资源为会员专享,登录后可下载

