Docker-Compose部署
-
docker-compose.yaml
新建一个
docker-compose.yaml
文件,具体参数可以根据实际修改version: "2.3" services: dnf: hostname: dnf image: 1995chen/dnf:centos6-2.1.4.fix1 # privileged: true cap_add: - NET_ADMIN environment: - TZ=Asia/Shanghai # 自动获取公网地址[默认为false] - AUTO_PUBLIC_IP=false # 公网或局域网IP地址 - PUBLIC_IP=public_IP # GM管理员账号(不要使用特殊符号) - GM_ACCOUNT=gameuser # GM管理员密码(不要使用特殊符号) - GM_PASSWORD=gamepass # GM连接KEY(自定以密钥请使用网关生成的密钥,因为密钥有格式限制,不符合格式的密钥会导致登录器一致卡在网关连接那里) - GM_CONNECT_KEY=763WXRBW3PFTC3IXPFWH # GM登录器版本 - GM_LANDER_VERSION=20180307 # DNF数据库root密码 - DNF_DB_ROOT_PASSWORD=88888888 # DNF数据库game密码(必须8位) - DNF_DB_GAME_PASSWORD=12345678 # supervisor web页面用户名 - WEB_USER=root # supervisor web页面密码 - WEB_PASS=123456 # Netbird[可选配置][没有公网IP的可选私有内网接入] # Netbird初始化KEY #- NB_SETUP_KEY='' # Netbird服务器地址 #- NB_MANAGEMENT_URL='' # 开启DDNS[可选配置] # - DDNS_ENABLE=true # - DDNS_DOMAIN='' # shm_size: 8g【不可删除】,docker默认为64M较小,需要增加才能保证运行 shm_size: 8g memswap_limit: -1 mem_limit: 1g cpu_count: 1 restart: always ports: - 2000:180/tcp # supervisor web - 3000:3306/tcp # mysql - 7600:7600/tcp # 统一登陆器 - 881:881/tcp # 统一网关 - 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[ch.11] - 11011:11011/udp # df_game_r[ch.11] - 10052:10052/tcp # df_game_r[ch.52] - 11052:11052/udp # df_game_r[ch.52] - 2311-2313:2311-2313/udp # df_stun_r volumes: - ./data:/data - ./mysql:/var/lib/mysql - ./log:/home/neople/game/log
-
构建
与
docker-compose.yaml
文件同一目录下使用命令修改yaml文件后也需要重新执行,注意:已生成的文件可能需要手动修改或者删除后重新生成防止修改了参数不生效
# -d 表示后台运行 docker-compose up -d
-
验证
查看
/log/siroco11/Logxxxxxxxx.init
文件,当出现五国 + 两个感叹号带代表成功Logxxxxxxxx.init
文件(其中xxxxxxxx为当天时间),两个感叹号为Connect To
[12:50:05] [!] Service Restrict List ... [12:50:05] Security Restrict Begin [12:50:05] - RestrictBegin : 1 [12:50:05] - DropRate : 0 [12:50:05] Security Restrict End [12:50:05] GeoIP Allow Country Code : CN [12:50:05] GeoIP Allow Country Code : HK [12:50:05] GeoIP Allow Country Code : KR [12:50:05] GeoIP Allow Country Code : MO [12:50:05] GeoIP Allow Country Code : TW [12:50:05] [!] Monitor Server Connected [12:50:05] [!] Guild Server Connected [12:50:15] [!] Connect To Monitor Server ... [12:50:15] [!] Connect To Guild Server ...
常用文件
操作文件需要进入容器内部,或者挂载目录。需要注意服务器上的一些特殊文件,修改后需要重启Docker容器
-
等级文件
将等级文件df_game_r
上传到/data
目录下替换,并且需要同步修改客户端文件夹内的DNF.toml
文件 -
版本文件
Script.pvf
需要和客户端根目录内一致
Dp2
1995chen提供的Docker镜像启动Dp2需要一定的性能,CPU占用高
将Dp插件复制到 /data/dp
目录,删除原有的 libhook.so
文件,最后的结构类似如下:
dp
├── df_game_r.js
├── df_game_r.lua
├── dp2.tgz
├── frida
├── lib
├── libdp2.so
├── libdp2.xml
├── libGeoIP.so.1
├── libhook.so
├── lua
├── lua2
├── README.md
└── script
重启Docker容器
与docker-compose.yaml文件同一目录下使用命令
docker-compose restart