DNF私服
效果
注册
windows启动一个centerOS服务器作为服务端,有现成服务器的忽略这一步。
CenterOS下载地址
https://app.vagrantup.com/centos/boxes/7
windows中启动一个CenterOS虚拟机
虚拟机有线连接并ifconfig
查看ip
前置操作(使用CenterOS服务器)
先升级yum源
yum update -y
下载docker安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
运行安装docker的脚本
sudo sh get-docker.sh
启动docker
systemctl enable docker
systemctl restart docker
关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
关闭selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
创建swap(如果内存足够可以直接忽略)
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=8000
mkswap /var/swap.1
swapon /var/swap.1
sed -i '$a /var/swap.1 swap swap default 0 0' /etc/fstab
查看操作系统是否打开swap的使用(如果内存足够可以直接忽略)
sudo vim /etc/sysctl.conf
# 将vm.swappiness的值修改为100(优先使用swap),没有该配置就加上
vm.swappiness = 100
最后执行以下命令使配置生效:
sysctl -p
部署服务
拉取镜像(根据你的CenterOS版本拉取对应镜像)
docker pull 1995chen/dnf:centos5-2.1.4.fix1
docker pull 1995chen/dnf:centos6-2.1.4.fix1
# 如何您需要使用centos7作为基础镜像的特殊需求,可以使用:
docker pull 1995chen/dnf:centos7-2.1.4.fix1
# 国内镜像无法拉取请使用[完整复制整行命令执行]
docker pull registry.cn-hangzhou.aliyuncs.com/1995chen/dnf:centos7-2.1.4.fix1 && docker tag registry.cn-hangzhou.aliyuncs.com/1995chen/dnf:centos7-2.1.4.fix1 1995chen/dnf:centos7-2.1.4.fix1
# 所有镜像版本列表请参考[记得点赞三连,帮助更多的人了解该镜像]:
https://hub.docker.com/repository/docker/1995chen/dnf
开始拉取
拉取成功
启动服务(里面的参数必须要修改!!!注意启动参数里面的centeros版本)
注意最后的centeros7、6、5要和上面拉取的镜像对应!
# 创建一个目录,这里以/data为例,后续会将该目录下的mysql以及data目录挂载到容器内部
mkdir -p /data/log /data/mysql /data/data
# 2.1.0版本镜像启动时会自动初始化mysql数据
# 启动服务
# PUBLIC_IP为公网IP地址,如果在局域网部署则用局域网IP地址,按实际需要替换
# GM_ACCOUNT为登录器用户名,建议替换
# GM_PASSWORD为登录器密码,建议替换
# DNF_DB_ROOT_PASSWORD为mysql root密码,容器启动是root密码会跟随该环境变量的变化自动更新
# WEB_USER为supervisor web管理页面用户名
# WEB_PASS为supervisor web管理页面密码(可以访问PUBLIC_IP:2000来访问进程管理页面)
# --shm-size=8g【不可删除】,docker默认为64M较小,需要增加才能保证运行
docker run -d -e PUBLIC_IP=x.x.x.x -e WEB_USER=root -e WEB_PASS=123456 -e DNF_DB_ROOT_PASSWORD=88888888 -e GM_ACCOUNT=gmuser -e GM_PASSWORD=gmpass -v /data/log:/home/neople/game/log -v /data/mysql:/var/lib/mysql -v /data/data:/data -p 2000:180 -p 3000:3306/tcp -p 7600:7600/tcp -p 881:881/tcp -p 7001:7001/tcp -p 7001:7001/udp -p 10011:10011/tcp -p 11011:11011/udp -p 10052:10052/tcp -p 11052:11052/udp -p 7200:7200/tcp -p 7200:7200/udp -p 2311-2313:2311-2313/udp --cap-add=NET_ADMIN --hostname=dnf --cpus=1 --memory=1g --memory-swap=-1 --shm-size=8g --name=dnf 1995chen/dnf:centos7-2.1.4.fix1
有时候可能启动不成功
可以restart一下
或者用docker-compose
services:
dnf:
hostname: dnf
image: 1995chen/dnf:centos5-2.1.4.fix1
# privileged: true
cap_add:
- NET_ADMIN
environment:
- TZ=Asia/Shanghai
# 数据库root密码
- DNF_DB_ROOT_PASSWORD=88888888
- GM_ACCOUNT=gmuser
- GM_PASSWORD=gmpass
- GM_CONNECT_KEY=763WXRBW3PFTC3IXPFWH
- GM_LANDER_VERSION=20180307
# 手动指定对外IP
- PUBLIC_IP=127.0.0.1
# Netbird[可选配置][没有公网IP的可选私有内网接入]
#- NB_SETUP_KEY=''
#- 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
等待几分钟启动
访问你部署的ip:2000查看进程管理页面,出现如下页面说明你的程序启动成功了
如果是云服务器需要开放对应端口
添加本地host
下载客户端、网关和补丁
链接:https://pan.baidu.com/s/1OXWplfbkSXv3IyLFJhVtVA
提取码:6666
生成登陆器
配置网关
运行
下面红色字体就是上面docker执行运行命令中配置的内容,通信密钥固定为763WXRBW3PFTC3IXPFWH
生成登陆器
里面的ip是你虚拟器服务端的ip地址,注意游戏版本必须和网关中的一致
将登录器拷贝到游戏的目录下
双击登陆器运行
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ALLBS!
评论