无尽太空(Endless Sky):2D 沙盒太空探索与贸易战斗游戏
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
Dash · Circular-Studios/Dash
Dash 是 Circular-Studios 开发的免费开源 3D 游戏引擎,使用 D 语言编写。README 指向官方文档、ddoc API 文档、Gitter 聊天室与 Travis CI 构建状态,并提示开发者先了解 YAML 与 D 语言;希望参与引擎开发的人可参考 CONTRIBUTING.md...
The Mana World Athena(简称 tmwa)是 MMORPG《The Mana World》当前正在运行的服务端程序。它使用 C++ 编写,通信协议源自名为“Athena”的项目——2004 年,它从《仙境传说》克隆项目 eAthena 分支而来,经过多年演进,成为支撑《The Mana World》游戏世界的核心服务端。
本仓库是官方 Git 仓库(git.themanaworld.org)的镜像。如果你希望参与贡献,README 建议先阅读官方 wiki 上的开发指南,其中提供了详细的入门说明。
需要特别注意的是:不能使用 GitHub 自动生成的源码包(tarball)进行构建。构建必须基于 git 检出(git checkout)或通过 make dist 生成的发布包,因为构建过程依赖 git 标签来确定版本号。
运行 cmake -S . -B build,在名为 build 的目录中生成可用的构建文件。默认的 Linux 安装位置是 $HOME/.local,可以通过在命令行定义 CMAKE_INSTALL_PREFIX 来修改,例如:cmake -S . -B build -DCMAKE_INSTALL_PREFIX=<dirname>。
运行 cmake --build build,使用 build 目录编译各个二进制文件。
要运行测试,需确保 Google Test 可用(它在此仓库中作为子模块引入)。然后依次执行以下命令来配置、构建并运行测试:
cmake -D TMWA_BUILD_TESTS=ON -S . -B build
cmake --build build
cmake --build build -t test
请注意,测试覆盖率目前尚不完整。
运行 cmake --install build,使用 build 目录安装编译好的二进制文件。如果你指定的安装目录位于 $HOME 之外,可能需要 sudo 权限。
README 为发行版打包者提供了若干注意事项:
CMakeLists.txt 中的 VENDOR_NAME、VENDOR_POINT 和 VENDOR_SOURCE,以标明二进制文件的来源。python3 的名字位于 $PATH 中。上述安装流程会安装 4 个二进制程序,以及库、头文件、配置文件和调试文件。这些程序通常运行在同一台机器上,但也可以配置为在快速局域网中的不同机器上运行。请注意,程序之间的内部协议可能随时变更而不另行通知,因此务必同时升级它们。
tmwa-admin:原名 ladmin(“local”)。该工具用于维护服务端的平面文件“数据库”,它连接到 tmwa-login 来执行更改。tmwa-login:原名 login-server。该服务器负责账户校验,并接受来自 tmwa-admin 和 tmwa-char 的内部连接。tmwa-char:原名 char-server。该服务器负责角色持久化,连接到 tmwa-login,并接受来自 tmwa-map 的连接。多个 tmwa-char 实例可以连接到同一个 tmwa-login;在这种情况下,客户端在离开登录服务器前会看到世界选择界面。《The Mana World》有时会运行一个测试用的 tmwa-char 服务器并连接到主 tmwa-login,以便于访问。tmwa-map:原名 map-server。该服务器连接到 tmwa-char。多个 tmwa-map 实例可以连接到同一个 tmwa-char,当客户端移动到由不同地图服务器处理的地图时,可以切换服务器。不过,《The Mana World》尚未使用这一特性,它可能无法正常工作。要运行服务器,你需要一整套完整的内容,包括配置文件、游戏脚本、存档文件以及客户端更新。README 强烈建议搭建一个 Web 服务器来提供更新。你可以在 https://git.themanaworld.org/tmw/serverdata 找到兼容的服务端数据。更多信息请遵循 wiki 上的“How to Develop”文章。
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
id Software 以 GPL 许可证发布的《雷神之锤3竞技场》(Quake III Arena)源...