沐雨街机海鸥捕鱼C++编译产物全套拆解
40款游戏打进一个Windows部署包:沐雨街机海鸥捕鱼C++编译产物全套拆解
拿到这个名叫"海鸥捕鱼"的包,解开发现里面三个目录:server、web、data,加上根目录的两个安装包 海鸥捕鱼.apk 和 海鸥捕鱼.ipa。下载页面上写着"沐雨街机捕鱼"的品牌名,底部备案信息指向杭州沐雨网络科技有限公司(另一个版本指向重庆渡典科技)。整套包约 14800 个文件,打开一看——服务端全是编译好的 .exe 和 .dll,客户端是 Unity 打包的资源包,后台虽然有 .aspx 页面但业务逻辑全封在 DLL 里。这不是源码,是一套部署产物。

上面是游戏大厅的实际运行画面,入口分成"3D捕鱼"、"Boss来袭"、"大虾鳌鱼"、"休闲游戏"四个大类,顶部还有商城、签到、活动等常规运营入口,底栏放着背包、客服和设置——标准的街机捕鱼类手游大厅框架。
技术栈总览
层级 | 技术选型 | 说明 |
|---|---|---|
游戏服务端 | C++ (Windows) | 5个EXE主进程 + 多个游戏逻辑DLL |
管理后台 | ASP.NET 4.0 (C#) | IIS 部署,DWZ 前端框架,272个管理页面 |
游戏客户端 | Unity (Mono + XLua) | Android APK / iOS IPA,.kb 格式资源热更新 |
数据库 | SQL Server | 11个库的 .bak 备份 |
通信协议 | WebSocket + TCP | Correspond 做 WebSocket 中继(8310),GameServer 走 TCP |
服务端:五个 EXE 各管一摊
server 目录里没有一行 C++ 源码,全是编译好的二进制文件。但从进程分工和配置文件可以还原架构:
LogonServer.exe:玩家登录认证,端口 8300
Correspond.exe:通信中枢,端口 8310 承载 WebSocket,后台推送实时数据也走它
GameServer.exe:游戏主体,WatchConfig.xml 配了 30 个实例,端口 5012-5050,捕鱼房间按 RoomCfgID 分七档(新手场到活动场)
ChatServer.exe:聊天消息,独立于游戏逻辑
WatchServer.exe:看门狗,监控上面四个进程,崩溃自动拉起
之前拆过的全民捕鱼也是 C++ 多进程架构,用了六个进程;这套沐雨街机用五个进程解决了同样的问题,进程职责划分思路非常接近,感兴趣的可以对比看看,关联文章放在文末。
游戏逻辑封装在各自的 DLL 里:
DLL 名称 | 对应游戏 |
|---|---|
NewFishServer.dll | 3D 捕鱼(主力玩法) |
lkpy_server.dll | 李逵捕鱼(经典 2D) |
TransferBattleServer.dll | 对战/竞技模式 |
WaterMarginServer.dll | 水浒传(老虎机类) |
下面四张截图分别对应这些 DLL 驱动的实际游戏画面:

NewFishServer.dll 驱动的 3D 捕鱼 Boss 战——画面里正在打"深海龙女",右上角分数 381 万,满屏金币爆落和激光扫射同屏叠加,对 GameServer 实例的并发处理压力不小。

lkpy_server.dll 对应的经典 2D 捕鱼,走传统街机路线。闪电链特效正在扫荡全屏鱼群,底部有"自动锁定"和"自动开枪"辅助按钮,右上角分数 329 万。和 3D 模式相比画面资源消耗更低,但同屏鱼群数量反而更多。

TransferBattleServer.dll 处理的多人竞技模式——深海沉船场景里两位玩家用 2 倍和 3 倍能量炮对轰粉色弹幕鱼群,每个玩家的炮火轨迹和命中判定都需要服务端实时同步。

WaterMarginServer.dll 对应的水浒传玩法——9 线老虎机,转盘图案换成水浒人物头像。和捕鱼完全不同的 Slots 机制,服务端只需处理随机数和赔率,没有实时碰撞判定的压力。
数据库与管理后台
data/buyu/data 下 11 个 .bak 备份:SHAccountsDB(账号)、SHTreasureDB(金币财务)、SHGameScoreDB(积分)、SHAgentsDB(代理)、SHPlatformDB(平台配置)、SHPlatformManagerDB(后台数据,双库)、SHGameMatchDB(竞技)、SHRecordDB(记录)、SHNativeWebDB(前端配置)、SHTaskDB(任务)。连接字符串用 sa 账号,密码写死 SobGXBFJyDBuRe2S。

后台基于 ASP.NET 4.0 + DWZ 框架,272 个 .aspx 页面分 9 个模块(用户管理、代理管理、充值、VIP、财务、任务、应用、网站、操作日志)。上面的首页面板显示税收金币 8624 万、金币总数 2.04 亿、注册 2281 人、在线 23 人。核心逻辑封在 bin/Game.Web.dll 等 DLL 里(三层架构:Entity / Data / Facade / Utils),后台通过 WebSocket 与 Correspond 实时通信,踢人、发公告可以直接推到游戏服务端。支付对接了支付宝、微信、银联三家。
同样是 C++ 多进程服务端 + Unity 客户端 + 多库结构的电玩平台,之前拆过的富贵3也是这个路子但规模更大(27 组 GameSvr + 69 个数据库),两者的架构差异值得对照,详见文末关联。
客户端与渠道分发
APK 确认 Unity 引擎(Mono + XLua),核心资源在 assets/data.zip(约 134MB),按模块分目录:Fish3D(3D 捕鱼)、FishLK(李逵捕鱼)、GameHall(大厅)、MarshHero(水浒传)、SHZP(字牌)。所有资源文件是 .kb 后缀的自定义格式(AssetBundle 变体)。supplierconfig.json 配了 VIVO、小米、华为、OPPO 四个渠道 SDK 参数,做过多渠道分发。
游戏名称清单
类型 | 游戏名称 |
|---|---|
捕鱼 | 3D捕鱼、李逵捕鱼、海鸥暴击 |
百人场 | 百人两张、百人牌九、百人小九、新百家乐、百人牛牛、百人骰宝、新牛牛 |
街机 | 飞禽走兽、金鲨银鲨、水果乐园、神兽大转盘、碰碰车、水浒传 |
扑克 | 斗地主、两副斗地主、癞子斗地主、掼蛋、510K、红五两副、火拼双扣、两副升级、关牌、四张、二人梭哈、新港式五张 |
麻将 | 血战麻将、二人麻将、温州麻将、温州二人麻将 |
桌游 | 中国象棋、五子棋、台球、斯诺克 |
部署条件与步骤
项目 | 要求 |
|---|---|
操作系统 | Windows Server 2012 R2+ |
数据库 | SQL Server 2012+ |
Web 服务 | IIS 8.0+,ASP.NET 4.0 |
运行时 | .NET Framework 4.0、VC++ 2010/2005 |
硬件建议 | 4核 / 8GB / 50GB(30 个 GameServer 实例吃内存) |
端口 | 8300(登录)、8310(WebSocket)、5012-5050(游戏)、80/443(Web) |
数据库还原:SQL Server 中依次还原 11 个
.bak,库名与文件名对应配置服务端:改
server/ServerParameter.ini数据库连接(加密 hex 格式,需配套工具);调WatchConfig.xml端口和房间部署 Web:IIS 建 SHAdmin(管理后台)、shagent(代理)、SHFront(下载页)三个站点,应用池 .NET 4.0;改各
Web.config的连接串和 WebSocket 地址启动:运行
WatchServer.exe,按配置依次拉起 Correspond → LogonServer → GameServer x30 → ChatServer客户端:APK/IPA 内服务器地址写在 Unity 资源里,改地址需重新打包
熟手预计 3-4 小时,主要耗在数据库还原和 IIS 配置上。
二开评估
服务端:纯编译产物,没有 C++ 源码,只能通过 XML/INI 调数值参数(房间、倍率、AI),无法改核心玩法。
后台:ASPX 页面能改布局和样式,但业务逻辑锁在 DLL 里没有 C# 源码,加不了新管理功能。
客户端:Unity 打包的 APK/IPA,资源是自定义 .kb 格式,换皮需要原始 Unity 工程文件,包里没有。
这套包的定位是"拿来部署直接跑"——搭环境看效果、调参数没问题,想改玩法加游戏换 UI 需要另找源码。
延伸阅读1 篇
下载地址
会员免费本资源为会员专享,登录后可下载


