语言 | English 简体 繁體 Tiếng Việt
  • 注册
  • 手游教程 手游教程 关注:642 内容:1441

    从客户端到服务器:深度解析《斗罗大陆斗神再临源码》游戏项目结构

  • 查看作者
  • 打赏作者
  • 此版块是用户分享手游资源相关内容的论坛,其中包含了作者原创、搬砖、转载,以及可能存在网盘失效的情况。

    如果需要联系楼主,请点击帖子右侧聊天。如果发现虚假资源,请举报!

    解压密码请使用360压缩或者好压查看注释

    当前位置: 35博客圈 > 手游分享 > 手游教程 > 正文
    • 手游教程
    • LV13
      人气王
      广告

      项目概述

      项目名称: 消失的十天(dldl)

      项目类型: 多人在线游戏项目(MMO/MMOG)

      架构模式: 客户端-服务器(C/S)架构

      项目结构

      1. Game_Client(Unity 客户端)

      技术栈:

      • 引擎: Unity 2020.2.6f1
      • 脚本语言: C# + Lua(ToLua框架)
      • UI框架: UGUI
      • 资源管理: AssetBundle
      • 动画系统: DOTween
      • 本地化: 支持多语言(EN、HK、TH等)

      目录结构:

      • Assets/Scripts/ – C#脚本(1145个.cs文件)
      • Assets/Lua/ – Lua脚本(1228个.lua文件)
      • Assets/Resources/ – 游戏资源(8299个Prefab,2337个XML)
      • Assets/StreamingAssets/ – 流式资源(249个ACB音频文件)
      • Assets/UI/ – UI资源
      • Assets/Plugins/ – 第三方插件
      • SDKResource_iOS/ – iOS SDK资源(702个文件,包含Firebase、Facebook SDK、Google Sign In等)
      • Android_Project/ – Android原生项目(包含Java代码和Gradle配置)

      Unity Packages:

      • TextMeshPro 3.0.6
      • Post Processing 3.0.3
      • Timeline 1.4.6
      • UGUI 1.0.0
      • Unity Analytics
      • Unity Ads
      • Unity Purchasing

      目标平台:

      • Android(armeabi-v7a, arm64-v8a)- 已配置且已构建
      • Windows – 已配置
      • ⚠️ iOS – 已配置但未实际生成客户端(缺少iOS构建缓存和Unity iOS模块)

      2. Game_Server(C# 服务器)

      技术栈:

      • 语言: C#
      • 框架: .NET Framework
      • 数据库: MySQL
      • 缓存: Redis
      • 消息协议: Protocol Buffers 3.6.x
      • 日志系统: 自定义Logger

      2.1 核心服务器组件

      服务器采用微服务架构,包含以下核心组件:

      1. GateServer(网关服务器)
        • 客户端连接入口
        • 负责消息路由和转发
      2. ZoneServer(游戏世界服务器)
        • 游戏主逻辑服务器
        • 包含1120个CS文件,是最大的服务器模块
      3. BattleServer(战斗服务器)
        • 处理战斗相关逻辑
      4. BattleManager(战斗管理器)
        • 战斗匹配和管理
      5. GlobalServer(全局服务器)
        • 全局数据管理
      6. RelationServer(关系服务器)
        • 社交关系处理(99个CS文件)
      7. ManagerServer(管理服务器)
        • 服务器管理
      8. PayServer(支付服务器)
        • 支付处理(31个CS文件)
      9. AnalysisServer(分析服务器)
        • 数据分析
      10. CrossServer(跨服服务器)
        • 跨服务器功能
      11. BarrackServer(兵营服务器)
        • 角色管理

      2.2 公共库(Common)

      CommonLibrary.sln 包含以下模块:

      • Logger – 日志系统
      • Message(消息系统)
        • ClientProtocol – 客户端协议
        • ServerProtocol – 服务器协议
        • BuildClientProtocol – 协议构建工具(C++)
        • BuildServerProtocol – 协议构建工具(C++)
      • DBUtility – 数据库工具(118个CS文件)
      • RedisUtility – Redis工具(53个CS文件)
      • DataProperty – 数据属性
      • DataUtility – 数据工具
      • CommonUtility – 通用工具
      • EnumerateUtility – 枚举工具(89个CS文件)
      • ServerModels – 服务器模型(361个CS文件)
      • SocketShared – Socket共享
      • MessagePacker – 消息打包器
      • CryptoUtility – 加密工具
      • Script(脚本系统)
        • ScriptConsole – 脚本控制台
        • ScriptFunctions – 脚本函数
        • ScriptInterfaces – 脚本接口
        • ScriptWrapper – 脚本包装器
        • ScriptFighting – 战斗脚本

      2.3 数据库结构

      数据库文件:

      • account_dl_ok.sql – 账号数据库
      • gamedb_dl_ok.sql – 游戏数据库
      • dl_logdb.sql – 日志数据库
      • player_loss_intervene.sql – 玩家流失干预

      数据库更新: 包含46个更新SQL脚本。

      3. DataTransfer(数据迁移工具)

      技术栈:

      • 语言: Python 2.7 + C#
      • 数据库: MySQL(PyMySQL)
      • 数据分析: SensorsAnalytics集成

      功能模块:

      • 战斗数据分析(Battle、Battle1v1、Battle2v2)
      • 玩家行为分析(CreateChar、Login、Logout、Online)
      • 经济数据分析(Consume、Obtain、Recharge)
      • 社交数据分析(Comment、ListenChat、Question、Tipoff)
      • 地图数据分析(Entermap、Quitmap)
      • 任务数据分析(Task)

      配置:

      • 日志路径:C:LogTrackingLog
      • 数据库:dldl_trackinglog
      • 支持自动清理(31天间隔)

      4. Excel(配置管理工具)

      功能: Excel配置表转CSV工具。

      目录结构:

      • Client/ – 客户端配置(9个Excel文件)
      • l10n/ – 本地化配置(EN、HK、TH)
      • Announcement/ – 公告配置
      • tools/ – 转换工具(Python 2.7)

      配置类型

      • AndroidDevices – Android设备配置
      • CPUModel – CPU型号配置
      • DisplayQuality – 显示质量配置
      • iPhoneType – iPhone类型配置
      • NotchAdapter – 刘海屏适配
      • PreloadConfig – 预加载配置

      工作流程

      1. 编辑Excel配置表
      2. 运行批处理脚本导出CSV
      3. 客户端:导入到 Resources/XML/ClientCSV
      4. 服务端:导入到 Bin/Data/CSV

      支持的数据类型

      • int(整数)
      • string(字符串)
      • float(小数)
      • bool(布尔值,0/1)

      技术特点

      1. 多语言支持
        • 支持英语(EN)、繁体中文(HK)、泰语(TH)
        • 配置化的本地化系统
      2. 热更新支持
        • Lua脚本支持运行时更新
        • AssetBundle资源热更新
      3. 数据驱动
        • Excel配置表系统
        • CSV格式配置数据
        • 服务端和客户端共享部分配置
      4. 微服务架构
        • 多个独立的服务器进程
        • 服务间通过Protocol Buffers通信
        • 支持跨服务器功能
      5. 数据分析
        • 完整的玩家行为追踪
        • 战斗数据统计
        • 经济数据分析
        • 集成第三方分析平台(SensorsAnalytics)
      6. 脚本系统
        • 支持Lua脚本(客户端)
        • 支持C#脚本系统(服务端)
        • 战斗脚本化

      开发工具链

      1. 协议生成工具
        • Protocol Buffers 3.6.x
        • C++构建工具(BuildClientProtocol、BuildServerProtocol)
      2. 配置管理
        • Excel转CSV工具(Python 2.7)
        • 批量导出脚本
      3. 数据迁移
        • Python数据迁移工具
        • 自动备份和清理
      4. IDE支持
        • Visual Studio(服务端C#开发)
        • Unity Editor(客户端开发)
        • VSCode支持

      项目规模统计

      代码规模

      • 客户端C#代码: 1145个文件
      • 客户端Lua代码: 1228个文件
      • 服务端C#代码: 约2000+个文件
      • 服务端Python代码: 49个文件(DataTransfer)

      资源规模

      • Prefab: 8299个
      • XML配置: 2337个
      • 音频文件: 249个ACB文件
      • 图片资源: 大量PNG、FBX等

      服务器模块

      • 主要服务器: 11个
      • 公共库项目: 15+个
      • 数据库表: 多个数据库(账号、游戏、日志)

      部署架构

      客户端部署

      • Android APK(支持armeabi-v7a和arm64-v8a)- 已构建
      • Windows可执行文件 – 已支持
      • ⚠️ iOS IPA – 已配置但未实际构建
      • 资源通过AssetBundle分发

      服务器部署

      • Game_Server/Bin/ – 服务器可执行文件
      • Game_Server/db/ – 数据库脚本
      • Game_Server/DataTransfer/ – 数据分析服务

      依赖关系

      客户端依赖

      • Unity 2020.2.6f1
      • ToLua框架
      • DOTween动画库
      • TextMeshPro
      • UGUI

      服务端依赖

      • .NET Framework
      • MySQL数据库
      • Redis缓存
      • Protocol Buffers
      • 各种第三方DLL(在ThirdDlls目录中)

      工具依赖

      • Python 2.7(配置转换工具)
      • MySQL(数据库)

      项目特点总结

      1. 大型MMO项目 – 代码规模大,模块完整
      2. 微服务架构 – 服务器模块化,易于扩展
      3. 多平台支持 – Android和Windows
      4. 完整的数据分析 – 玩家行为追踪和数据分析
      5. 配置驱动 – Excel配置表系统,便于策划调整
      6. 热更新支持 – Lua脚本和AssetBundle支持
      7. 国际化 – 多语言本地化支持
      8. 成熟的工具链 – 配置管理、协议生成、数据迁移等

      手游分享板块严查恶意、辱骂、讽刺等评论,如发现此类评论轻则小黑屋,重则永久封禁!

      如果发现帖子违规,用户可以点击帖子标题旁的向下箭头,选择举报内容

      如果联系请站内私信联系,禁止留下QQ,微信等联系方式否则会被系统拦截

      如果想挣取水币,请在[手游分享] [端游分享]版块分享资源赚取水币

      请登录之后再进行评论

      登录
      • 热门排行
    • 任务
    • 管理
    • 回底部
    • 帖子间隔 侧栏位置: