RollGame源码MEAN全栈架构拆解 海外包网运营版本
工程结构与技术栈总览
拿到源码后第一个特征就很明显——不是一个大仓库,而是四个独立的代码库拼在一起,总计983个文件:
代码库 | 角色 | 技术栈 | 文件数 | 服务端口 |
|---|---|---|---|---|
apeluck_bckend | 游戏主后端 | Node.js + Express | 64 | 13578 |
apeluck_admn_bckend | 管理后端 | Node.js + Express | 58 | 29188 |
apeluck_frnend | 玩家前端 | Angular 14 | 535 | 4200 |
apeluck_admn_frnend | 管理前端 | Angular 10 | 326 | — |
四库之间通过HTTP API和Socket.io通信,数据层统一使用MongoDB(通过Mongoose ODM),缓存和实时通信依赖Redis。管理前端基于Purple Angular Admin模板二次开发,包含46个组件页面,覆盖用户管理、财务审计、游戏配置等功能。

玩家端首页大厅 — 顶部英雄Banner、四大分类入口(Casino/Sports/Racing/Trading)和左侧导航栏
前端技术选型值得注意的是,玩家端用的Angular 14,管理端用的Angular 10,两个前端并没有统一升级,说明是不同时间段独立开发的。玩家端还引入了Highcharts做数据图表、Matter.js做Plinko弹珠物理引擎、Owl Carousel做轮播组件,依赖比较丰富。
12款游戏与可证公平算法
这套包网的核心资产是12款原创游戏,全部跑在游戏主后端上,每款游戏一个独立的路由模块:
游戏 | 类型 | 技术特点 |
|---|---|---|
Bustabit / Crash | 多人崩盘 | Socket.io实时广播,倍率曲线实时推送 |
Dice | 骰子 | 经典Roll Under/Over,滑块控制胜率 |
Mines | 扫雷 | 5x5网格翻格,地雷数1-24可调 |
Coinflip | 硬币翻转 | 正反二选一 |
Roulette | 轮盘 | 欧式轮盘 |
Keno | 基诺彩 | 选号开奖 |
Wheel | 转盘 | 倍率转盘 |
Limbo | 目标倍率 | 设定目标倍率,结果高于即中奖 |
Plinko | 弹珠 | Matter.js物理引擎模拟弹珠下落 |
Ring of Fortune | 幸运转盘 | 分段奖品转盘 |
Cave of Plunder | 寻宝 | 逐层选择,越深奖金越高 |
Sword(Slots) | 老虎机 | 传统转轴 |

Top Rated Games展示区 — 7款游戏卡片、Play Now入口,下方是支付方式Banner(Paytm/PhonePe/UPI/Visa/Mastercard)
所有游戏共用同一套可证公平(Provably Fair)系统,核心代码集中在helpers/game.js(666行)。算法流程:
生成种子:服务端生成Server Seed,玩家可自定义Client Seed,每局维护一个递增的Nonce
计算结果:将三者拼接后做HMAC-SHA256哈希,从哈希值中提取游戏结果
加密存储:未公开的Server Seed使用AES加密保存(encrypt.js中有多组密钥),避免提前泄露
验证机制:局结束后公开Server Seed,玩家可用公开信息重新计算验证结果
以Crash游戏为例,哈希值先转为整数,再映射到1.00x到无穷大的倍率区间,代码中还预留了1%的庄家边际(house edge),通过if (h % 33 === 0) return 1实现。

Bustabit崩盘游戏界面 — Highcharts倍率曲线、下注面板(金额/自动兑现/胜率)、右侧玩家列表
Crash(Bustabit)是唯一的多人实时游戏,使用Socket.io做实时状态同步,后端维护一个完整的游戏状态机(等待 -> 进行中 -> 已崩盘),所有在线玩家看到的倍率曲线完全同步。
多币种钱包与区块链集成
RollGame支持四种货币体系:
RGC:平台自有代币
BNB:币安链原生代币
BUSD:币安稳定币
JB:站内试玩币,注册即送10,000
区块链集成通过ethers.js、web3.js和tronweb三个库实现。主后端的routes/basic.js(90KB,是整个项目最大的单文件)里包含了BNB/BSC地址生成、余额查询和Binance API对接的完整逻辑。管理后端仓库中还有一份TRC20智能合约(message.sol),定义了一个名为"TokenA"的代币,初始供应量100万亿,具备mint/burn功能。

Dice骰子游戏 — Roll Under滑块(0-100可调)、实时显示Payout倍率和Win Chance概率
安全体系
管理后台的安全设计相当谨慎,采用了四层防护叠加的策略:
JWT Token认证:标准的Bearer Token机制,common.js中封装了中间件
图案锁:管理员登录后需额外通过手势图案验证
IP白名单:后台接口绑定特定IP,非白名单IP直接拒绝
双因素认证(2FA):集成Speakeasy库,支持Google Authenticator等TOTP应用
密码存储使用bcrypt,敏感数据(如未公开的服务端种子)使用AES对称加密,密钥硬编码在encrypt.js中。前端到后端的通信还做了Origin校验(common.js中的allowedOrigins数组),防止跨域请求伪造。

Mines扫雷游戏 — 5x5网格、地雷数滑块(1-24)、Manual/Auto模式切换
VIP与运营体系
平台内置五级VIP体系——Bronze、Silver、Gold、Platinum、Diamond,每个等级设有升级奖金和专属权益。玩家端侧边栏还提供了Quest(任务)、Spin(转盘)、Promotions(促销活动)、Forum(论坛)、Blog(博客)等运营模块的入口,虽然在没有后端数据的离线状态下无法完整体验,但路由和组件代码都是完整的。

Recommended Games区域和底部内容 — "Crypto Online Casino"介绍文案、用户反馈表单
管理后台(46个组件页面)覆盖的功能点包括:用户列表与详情、KYC审核、充提审计、游戏盈亏报表、系统设置、VIP配置、活动管理等。管理后端还集成了Socket.io,支持实时推送通知到管理面板。
移动端适配
前端做了完整的响应式适配,手机端有独立的底部导航栏(Menu / Casino / Wallet / Sports / Chat),替代了PC端的左侧边栏。分类卡片从单行横排变为两列瀑布流,游戏界面自动适配竖屏比例。



手机端界面 — 首页英雄Banner与分类入口 / Top Rated Games游戏卡片 / Bustabit崩盘游戏竖屏适配

Mines扫雷游戏手机端 — 5x5网格全屏显示,下注面板折叠在下方
部署流程
源码随附了一份554行的部署指南,目标环境是Ubuntu 20.04/22.04 LTS。需要注意的是,这份指南是面向平台的Laravel版本编写的(涉及PHP 8.1、Composer、Laravel artisan命令),而实际拿到的源码是纯MEAN栈,部署方式有所不同。
基础环境准备:
组件 | 版本要求 |
|---|---|
操作系统 | Ubuntu 20.04 / 22.04 LTS |
Node.js | 18.x LTS |
MongoDB | 6.x 或 7.x |
Redis | 最新稳定版 |
Nginx | 最新稳定版 |
硬件 | 2GB RAM / 50GB+ 磁盘 |
MEAN版本部署步骤(基于源码实际结构):
安装Node.js 18、MongoDB、Redis、Nginx、PM2
配置MongoDB用户认证,创建数据库
游戏主后端:进入apeluck_bckend目录,
npm install安装依赖,配置环境变量(MongoDB连接串、JWT密钥、加密密钥、Binance API等),用PM2启动监听13578端口管理后端:同样
npm install后PM2启动,监听29188端口玩家前端:
npm install --legacy-peer-deps(Angular 14与部分依赖有版本冲突需要此参数),ng build编译到dist目录,Nginx配置静态文件服务管理前端:
npm install后ng build,同样通过Nginx提供静态服务Nginx配置反向代理,将API请求转发到对应后端端口,配置WebSocket升级头
Certbot申请SSL证书
配置Coinbase Commerce或本地加密节点处理充值
预计部署耗时:3-5小时(含环境配置、四个服务的依赖安装与调试、Nginx和SSL配置)。如果需要对接真实的区块链节点而非Coinbase Commerce,磁盘要求提升到500GB以上,部署周期也会更长。
二开评估
源码完整度:高。 四个仓库全部是未混淆的原始源码,TypeScript/JavaScript可直接阅读和修改。Angular前端的组件、路由、服务层分离清晰,Express后端的路由模块按功能拆分,改动某个游戏或新增游戏不需要动其他模块。
可二开方向:
换皮/品牌定制:Angular模板化程度高,改Logo、配色、布局在组件和SCSS层面操作,不涉及后端
新增游戏:参照现有的12个路由模块,新建路由文件 + 前端组件即可,可证公平算法在helpers/game.js中集中管理,新游戏只需调用生成函数
支付通道扩展:当前对接Coinbase Commerce和Binance API,新增其他交易所或支付网关需要在basic.js中增加路由
多语言:前端目前全英文,Angular的i18n方案可以加入,但需要改造所有模板文件
二开注意事项:
encrypt.js中的AES密钥是硬编码的,上线前必须更换
管理后端的
allowedOrigins写死了rollgame.io域名,需要改成自己的域名前端的
backendurl.js中API地址也需要替换Angular 14的生态已经偏旧(当前最新为Angular 18),长期维护需考虑框架升级
部署指南是Laravel版本的,MEAN版本需要自行编写PM2和Nginx配置
整体来看,这套源码的工程化程度在包网类项目中算中上水平。四库分离的结构虽然增加了部署复杂度,但给二开和团队协作留出了空间。12款游戏的可证公平算法实现规范,区块链对接真实可用,是一套拿到手就能读懂、改得动的加密博彩包网方案。
下载地址
全员付费本资源为付费内容,登录后可下载

