2005年前后流通的早期热血传奇(Legend of Mir 2)客户端代码主要分三支:韩国原版 Delphi 工程、VC/C++ 工程(含 SQL 版)、以及后期社区重写的 C# / Java 工程。用于参考学习、逆向资源格式、理解早期 MMORPG 客户端架构,下面按可得性与工程结构直接列。
一、Delphi 版原版客户端(2004年前后流出,最贴近2005年前盛大运行期)
工程名常见为 Mir2Ex、WindHorn,主工程文件含登录流程、角色选择、场景渲染、DirectX 封装。
典型目录结构:
- Mir2Ex\WindHorn\:RegHandler.cpp、CWHApp/CWHWindow/CWHDXGraphicWindow、WHDefProcess.cpp、WHImage.cpp、WHSurface.cpp、WHWilTexture.cpp、WHWilImage.cpp、WHDXGraphic.cpp(DirectX 初始化与 WIL 贴图装载)
- Mir2Ex\LoginProcess\:账号登录、改密、服务器列表
• Mir2Ex\CharSelectProcess\:BackGround、CreateChr、SelectChr、CharacterProcess
- Mir2Ex\GameProcess\:Actor、GameProc、GameWnd、ExchangeWnd、GuildWnd、GroupWnd、ChatPopWnd、ClientSysMsg
• Mir2Ex\Common\:ClientSocket、EnDecode(封包加解密)、Queue、DblList、ImageHandler、Button、MsgBox、NPCTxtAnalysis、Protocol.h
- Mir2Ex\Sound\:BMMP3、WAV 播放封装
编译环境:Delphi 7 + DirectX 9 SDK,部分需在 Delphi XE10.4 以上重配组件;原工程带韩文注释,缺少量第三方控件包,直接编译常报缺少 dcu/dpk,需补 WindHorn DX 封装库。参考发布帖:游资网 2004 年贴《我释出一点小玩意儿: 传奇2客户端Delphi源代码》http://bbs.gameres.com/thread_6551_1_1.html ,原始包 Mir_Client.rar(cnesoft 镜像已失效,需论坛归档或网盘转存) 。另有百度网盘归档标注“热血传奇2005年前使用的客户端完整代码(参考学习)” https://pan.baidu.com/s/19FpiHCs4-4wrJctOV-QVJA 提取码 z6hf,备用 http://pan.1234f.com:5212/s/Owxfz 。
二、VC/C++ 版客户端 + 服务端同源工程
GitHub 仓库 etorth/LegendOfMir2_VC(fork legend176/LegendOfMir2_VC):LegendOfMir2_Client + LegendOfMir2_Server,C++ 95% / C 4.9%,封包解析逻辑经社区核验可用,不一定可直接编译,适合对照协议与地图加载。目录含 Client/Server 主工程、Shared 公共结构、README 标注“网上下载源码,很有参考价值” 。
另一份早期 VC++ SQL 版客户端+服务端源码(mir2ei.rar)含 GameSvr、DBSvr 源码,发布于 2004 年 cnesoft 帖 https://www.gameres.com/7315.html 。CSDN 亦收录“mir2韩国2005年原版代码-感谢网虫大神分享.rar”(约 34MB)、“盛大网络05年8月泄露版绝对原版”服务端+客户端配置 。
三、社区重写/可读版(非2005原物,但结构清晰适合学习)
• LOMCN Crystal Source(C#):Suprcode/mir2、baidwwy/mir2-C-,含 Client/Server/Shared/AutoPatcher/LibraryEditor,Visual Studio + .NET 直接开 Legend of Mir.sln,WIL/WZL 解析、地图编辑器、封包协议完整,现代可读性最好
- mirbeta/MirClient(Delphi XE10.4+)、mirbeta/MirServer(C# 网关:LoginGate/LoginSvr/SelGate/DBSvr/GameGate/GameSvr)
- JMir / Jm.Core(Java 版客户端与寻路核心):前文已述,适合跨语言对照 MAP/WIL 读取
• ymcn.org 提供“热血传奇客户端 mir.exe 文件源码.rar”(494KB,Mir2Ex 头文件级反编工程)、Mir2ExCode.rar(604KB,完整 cpp/h 工程片段) https://www.ymcn.org/d-1Bh.html 、https://www.ymcn.org/5989.html
四、核心代码阅读顺序(以 Delphi/VC 原版为例)
1. 入口与窗口:CWHApp → CWHWindow → CWHDXGraphicWindow → CreateDXG() 初始化 DirectX
2. 主循环:WHDefProcess.DefMainWndProc → MainWndProcDXG → Clear() 后台缓冲绘图 → Present 翻页
3. 资源装载:WHWilImage 内存映射读 .wix 索引 → WHWilTexture 解 .wil 帧 → WHImage 转 Bitmap/Surface
4. 网络层:ClientSocket + EnDecode,协议号在 Protocol.h,消息由 Gate 转发至 GameSvr
5. 场景与实体:GameProc 加载 Map\*.map → Actor 管理怪物/NPC/角色帧动画 → Interface 画 UI
6. 逻辑脚本:NPCTxtAnalysis 解析 NPC 对话脚本,MapQuest.txt / MonGen.txt 绑定服务端 Envir
五、配套文档与格式逆向资料
• 《LegendOfMir2_Server.pdf》MMORPG 源码分析(含 WindHorn DX 类库、WIX 文件头 struct tagWIXFILEIMAGEINFO) https://gitee.com/liyonghelpme/GameDesignDocumen/raw/master/LegendOfMir2_Server.pdf
- WIL/WZL/WZX 解析帖:https://blog.csdn.net/aqtata/article/details/86711352 、https://blog.csdn.net/qq_26413219/article/details/72123959
- LOMCN Wiki:https://www.lomcn.org/wiki/index.php/Main_Page
早期工程多为泄露/流转性质,不少包缺 dcu、dfm、DX 头文件或 RAR 加密(2004 年 cnesoft 帖即注明部分包带未知密码),定位为本地研读、资源格式逆向、教学演示用途,按各自仓库/发布页标注的约束使用即可 。
热血传奇2005年前客户端完整代码获取途径与工程结构解析参考学习
来源:
作者:
点击:

