# DnfServer **Repository Path**: timoxo/dnfserver ## Basic Information - **Project Name**: DnfServer - **Description**: Docker for DNFServer(not included DB) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-09-09 - **Last Updated**: 2025-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🐳 DNFServer 镜像说明 > **⚠️ 本镜像仅供学习和研究使用,请勿用于非法用途。任何因使用本镜像造成的负面影响与本人无关!** --- ## 📦 最新镜像 - **Docker Hub**:[timoxo/dnfserver:1.0](https://hub.docker.com/r/timoxo/dnfserver) - **Docker Compose 安装**:[YAML 文档](https://blog.timoxo.cn/docs/d&f/huazhi/server) - **推荐登录器**:[偏爱花枝6系 V8.8.8](https://docs.qq.com/doc/DRW5qcGdtU1JKZGxn) ## 📝 说明 本镜像基于 `xhatt/dnfserver:huazhi-3.4.1`,原版本内置固定网关和登录器,仅支持 `dp2` 插件。 在此基础上,进行了以下改进: - **登录器自定义**:开放登录器配置,通过宿主机目录(如 `./dnfserver/data/login`,挂载至容器 `/data/login`)可替换为自定义登录器(已测试花枝系) - **插件扩展机制**:新增 `plugins` 目录,支持用户添加任意插件(已测试 `frida`、`帝落破解` ) - **可替换 run 文件**:宿主机可提供 `run` 文件替代容器原始启动逻辑,无需重构镜像 > 💡 所有扩展配置均在 **宿主机挂载目录(如 `./dnfserver/data`)** 下完成,无需进入容器内部操作 ## 📌 更新日志 ### v1.0 - 基于 `xhatt/dnfserver:huazhi-3.4.1` 制作 - 开放登录器替换:通过 `./dnfserver/data/login` 配置自定义登录器 - 保留原镜像的 `dp2` 插件支持 - 新增 `plugins` 目录支持多插件扩展 - 支持宿主机 `run` 文件挂载,灵活控制容器内服务启动 ## ⚠️ 注意事项 - 建议搭配 `xhatt/dnfmysql:5.6` 镜像使用(本镜像不包含数据库) - 启动前,请确保挂载目录 `./dnfserver/data` 中包含以下文件: - `df_game_r` - `privatekey.pem` - `publickey.pem` - `Script.pvf` - **关于 run 文件** - 所有插件(包括 `dp2`、`frida`、`帝落破解`)均依赖 `run` 脚本控制启动 - 建议从容器内复制原始 `/root/run` 到宿主机 `./dnfserver/data/run` 并修改: ```bash docker cp :/root/run ./dnfserver/data/run ``` ## 🆕 扩展功能 ### 🗂 自定义登录器(挂载路径:`./dnfserver/data/login`) - 在宿主机目录 `./dnfserver/data` 下新建 `login` 文件夹 - 将登录器的 **root** 和 **home** 目录放入其中 - 容器启动时会自动替换原镜像的登录器内容 > ⚠️ 仅测试花枝系登录器,其他类型请自行验证兼容性 ### 🗂 插件扩展(挂载路径:`./dnfserver/data/plugins`) - 在宿主机目录 `./dnfserver/data` 下新建 `plugins` 文件夹 - 每个插件需单独放在一个子文件夹中,如 `frida/`、`diluo/` - 子目录中的 `.sh` 脚本文件会在容器启动时自动执行 ### 🗂 原 DP2 插件支持(挂载路径:`./dnfserver/data/dp2`) - 在宿主机目录 `./dnfserver/data` 下新建 `dp2` 文件夹 - 放入需要的插件文件,并通过 `run` 文件加载 ## 📁 宿主机挂载目录结构示例
./dnfserver/data/
├── df_game_r
├── privatekey.pem
├── publickey.pem
├── Script.pvf
├── run              # (可选) 自定义启动脚本
├── dp2              # (可选) 原版 DP 插件支持
│   └── 插件文件
├── login            # (可选) 自定义登录器目录
│   ├── home/
│   └── root/
└── plugins          # (可选) 插件扩展目录
    ├── frida/
    │   
    └── diluo/
        └── init.sh  # (可选) 插件初始化脚本
## 📂 挂载卷 - ./dnfserver/data:/data - ./dnfserver/log:/home/neople/game/log ## 🚪 端口映射 - 8188:8188/tcp # 花枝登录器 网关 - 20303:20303/tcp # df_dbmw_r - 20303:20303/udp # df_dbmw_r - 20403:20403/tcp # df_dbmw_r - 20403:20403/udp # df_dbmw_r - 40403:40403/tcp # df_manager_r - 40403:40403/udp # df_manager_r - 7000:7000/tcp # df_bridge_r - 7000:7000/udp # df_bridge_r - 7001:7001/tcp # df_channel_r - 7001:7001/udp # df_channel_r - 7200:7200/tcp # df_relay_r - 7200:7200/udp # df_relay_r - 10011:10011/tcp # df_game_r - 31100:31100/tcp # df_community - 30303:30303/tcp # df_monitor_r - 30303:30303/udp # df_monitor_r - 30403:30403/tcp # df_guild_r - 30403:30403/udp # df_guild_r - 10052:10052/tcp # df_game_r - 20011:20011/tcp # df_game_r - 20203:20203/tcp # df_dbmw_r - 20203:20203/udp # df_dbmw_r - 30703:30703/udp # df_coserver_r - 11011:11011/udp # df_game_r - 2311:2311/udp # df_stun_r - 2312:2312/udp # df_stun_r - 2313:2313/udp # df_stun_r - 30503:30503/udp # df_statics_r - 11052:11052/udp # df_game_r