在深入研究一套基于网狐框架改造的海外发行项目后,我们得到了一份较为完整的H5兼安卓互动娱乐系统,该系统主要服务于印度市场,支持两款经典互动玩法模块——TeenPatti与Rummy。通过对其前后端结构的梳理,我们不仅了解了它的部署方式和加解密机制,还发现了一些在国内系统中罕见的模块整合思路。
一、项目结构及适配市场背景
与国内普遍采用三端(安卓/iOS/H5)策略不同,本项目仅保留了安卓端与H5的兼容输出,服务于以安卓为主的海外市场,尤其是印度地区。
在客户端构建层面,项目使用统一前端资源,在JS层面进行XXTEA加密压缩,安卓端通过webview加载本地HTML资源。
服务端环境推荐如下:
- 操作系统:windows Server 2012+
- 数据库:SQL Server 2017
- 应用服务:IIS + .NET Framework 4.5以上
二、服务端目录拆解与逻辑归类
从服务端整体文件来看,仍保留网狐原始结构,包括 GameServer.exe
、GameService.dll
、ServerTools.exe
等核心运行文件,以及 GameModule
、Logs
、Temp
、Unicode
等关键子目录。
服务端逻辑主要集中在如下几个DLL:
Teenpatti.dll
RummyServer.dll
ServiceCore.dll
示例:DLL层级加载
// GameService.dll 主入口初始化模块
public class GameServiceEntry {
public void Initialize() {
LoadConfig();
StartSocketServer();
RegisterGameModules();
}
}
三、数据库结构及联表逻辑分析
系统数据库结构基本沿用网狐规范,按照以下逻辑划分:
- 账户数据表:RYAccountsDB
- 匹配信息表:RYGameMatchDB
- 游戏配置表:RYPlatformDB
- 道具商城表:RYTreasureDB
此外还有大量SQL文件用于初始化:
示例:建表语句节选
CREATE TABLE [dbo].[GameMatchLog] (
[MatchID] INT IDENTITY(1,1),
[UserID] INT NOT NULL,
[Score] INT NOT NULL,
[CreateTime] DATETIME DEFAULT GETDATE()
);
四、前端资源与XXTEA加密处理
项目所有H5资源均位于 web-mobile
与 web-mobile-2
文件夹下,其中文件均经过 .jsc
编译并进行XXTEA加密。
以 czytmp2.js
为例,其核心逻辑如下:
function decryptXXTEA(base64Str, key) {
var encryptedData = atob(base64Str);
var result = xxtea.decrypt(encryptedData, key);
return new TextDecoder().decode(result);
}
该脚本配合 JscDecodeCsharp.exe
进行批量脱壳操作。
五、安卓APK资源拆解与H5联动机制
安卓包名为 HappyPatti.apk
,其核心逻辑为:
- 加载
webview
指向file:///android_asset/web-mobile/index.html
- 注入原生接口与JS通信模块
示例:安卓原生注入代码
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
webView.loadUrl("file:///android_asset/web-mobile/index.html");
六、游戏模块初始化逻辑(以TeenPatti为例)
Teenpatti.dll
为三色模块的核心服务逻辑,包含初始化房间、发牌洗牌、比牌等行为:
示例:发牌流程伪代码
public void DealCards(Player[] players) {
var deck = CreateDeck();
Shuffle(deck);
foreach (var player in players) {
player.Cards = deck.Draw(3);
}
}
七、运营配置与前端管理面板
后台管理主要由ASP.NET编写,使用 Login.aspx
、Admin/
、Scripts/
等路径管理配置逻辑,包含账号授权、活动控制、公告编辑、服务状态。
八、联动脚本与数据库接口
所有游戏逻辑与数据库联动均通过 SQL Server 存储过程及页面脚本完成,配合 sql/链接脚本
、任务脚本.sql
等。
例如比赛排行榜模块:
SELECT TOP 10 UserID, MAX(Score) as HighScore FROM GameMatchLog
GROUP BY UserID ORDER BY HighScore DESC
总结:
该套系统虽基于网狐框架开发,但在H5兼容处理、客户端简化、DLL模块分离、JS解密结构等方面做了明显优化,非常适合研究海外轻量化平台结构。