DOF私服服务端搭建完整教程(从零开服)
很多人下载到一键端之后发现「双击没反应」「启动器一闪而过」「登录器一直转圈」,其实问题多半不在服务端本身,而在环境没装齐、数据库没导入、端口没放行这些基础环节。本篇教程把 DOF 私服从服务器准备到开区上线的全过程拆成 8 个可执行步骤,每一步都给出真实的目录名、端口号与配置项,照着做即可把服务端在自己的机器或云服务器上跑起来。
一、开服前的准备
开服的第一步不是装软件,而是先想清楚要带多少人。人数直接决定服务器配置与带宽,配置不足会在开区当天集中掉线。下表给出三档常见规模的配置建议,按实际需求选择即可。
| 配置项 | 单机测试 | 小规模开服(50 人内) | 正式开服(200 人以上) |
|---|---|---|---|
| CPU | 2 核 | 4 核 | 8 核以上 |
| 内存 | 4 GB | 8 GB | 16~32 GB |
| 硬盘 | 40 GB SSD | 100 GB SSD | 200 GB NVMe 以上 |
| 带宽 | 5 Mbps | 10 Mbps | 50 Mbps 以上 |
| 系统 | Windows 10 / Server 2019 | Server 2019 | Server 2019 / 2022 |
| 建议人数 | 1~5 人 | 10~50 人 | 100~300 人 |
系统方面统一选择 64 位 Windows Server 2019 或 Windows 10 专业版即可,不要用 Windows 7 或精简版系统,精简版常缺少运行库组件,会导致服务端启动到一半退出。服务端文件请解压到非系统盘,例如 D:\DOFServer,路径中不要出现中文和空格。
需要准备的资源清单:DOF 服务端整合包(含 Server 与 Tools 目录)、MySQL 5.7 或 8.0 安装包、.NET Framework 4.6 及以上、VC++ 2010/2015-2022 运行库、客户端与登录器。全部资源可在 DOF私服一键端服务端整合包 下载页获取。
二、安装运行环境
环境是服务端能否启动的前提,建议按下面的顺序安装,装完一项再装下一项,方便定位问题。
- 安装 .NET 与 VC 运行库:先装
dotNetFx46.exe,再安装 VC++ 合集(2010 x86/x64、2015-2022 x86/x64 都要装),这两个是服务端主程序依赖。 - 安装 MySQL:选择 MySQL 5.7(兼容性最好),安装类型选 Custom,勾选 Server 与 Client。安装时设置 root 密码,例如
dof123456,这个密码后面导入数据库要用到。 - 配置 MySQL 字符集:找到
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini,把character-set-server设为utf8mb4,保存后重启 MySQL 服务,避免中文角色名乱码。 - 验证数据库:打开命令行执行
mysql -uroot -pdof123456,能进入mysql>提示符即安装成功。 - 关闭冲突软件:临时关闭杀毒软件的实时防护,或把
D:\DOFServer目录加入白名单,防止运行库与服务端组件被误删。
三、导入数据库与基础数据
服务端整合包的 Server\DB 目录内通常带有 dof_db.sql 之类的备份脚本,里面包含账号表、角色表与基础配置表。导入方式有两种:命令行或用 Navicat 图形工具,新手推荐后者。
- 用 Navicat 连接本地 MySQL(主机
127.0.0.1,端口3306,用户root,密码为安装时设置的密码)。 - 右键新建数据库,数据库名填
dof_game,字符集选utf8mb4,排序规则选utf8mb4_general_ci。 - 选中
dof_game,右键「运行 SQL 文件」,选择Server\DB\dof_db.sql并执行,等待进度条走完。 - 刷新后应看到
accounts、characters、server_config等表,说明导入成功。 - 如需清空测试数据,执行
TRUNCATE TABLE characters;后重启服务端即可。
四、解压并配置服务端
解压服务端整合包到 D:\DOFServer,先认识一下目录结构,后面改配置时就不会找错文件。
| 目录 / 文件 | 作用 |
|---|---|
| Server\Config | 配置文件目录,存放 IP、端口、数据库连接等设置 |
| Server\Config\server.ini | 主配置:数据库地址、账号密码、区服名称 |
| Server\Config\channel.ini | 频道配置:频道名称、端口、人数上限 |
| Server\Game | 游戏逻辑、地图数据与掉落表 |
| Server\Gate | 网关与登录认证服务 |
| Server\DB | 数据库脚本与备份文件 |
| Tools | GM 管理工具、补丁与辅助脚本 |
接下来修改两个关键配置文件。用记事本打开 Server\Config\server.ini,重点改这几项:
- 数据库连接:
db_host=127.0.0.1、db_port=3306、db_name=dof_game、db_user=root、db_pass=dof123456,必须与第二步安装的 MySQL 一致。 - 区服地址:
server_ip=你的服务器公网IP,单机测试可填127.0.0.1。填错会导致登录器能连但进不去频道。 - 认证端口:
auth_port=7000,保持默认即可,如需修改要同步改登录器配置。
再打开 Server\Config\channel.ini,确认频道端口依次为 7200、7300,并在 max_user 中填写单频道人数上限,小规模开服建议不超过 80,防止单频道过载。
五、启动服务端并验证
多数整合包在根目录提供一个一键启动脚本,例如 D:\DOFServer\启动服务端.bat,它会按顺序拉起数据库连接、认证服务、网关和频道服务。如果脚本报错,也可以手动依次启动,观察是哪一个环节出的问题。
- 以管理员身份运行启动脚本:右键
启动服务端.bat选择「以管理员身份运行」,避免端口绑定失败。 - 观察黑窗口:会先后弹出 4~5 个命令行窗口,分别是 Auth、Gate、Channel1、Channel2、Log 服务,窗口不要关闭。
- 检查进程:打开任务管理器,应能看到
dof_auth.exe、dof_gate.exe、dof_channel.exe等进程。 - 检查监听端口:命令行执行
netstat -ano | findstr "7000 7200 8080",能看到对应端口处于 LISTENING 即为正常。 - 查看日志:进入
Server\Log,最新日期的日志文件末尾出现Server Started或Load Map OK,说明服务端已成功加载。
六、放行端口与防火墙设置
服务端本机能通不代表外网能连。云服务器需要同时配置「安全组」和「系统防火墙」两处放行,少一处都会连接超时。下表列出常用端口,按需放行即可。
| 端口 | 协议 | 用途 | 是否必须 |
|---|---|---|---|
| 3306 | TCP | MySQL 数据库 | 仅本机可不开外网 |
| 7000 | TCP | 账号认证 / 登录服务 | 必须 |
| 7200 | TCP | 频道 1 游戏服务 | 必须 |
| 7300 | TCP | 频道 2 游戏服务 | 多频道需要 |
| 8080 | TCP | 网关 / 大厅服务 | 必须 |
| 8888 | TCP | GM 工具 / 后台管理 | 建议限制来源 IP |
系统防火墙放行可在管理员命令行执行,例如放行 7000 端口:netsh advfirewall firewall add rule name="DOF7000" dir=in action=allow protocol=TCP localport=7000,其余端口把数字替换后重复执行即可。云服务器还需在控制台的安全组里添加入方向规则,来源填 0.0.0.0/0(或指定玩家 IP),协议 TCP,端口与上表对应。
七、客户端连接测试
服务端跑起来后,先在本机用客户端连接测试,确认无误再发布给玩家。打开客户端目录的登录器配置,把服务器地址填成 127.0.0.1(本机测试)或公网 IP(外网测试),认证端口填 7000,版本号与密钥需与服务端配置完全一致。完整的客户端与登录器设置方法见 DOF私服客户端配置与登录教程,客户端与登录器文件可在 DOF私服一键端服务端整合包 内一并获取。
能成功创建角色并进入频道,说明服务端、数据库、端口三者全部打通,接下来就可以接入管理工具做最后的上线准备了。
八、接入 GM 工具与开区上线
开服离不开发放点券、全服公告、踢人封号这些操作,这时候要用到 GM 管理工具。在 DOF私服GM管理工具 下载后解压,配置数据库连接(与 server.ini 保持一致)即可使用。常见操作包括:给指定账号发放点券、修改角色等级、全服发送公告、查看在线人数。
- 用 GM 工具连接数据库,确认能读取到
accounts表。 - 给自己的测试账号设为 GM 权限,进入游戏验证命令是否生效。
- 修改区服名称、公告与经验倍率,重启对应服务让配置生效。
- 把客户端 IP 改为公网地址,发布登录器与补丁给玩家。
- 开区当天盯紧日志与在线人数,端口或负载异常及时处理。
九、常见报错与解决
| 现象 | 原因 | 解决方法 |
|---|---|---|
| 服务端启动后闪退 | 缺少 .NET / VC 运行库,或路径含中文 | 安装运行库,把服务端移到纯英文路径 |
| 数据库连接失败 | MySQL 未启动或账号密码不符 | 启动 MySQL,核对 server.ini 中的库名与密码 |
| 登录器连接超时 | 防火墙拦住 7000 端口或 IP 填错 | 放行端口,确认公网 IP 填写正确 |
| 能登录但进不了频道 | 频道服务未启动或 7200 未放行 | 启动 Gate 与频道进程,放行 7200/7300 |
| 进入后地图空白并掉线 | 地图数据缺失或客户端版本不匹配 | 补齐 Map 资源,核对服务端与客户端版本号 |
| 开区后卡顿延迟高 | 带宽或 CPU 不足,多频道抢占资源 | 升级配置,限制单频道人数 |