当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

热血传奇2005年前客户端完整代码获取途径与工程结构解析参考学习

热度:
2005年前后流通的早期热血传奇(LegendofMir2)客户端代码主要分三支:韩国原版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播放封装

编译环境:Delphi7+DirectX9SDK,部分需在DelphiXE10.4以上重配组件;原工程带韩文注释,缺少量第三方控件包,直接编译常报缺少dcu/dpk,需补WindHornDX封装库。参考发布帖:游资网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(forklegend176/LegendOfMir2_VC):LegendOfMir2_Client+LegendOfMir2_Server,C++95%/C4.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原物,但结构清晰适合学习)
•LOMCNCrystalSource(C#):Suprcode/mir2、baidwwy/mir2-C-,含Client/Server/Shared/AutoPatcher/LibraryEditor,VisualStudio+.NET直接开LegendofMir.sln,WIL/WZL解析、地图编辑器、封包协议完整,现代可读性最好

-mirbeta/MirClient(DelphiXE10.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.pdfMMORPG源码分析(含WindHornDX类库、WIX文件头structtagWIXFILEIMAGEINFO)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
-LOMCNWiki:https://www.lomcn.org/wiki/index.php/Main_Page

早期工程多为泄露/流转性质,不少包缺dcu、dfm、DX头文件或RAR加密(2004年cnesoft帖即注明部分包带未知密码),定位为本地研读、资源格式逆向、教学演示用途,按各自仓库/发布页标注的约束使用即可。
[顶部]