一、H5版技术栈:Node.js全栈架构
H5版本质是浏览器+Node.js服务端的网页游戏,代码分为前端与后端两层。
1. 前端技术(客户端)
• 核心语言:HTML5 + CSS3 + JavaScript(ES6)。
• 渲染方式:Canvas 2D或WebGL绘制游戏画面,UI层使用DOM元素(如对话框、按钮)。
- 通信协议:WebSocket(实时战斗、聊天)配合HTTP(登录、领取奖励)。
- 代码结构:前端代码通常位于服务端根目录的 static、web 或 client 文件夹。修改界面需编辑 index.html、game.js 及CSS样式文件。
2. 后端技术(服务端)
• 运行环境:Node.js(通常版本为6.x至12.x)。
- 框架:Express或Koa框架处理HTTP请求,Socket.io库处理实时通信。
• 数据库:MySQL(存储账号、角色数据)或MongoDB(部分新版)。
- 启动流程:源码中通常包含 1.bat、2.bat 等批处理文件,用于依次启动数据库、Web服务器和游戏逻辑服。
3. 代码修改实操(以属性修改为例)
若要修改上线赠送的元宝或等级,需直接修改服务端源码文件:
1. 进入 CQSJ_Server\Server\node_modules\uw-user\src\biz\ 目录。
2. 打开 userBiz.js 文件。
3. 找到 userEntity 对象初始化代码,修改 gold(金币)、diamond(元宝)、lvl(等级)等字段的默认值。
二、PC单机版技术栈:Delphi/C++与脚本
PC单机版(即传统客户端版)架构与H5完全不同,基于Windows原生窗口与游戏引擎。
1. 服务端技术
• 引擎语言:主流传世服务端引擎(如GameMir、传世引擎)多由Delphi或C++编写,核心程序为 M2Server.exe(主控引擎)。
- 数据库:使用DBC2000(Borland Database Engine)管理 HeroDB 数据库,存储怪物、物品、技能等基础数据。
- 脚本系统:游戏逻辑(NPC对话、任务、怪物AI)由脚本语言控制,文件位于 Mir200\Envir\ 目录下。
- MapQuest_def\QManage.txt:控制玩家登录触发脚本。
◦ Market_Def\:NPC对话脚本。
- Robot.txt:定时任务脚本。
2. 客户端技术
• 编程语言:C++,使用DirectDraw或DirectX进行2D图形渲染。
- 资源格式:地图(.map)、素材(.wil/.wzl)为自定义格式,需专用工具(如WIL编辑器)修改。
三、编程入门路径建议
1. H5版学习路线
1. 基础:掌握JavaScript异步编程(Promise/async)、Canvas绘图API。
2. 进阶:学习Node.js的HTTP模块与Socket.io,理解前后端数据同步(如坐标同步、伤害计算)。
3. 实战:下载开源H5传世源码,尝试修改 game.js 中的移动速度公式或添加新技能按钮。
2. PC单机版学习路线
1. 基础:无需从零编写C++引擎,重点学习脚本编程。掌握 #IF、#ACT、CHECK、GIVE 等脚本命令。
2. 进阶:学习修改 !Setup.txt 参数(如经验倍率、爆率)及数据库字段(StdItems.DB 物品表)。
3. 实战:在单机服务端中创建一个自定义NPC,编写脚本实现“充值送装备”功能。
四、源码获取与工具
• H5源码:在游戏资源论坛搜索“传奇世界H5源码”,通常为带 package.json 的Node.js项目包。
- PC端工具:必备DBC2000(配置数据库)、AccessDatabaseEngine(读取DB文件)、WIL编辑器(修改图片素材)。
- 注意:商业引擎(如GEE、GOM)的核心代码通常闭源,开发者主要工作在脚本层与配置层。
总结:H5版是Web全栈项目,适合前端开发者研究;PC单机版是Windows原生应用,适合对游戏脚本和数据库修改感兴趣的开发者。两者均不建议从零造轮子,建议基于现有服务端进行二次开发。

