DNF90 Go 游戏服务端
在 Linux 上运行游戏服务与存档,让 Windows 玩家通过登录器进入阿拉德。
构建与部署 | 频道表必读 | 活动开关 | PVF 与配套 EXE | 登录器与 GM
Important
先选对频道表,再启动服务。 首次 prepare 必须显式传入 --channel-info,使用完整的 118 频道外部 ETC,并按频道表部署说明核对。PVF 内置表曾出现能解析、却无法完成登录的情况;更新 PVF 时保留已选外部表,部署后核对实际加载路径、摘要和频道目录。
Warning
截至 2026-10-22,赛马活动可能导致客户端闪退,应保持关闭,修复后另行通知。 对应开关是 2365「竞技大赛(马战竞猜)」。当前源码及 Docker 模板仍默认开启,新部署要主动关闭;已有服还需核对持久化活动设置及重启后的生效值。操作见活动开关与关闭方法。
当前源码默认开启史诗之路、累计在线奖励、普通签到、每周签到和每日签到;新学期累计奖励、红尾乔纳森默认关闭。已有实例的环境变量和已保存设置可以覆盖默认值,完整清单与生效检查见上述说明。
把整个项目丢给 Agent,告知它服务器 IP 和密码,然后开始许愿。
至于 Agent,请看这份《大肥鱼也能看得明白的构建与部署说明》。里面有准备清单、可以直接复制的许愿模板、构建命令,以及开服后的验收步骤。
比如:
请阅读这个项目的 AGENTS.md 和 Docs/BUILD_AND_DEPLOY.md,
帮我在指定的 Linux 服务器部署一套 DNF90。
服务器连接信息和 Windows 客户端目录由我提供。
先确认机器、现有服务和客户端配套,再完成构建、配置、备份与部署。
首次准备时显式选择118频道外部表,关闭2365赛马活动并核对实际生效状态。
给我一个能注册、登录、选频道并启动游戏的基础登录器,
最后留下启动、停止、备份、更新和回退方法。
Script.pvf 和对应版本的 DNF.exe 都放在 Release 附件中。 打开 GitHub Releases 或 GitGud 上游 Releases,按同一版本的说明下载配套文件。分卷附件按该版本说明下载齐全后解压。
客户端 EXE、PVF 及相关 dstr/NPK 资源按所选 Release 配套使用。玩家客户端、游戏服务和 GM 使用的 PVF 需要一致;频道表按首页上方的部署要求单独核对。
| 部分 | 用途 |
|---|---|
| 游戏服务 | 处理账号会话、频道连接、角色进城、组队和副本协议 |
| 领域模块 | 实现角色、背包、任务、装备、邮件、交易、公会等规则与数据事务 |
| 存档 | 使用 MySQL / MariaDB 保存账号、角色与游戏进度 |
| 构建与部署工具 | 提供跨平台构建脚本、Docker 配置生成器、实例控制器和环境检查工具 |
| 协议与回归资料 | 保存匹配客户端的函数索引、修复方案和自动化测试,便于继续补齐玩法 |
游戏逻辑与资产事务由本仓库维护。玩家登录器、更新分发和 GM 管理界面可以通过独立工具接入。
推荐使用 PurpleMagic,它提供 Windows 玩家登录器、更新网关和 Web GM,覆盖注册登录、客户端更新、账号角色查询、背包、邮件和福利管理。
最基础的登录器,直接跟 Agent 许愿即可。PurpleMagic 是推荐方案,并非唯一指定要求。 可以先实现注册、登录、选频道和启动游戏,再按需要增加公告、自动更新或自己的界面。
安装 Go 1.26.5,在仓库根目录执行:
Windows:
.\build.bat
.\build.bat linux amd64Linux / macOS:
sh build.sh
sh build.sh linux amd64程序输出到 dist/<GOOS>-<GOARCH>/:
| 程序 | 用途 |
|---|---|
DNF90Server |
游戏服务 |
DNF90Control |
匹配本地实例的部署控制器 |
DNF90Doctor |
环境与配置预检 |
Windows 产物带 .exe 后缀。首次构建需要下载 Go 模块;已有依赖缓存时可离线构建。运行配置、数据库和资源的准备步骤见部署说明。
| 要做的事 | 入口 |
|---|---|
| 第一次构建、开服或让 Agent 帮忙 | 大肥鱼也能看得明白的构建与部署说明 |
| 理解代码职责与协作规则 | AGENTS.md |
| 查看近期改动 | changlog.md |
| 追踪客户端协议与函数 | 客户端函数索引 |
| 研究任务和玩法问题 | Seeker 工作流 · 调查与修复方案 |
| 提交修复、了解镜像关系 | 仓库协作与同步 |
| 查阅早期导入与验收记录 | 源码导入 · D33 修复 · 验收交接 |
go-server/cmd/server/ 服务端、控制器与检查工具
go-server/internal/app/dnf90/ 应用组装
go-server/internal/services/dnfbridge/ 网络会话与客户端协议
go-server/internal/modules/dnf/ 游戏领域规则与事务
go-server/internal/services/logic/dnf/ 仓储组装
deploy/ 部署工具与配置模板
Docs/ 使用说明、协议索引与修复方案
runtime/ 私有配置、资源、日志与运行数据
dist/ 构建产物
测试命令与数据库测试准备见构建与部署说明。运行数据保存在 Git 忽略目录,源码变更使用独立分支提交。
16ww/servers5a3 是 GitGud 上游,当前 GitHub 仓库 Cec1c/ServerS5A3 镜像其主干。修复通过上游 Merge Request 集成,再同步到 GitHub。
感谢上游作者和各位贡献者持续完善协议与玩法。根目录构建脚本及独立产物目录的组织参考了 rewio/ServerS4A21。
本项目采用 GNU General Public License v3.0(GPL-3.0-only),完整条款见 LICENSE。第三方组件保留各自的许可证与版权声明。