找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 24513|回复: 14

DNF架设史上的颠覆

[复制链接]

401

主题

2391

回帖

8744

积分

功行圆满

积分
8744
发表于 2024-6-22 09:34:22 | 显示全部楼层 |阅读模式
1.首先准备一台Linux机器,最好是服务器,因为服务器IP不会变,如果会从路由器设置电脑的固定IP,那也就无所谓了,服务器的优势主要就是大家不在一起也能一起玩游戏
2.这里我准备的是Centos 7,因为要安装docker,Centos 6以下的版本要升级内核,太麻烦了,所以我们选择Centos 7以上,Ubuntu系统可以选择16.04以上都是可以的,只要能成功安装docker,对了我选的是64位,大家最好都64位吧
3.服务器配置 1核2G1M带宽,很便宜的配置了,我在淘宝买的,注册一个新的腾讯云账号,淘宝买只要66一年,大家自行研究
4.安装docker,运行以下命令
先升级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 start docker
5.关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
systemctl disable firewalld.service
systemctl stop firewalld.service
6.关闭selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
这个是关闭selinux的详细文档
https://jingyan.baidu.com/article/7e4409537177d32fc0e2efe9.html
最好永久关闭吧,然后重启服务器
7.创建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
8.判断docker是否安装成功
docker ps
出现以下结果就是成功了
[root@master  data]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
9.拉取镜像
docker pull 1995chen/dnf:85.1
10.启动
在根下创建一个文件夹
mkdir -p /data
启动
docker run -d -e IP=你的外网IP -v /data/root:/root -v /data/neople:/home/neople --net=host --privileged=true --memory=8g --oom-kill-disable --shm-size=8g 1995chen/dnf:85.1
11.判断是否出现5国
cd  /data/neople/game/log/siroco11/
然后里面会有类似Log20201103.init的文件,我写这个帖子的时候刚好是11月03,所以大家自己对号入座
tail -f Log20201103.init
会出现下面结果
[04:05:01] - GuildLevelUp : 0
[04:05:01] - GuildSkillUp : 0
[04:05:01] - GuildBreak : 0
[04:05:01] - CreateCharacter : 0
[04:05:01] - LoginChannel : 0
[04:05:01] Mobile Auth End
[04:05:01] [!] Service Restrict List ...
[04:05:01] Security Restrict Begin
[04:05:01] - RestrictBegin : 1
[04:05:01] - DropRate : 0
[04:05:01] Security Restrict End
[04:05:01] GeoIP Allow Country Code : CN
[04:05:01] GeoIP Allow Country Code : HK
[04:05:01] GeoIP Allow Country Code : KR
[04:05:01] GeoIP Allow Country Code : MO
[04:05:01] GeoIP Allow Country Code : TW
[04:05:10] [!] Connect To Monitor Server ...
[04:05:10] [!] Connect To Guild Server ...
说明成功了
12.判断进程是否存在
ps -ef |grep df_
会出现下面结果
[root@master siroco11]# ps -ef |grep df_
root     12024 11918  0 11:37 ?        00:00:01 ./df_stun_r start
root     12089 11918  0 11:37 ?        00:01:12 ./df_community_r community start
root     12090 11918 36 11:37 ?        01:57:47 ./df_coserver_r coserver start
root     12091 11918  3 11:37 ?        00:10:42 ./df_statics_r stat_siroco start
root     12092 11918  0 11:37 ?        00:00:01 ./df_relay_r relay_200 start
root     12104 11918  6 11:37 ?        00:21:25 ./df_dbmw_r dbmw_mnt_siroco start
root     12105 11918  6 11:37 ?        00:21:24 ./df_dbmw_r dbmw_gld_siroco start
root     12106 11918  6 11:37 ?        00:21:25 ./df_manager_r manager start
root     12107 11918  3 11:37 ?        00:10:44 ./df_dbmw_r dbmw_stat_siroco start
root     12108 11918  6 11:37 ?        00:21:25 ./df_monitor_r mnt_siroco start
root     12109 11918  3 11:37 ?        00:10:49 ./df_channel_r channel start
root     12110 11918  6 11:37 ?        00:21:25 ./df_guild_r gld_siroco start
root     12111 11918  3 11:37 ?        00:11:27 ./df_bridge_r bridge start
root     12183 11934  6 11:38 ?        00:22:04 ./df_game_r siroco11 start
root     12212 11934  6 11:38 ?        00:22:03 ./df_game_r siroco52 start
root     30721 27899  0 16:57 pts/0    00:00:00 grep --color=auto df_
有df_game_r代表没毛病,老铁可以连接客户端登录了
13.服务挂了怎么启动
这个简单,先运行docker ps -a查看docker容器的id
[root@master siroco11]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
f37360fd1c76        1995chen/dnf:85.1   "/bin/bash /docker-e…"   6 hours ago         Up 5 hours                              suspicious_spence
[root@master siroco11]#
在这里f37360fd1c76就是容器的id,我们只需要运行
docker restart f37360fd1c76就可以了
14.电脑IP变了怎么办
这真是个伤心的事,因为如果你需要连接mysql,把d_taiwan数据库下的db_connect 表里的db_ip字段全部改成正确的ip才行,但这个肯定是不够的,你还需要运行下面命令
sed -i "s/你上次指定的IP/你这次的IP/g" `find /data/neople -type f -name "*.cfg"`
sed -i "s/你上次指定的IP/你这次的IP/g" `find /data/neople -type f -name "*.tbl"`
很难受吧,所以大家路由器啥的配置好,IP最好不要变。
15.我是Windows电脑怎么办
真的很抱歉,docker在windows下不能开启宿主机网络host模式,浪费了很多时间看这个文档,话说我为啥不把这个放在最前面,,,,windows还是用虚拟机吧,那也更快,更方便。祝大家游戏愉快
16.别问我为啥还有第16条
我们用的网关是DnfGateServer,没错,就是大家最常用的那款登录器。主要是用那个统一网关管理器生成登录器。配置都在/data下的root目录里,里面有Config.ini有网关的所有配置。如果是在不会这个就不要找我啦,因为真的比较复杂,前人积累的东西太多,不是一天两天能讲完的,是在不行就私信我吧,我直接发你们一个客户端,和我一起玩吧,买一个服务器就架设这个服务,整个区没人,我也希望有更多的人在里面完,PK!去实现那些曾经未曾做的事。
17.后续会放出客户端的地址供大家下载
回复

使用道具 举报

388

主题

2406

回帖

8755

积分

功行圆满

积分
8755
发表于 2024-6-22 09:34:52 | 显示全部楼层
看到你说了统一,是的配置确实都在root里面。只需要配置好一次,配置文件导出来,然后在run脚本集成启动命令就可以做到。run的时候开登录器网关。stop关网关顺便关服。
回复

使用道具 举报

401

主题

2391

回帖

8744

积分

功行圆满

积分
8744
 楼主| 发表于 2024-6-22 09:35:43 | 显示全部楼层
统一登录器
链接: 网页链接 提取码: u86h 复制这段内容后打开百度网盘手机App,操作更方便哦
回复

使用道具 举报

401

主题

2391

回帖

8744

积分

功行圆满

积分
8744
 楼主| 发表于 2024-6-22 09:35:52 | 显示全部楼层
1nJY3BP5BkBPTuwbvgIBv_A
提取码: he2s
回复

使用道具 举报

401

主题

2391

回帖

8744

积分

功行圆满

积分
8744
 楼主| 发表于 2024-6-22 09:36:30 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

401

主题

2391

回帖

8744

积分

功行圆满

积分
8744
 楼主| 发表于 2024-6-22 09:37:01 | 显示全部楼层
老牛客户端
1roOxDI4tyfBvvcUQTjCimA 提取码: bwcy
回复

使用道具 举报

388

主题

2406

回帖

8755

积分

功行圆满

积分
8755
发表于 2024-6-22 09:37:54 | 显示全部楼层
亲测可用,什么系统都可以run了。。。但是如果不太懂服务器什么的,还是不要折腾了, 更换版本稍麻烦一点
回复

使用道具 举报

381

主题

2365

回帖

8601

积分

功行圆满

积分
8601
发表于 2024-6-22 09:38:21 | 显示全部楼层
整挺好!
换了个pvf,正在跑,不知道怎么样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

388

主题

2406

回帖

8755

积分

功行圆满

积分
8755
发表于 2024-6-22 09:38:34 | 显示全部楼层
mysql的端口大佬会改吗
回复

使用道具 举报

401

主题

2391

回帖

8744

积分

功行圆满

积分
8744
 楼主| 发表于 2024-6-22 09:38:58 | 显示全部楼层
我不会,我只会架设
回复

使用道具 举报

388

主题

2406

回帖

8755

积分

功行圆满

积分
8755
发表于 2024-6-22 09:39:41 | 显示全部楼层
之前也是自己用docker做一直提示core dump 后面看了楼主的run参数后受到启发 之前自己做的镜像也能成功在docker下跑出5国了
回复

使用道具 举报

429

主题

2512

回帖

9246

积分

功行圆满

积分
9246
发表于 2024-6-22 09:39:54 | 显示全部楼层
没听懂啥意思
回复

使用道具 举报

429

主题

2512

回帖

9246

积分

功行圆满

积分
9246
发表于 2024-6-22 09:40:52 | 显示全部楼层
秀啊
回复

使用道具 举报

388

主题

2406

回帖

8755

积分

功行圆满

积分
8755
发表于 2024-6-22 09:41:38 | 显示全部楼层
仔细看了下,容器启动时没有指定端口映射,这样服务压根就没办法被访问到啊
回复

使用道具 举报

437

主题

2348

回帖

8759

积分

功行圆满

积分
8759
发表于 2024-6-22 09:42:18 | 显示全部楼层
按照步骤走 关了防火墙
docker 里面 一直卡在
CONNECTION FAIL IP =127.0.0.1, PORT =40403, reason =Connection refusedtcpSoc
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|阿荣社区 [Arong ! Vul7.com] ( 闽ICP备2022012442号 )|网站地图

GMT+8, 2024-9-20 00:06 , Processed in 0.057059 second(s), 19 queries .

Powered by 阿荣社区! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表