房卡联盟

房卡联盟模式棋牌源码:俱乐部、亲友圈、联盟代理体系完整,覆盖麻将、牛牛、德州扑克等玩法,附部署与二开教程。

进入分类

达达麻将-四川血战血流房卡全套源码:Cocos Creator客户端加Node.js服务端

房卡联盟2026-11-10501 阅读
约 1,909 字 · 大约 6 分钟
拉 2 位好友进群,免费下载会员资源好友通过入群验证即算 1 人,凑满自动到账立即参加

达达麻将是一套只做四川麻将的房卡源码,客户端用 Cocos Creator 1.3.2,服务端是纯 Node.js,前后端加代理后台全部是明文 JS,没有编译过的 DLL 或加密脚本。体量很小(解压后约 126M,ddmj_20161230 115M、server 11M),适合想看清一套房卡麻将从建房到结算怎么走、或者在它上面加地方玩法的人。

包里有什么

解压后顶层只有两个目录:ddmj_20161230(客户端、代理系统和文档)和 server(游戏服务端)。目录名里的 20161230 就是这版代码的打包日期,后面讲到的 Node.js 4.6、MySQL 5.1 这些老版本也都是那个年代的配置。

目录

内容

ddmj_20161230/client

Cocos Creator 工程,45 个脚本,6 个场景(登录、大厅、牌局、创建角色、加载、热更新),带 build/jsb-binary 原生构建目录和 Android、iOS 原生代码

ddmj_20161230/dealers

代理系统,独立的一套 Node.js 服务端 + Cocos Creator 管理端

ddmj_20161230/docs

开发环境搭建、CentOS 部署、Creator 升级说明、源代码说明表

server/server

账号服、大厅服、麻将游戏服三个服务,配置文件、SQL、测试脚本

服务端的 node_modules 已经带好(express、socket.io、mysql、log4js、fibers),代理服务端还多一个 forever,不用再去装依赖。

四川麻将的两个玩法写在哪

游戏服目录 majiang_server 里两份核心文件分别对应两种玩法:gamemgr_xzdd.js 是血战到底,gamemgr_xlch.js 是血流成河,各 64K 左右,出牌、碰杠、胡牌判断和结算都在里面。胡牌算法单独放在 mjutils.js,tests 目录里还有一个 mjhupai.js 专门测胡牌。

建房界面能选的规则和代码里的字段对得上:4 局或 8 局(分别扣 2 张、3 张房卡,房卡在第一局结算时才扣,提前解散不扣)、3/4/5 番封顶、自摸加底或加番、点杠花算点炮还是自摸,另外有换三张、将对、门清中张、天地胡几个勾选项。

下面是这套四川麻将的登录页、大厅、建房规则和牌局界面:

达达麻将登录页,有游客登录和微信登录两个入口

登录页:游客登录和微信登录

达达麻将大厅,中间是创建房间和加入房间,下方是战绩、分享、反馈

大厅:创建房间、加入房间,左侧是健康游戏公告

达达麻将创建房间面板,血战到底和血流成河两个页签,局数封顶与玩法选项

创建房间:血战到底、血流成河两个页签和规则选项

达达麻将房间等待界面,显示房间号和邀请微信好友按钮

进房后等人:邀请微信好友、返回大厅、解散房间

达达麻将血战到底四人牌局,显示剩余牌数和局数

血战到底牌局:顶部显示局数、封顶和玩法,中间是剩余张数

客户端除了牌局本身,还带了战绩回放(ReplayMgr.js)、语音(VoiceMgr.js,原生层在 native/android 和 native/ios/VoiceSDK 里用 AMR 编码)、热更新(HotUpdate.js 加 version_generator.js 生成清单)和 AnySDK 接入(微信登录、分享)。

服务端为什么只有三个进程

server/server 的结构非常直白:

  • account_server:账号登录,端口 9000,同时提供 dealer_api.js,给代理系统充房卡时调用;

  • hall_server:大厅,9001 给客户端、9002 给游戏服汇报;

  • majiang_server:麻将游戏服,HTTP 9003 向大厅报状态,socket.io 和客户端通信。

start_all.sh 在 Linux 上用 nohup 依次拉起这三个服务,Windows 下对应 0.start_all.bat 和几个编号 bat。所有地址、端口、MySQL 账号集中在一个 configs.js 里,另有 configs_local.js、configs_local2.js 两份局域网配置可以参考。

目录里还有一个 texas_server,只有 main.js 和 roommgr.js 两个文件,监听 8081,里面是建角色、聊天、进房这种早期框架代码,没有德州扑克的牌局逻辑,也没接进启动脚本——当成作者留下的半成品看待即可,别把它当成能用的第二个游戏。

达达麻将server目录,含account_server、hall_server、majiang_server、sql和启动脚本

服务端根目录:三个服务、配置、启动脚本和 SQL

达达麻将majiang_server目录,含血战到底和血流成河两个gamemgr文件

麻将游戏服:gamemgr_xzdd.js 和 gamemgr_xlch.js 两个玩法文件

数据库只有七张表

server/server/sql/db_ddmj.sql 约 1.8M,建了 7 张表:t_accounts、t_guests、t_users、t_rooms、t_games、t_games_archive、t_message。体积大是因为带了 1500 多条历史牌局存档(t_games_archive)和 89 条房间记录,这些是作者测试留下的数据,正式用之前清空这两张表即可。t_message 里的公告和「房卡购买」提示语打包前已改成中性文字,按自己的运营信息再改一次就行。

代理系统的库单独放在 dealers/server/sql/db_dealers.sql(28K)。

代理系统是三级分销

dealers 是一套独立部署的代理后台,文档里说明的规则是:代理在平台充值得到积分,用积分买房卡或申请提现,可以发展下级;代理给玩家充房卡时,自己拿 A% 积分返点,上级拿 B%,上上级拿 C%,三个比例由管理员设定(接口 /change_rates)。

服务端按模块拆成 dealer_module、player_module、shop_module、notice_module 等 6 个文件,分别管代理、玩家查询和转房卡、商品购买与记录、公告。管理端同样是 Cocos Creator 工程,界面只有一个 appScene 场景。

部署要准备什么

包里的《天天麻将开发环境搭建》和《CentOS部署》两份文档写的是同一套步骤(文档里沿用了「天天麻将」这个旧名字):

  1. 装 MySQL 5.1.x,建一个库(默认名 nodejs),导入 SQL;CentOS 7 下把 mysql 换成 mariadb;

  2. 装 Node.js 4.6.0(文档给了官方下载命令),代理服务端目录里自带了一个 Windows 版 node.exe;

  3. 改 configs.js 里的 HALL_IP 和 MySQL 账号;

  4. 客户端用 Cocos Creator 1.3.2 打开,改 assets/scripts/HTTP.js 里的账号服地址;

  5. 浏览器调试时在网址后加 ?account=asdf1、?account=asdf2 就能多开几个号凑一桌。

需要注意的几处:

  • Creator 版本必须用 1.3.2,文档专门写了各版本引擎内核不兼容。想升新版 Creator 要按《Cocos Creator版本升级说明》先删 build 目录重新生成原生工程,脚本 API 也要跟着改;

  • 包里自带的 Android 签名证书 boyue.keystore 密码是公开的,上线前换成自己的;

  • 热更新清单和 version_generator.bat 里还指向作者的局域网地址 192.168.1.88:10086,要改成自己的热更新服务器;

  • Node.js 4.6 和 MySQL 5.1 都很老,直接上新版本可能遇到 fibers 编译失败、mysql 驱动认证方式不兼容,最省事的是先按文档版本跑通,再逐个升级。

达达麻将client目录,Cocos Creator工程的assets、build、native、settings等

客户端工程目录:assets、build、native 和 Creator 配置

达达麻将docs目录,开发环境搭建、CentOS部署和源代码说明文档

docs 目录:搭建、部署、升级和源代码说明

能改到哪

前后端加代理后台全是明文 JS,所以改动空间取决于你愿意动多少:换皮只要替换 assets/resources 下的图片和动画;加规则在 gamemgr_xzdd.js 里加字段并同步建房面板;要做别的地方麻将,可以照着 majiang_server 复制一个游戏服,大厅按服务器 ID 分配房间的机制已经有了。没有的东西也要心里有数:没有金币场、没有俱乐部或亲友圈、没有网页运营后台(除了代理后台),只有四川麻将一个游戏。

如果想看同一种玩法的重量级做法,《中發四川麻将3D房卡版-Unity+网狐6603双端全套源码/血战到底血流成河四玩法/带六库数据库与搭建文档可二开》也是血战到底加血流成河,但用的是 Unity 客户端加网狐 C++ 服务端,带 SQL Server 六个库和 ASP.NET 后台,两套放在一起对比,能看出 Node.js 三进程和网狐多进程在部署成本上的差别。

四川麻将血战血流源码对比1 篇

下载地址

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