客户端与服务端
构成 MMORPG 运行的两端,服务端可执行文件为 `blakserv.exe`。
cocos2d-x · cocos2d/cocos2d-x
Cocos2d-x 是一套开源、跨平台的 2D 游戏开发工具,使用 C++ 编写,基于 cocos2d-iphone 重写而来,可运行于 iOS、Android、macOS、Windows 与 Linux。官方说明其核心已演进为 Cocos Creator 1.x 与 2.x 的基础。仓库 topics 覆盖 Lua、M...
Meridian 59 是 MMORPG 历史上具有里程碑意义的作品,本仓库公开的是其 v1.1 版本(2015 年 1 月)的源代码,由 Andrew Kirmse 与 Chris Kirmse 维护,版权声明覆盖 1994–2026 年。需要先明确一点:这里发布的是代码,不是一款可以直接下载即玩的完整游戏——美术资源、房间数据、音频等游戏内容并不包含在仓库中,需要使用者自行从其他渠道获取并放入资源目录。
仓库包含客户端、服务端、游戏逻辑代码、Blakod 编译器、房间编辑器以及一系列配套工具。音频部分由 OpenAL Soft 负责,其预编译二进制放在 external/ 目录下。对于想研究早期商业 MMO 架构、网络同步与脚本化游戏逻辑的开发者来说,这是一份少见且完整的工程样本。
构成 MMORPG 运行的两端,服务端可执行文件为 `blakserv.exe`。
服务端侧的游戏规则与行为实现。
Meridian 59 使用自有的脚本语言 Blakod 来描述游戏逻辑,编译器是构建流程的一部分。
用于编辑游戏世界房间数据的工具。
围绕上述组件的辅助程序。
通过 OpenAL Soft 实现,预编译二进制随仓库提供。
nmake,调试版直接执行 nmake,发布版执行 nmake RELEASE=1。external/openal-soft/。libarchive 通过 cmake 配置,需要设置 ZLIB_INCLUDE_DIR 指向 include 目录、ZLIB_LIBRARY 指向 lib/zlib.lib,以便使用 zlib。blakserv 目录后执行 make -f makefile.linux。需要注意 blakserv.cfg 需要手工修改才能在 Linux 上运行。vcvars32.bat。nmake 构建调试版,或执行 nmake RELEASE=1 构建发布版。README 称代码已用 Microsoft Visual Studio 2026 社区版成功构建,该版本可从官网免费下载;具体版本信息建议以实际验证为准。
构建完成后,run\server 目录下是服务端安装,在其中执行 blakserv.exe 即可启动。run\localclient 目录下是客户端安装,但需要自行获取美术、房间与音频文件并复制到 resource 子目录。
首次使用建议先创建管理员账号:在服务端界面的 “Administration” 标签页输入 create account admin joe.smith password,会返回类似 “Created ACCOUNT 4” 的消息;随后用 create admin 4 为该账号创建角色槽位。README 特别提醒不要沿用示例中的默认账号名与密码,否则服务器可能被他人接管。创建完成后记得在服务端界面执行 “save game” 保存。
本地客户端可通过命令行参数连接本地服务端,例如:
meridian.exe /U:joe.smith /W:password /H:localhost /P:5959
cd blakserv
make -f makefile.linux
之后按需调整 blakserv.cfg。
使用前务必阅读仓库中的 LICENSE 文件,有两点限制需要特别注意:
这份代码更适合有一定 C++ 与网络编程基础、希望研究经典 MMO 服务端结构的读者。建议的阅读顺序是:先跑通服务端构建与启动流程,理解 blakserv 的配置与账号体系;再查看 Blakod 编译器与游戏逻辑代码,理解脚本层如何驱动服务端行为;最后结合客户端代码观察两端交互。由于游戏内容不随仓库提供,客户端侧需要自行准备资源,这一点在动手前应提前规划。
作者提供的联系方式为 meridian59.email@gmail.com,官网为 https://meridian59.com,站上还可以读到这款游戏的历史。
id Software 以 GPL 许可证发布的《雷神之锤3竞技场》(Quake III Arena)源...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
《影子武士》(Shadow Warrior)v1.2 CD 版完整源代码,由 3D Realms 于 2005...