Skip to content

About

Mirror of gitgud.io/16ww/servers5a3 — DNF90 Go server source

Resources

Stars

29 stars

Watchers

3 watching

Forks

Repository files navigation

老实写代码,很枯燥吧

ServerS5A3

DNF90 Go 游戏服务端

Go MariaDB Docker License: GPL v3 Stars Release

在 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赛马活动并核对实际生效状态。
给我一个能注册、登录、选频道并启动游戏的基础登录器,
最后留下启动、停止、备份、更新和回退方法。

下载 PVF 和客户端 EXE

Script.pvf 和对应版本的 DNF.exe 都放在 Release 附件中。 打开 GitHub Releases 或 GitGud 上游 Releases,按同一版本的说明下载配套文件。分卷附件按该版本说明下载齐全后解压。

客户端 EXE、PVF 及相关 dstr/NPK 资源按所选 Release 配套使用。玩家客户端、游戏服务和 GM 使用的 PVF 需要一致;频道表按首页上方的部署要求单独核对。

项目里有什么

部分 用途
游戏服务 处理账号会话、频道连接、角色进城、组队和副本协议
领域模块 实现角色、背包、任务、装备、邮件、交易、公会等规则与数据事务
存档 使用 MySQL / MariaDB 保存账号、角色与游戏进度
构建与部署工具 提供跨平台构建脚本、Docker 配置生成器、实例控制器和环境检查工具
协议与回归资料 保存匹配客户端的函数索引、修复方案和自动化测试,便于继续补齐玩法

游戏逻辑与资产事务由本仓库维护。玩家登录器、更新分发和 GM 管理界面可以通过独立工具接入。

登录器与 GM

推荐使用 PurpleMagic,它提供 Windows 玩家登录器、更新网关和 Web GM,覆盖注册登录、客户端更新、账号角色查询、背包、邮件和福利管理。

最基础的登录器,直接跟 Agent 许愿即可。PurpleMagic 是推荐方案,并非唯一指定要求。 可以先实现注册、登录、选频道和启动游戏,再按需要增加公告、自动更新或自己的界面。

自己构建

安装 Go 1.26.5,在仓库根目录执行:

Windows:

.\build.bat
.\build.bat linux amd64

Linux / 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。第三方组件保留各自的许可证与版权声明。

About

Mirror of gitgud.io/16ww/servers5a3 — DNF90 Go server source

Resources

Stars

29 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages