一台TrinityCore服务器,采用的是备份克隆安装的方式,在FreeBSD bhyve 中安装Ubuntu,安装细节见如下两篇文档:尝试在FreeBSD 的jail、bhyve里安装TrinityCore-CSDN博客
备份和镜像TrinityCore_魔兽世界 updating auth database... dbupdater: the give-CSDN博客
这台服务器的问题就是特别卡,网络延时在700ms左右,而且经常出现更大的延时,出现卡顿现象。但是在命令行ping该服务器却很快,用ssh传输文件也很快,所以最终怀疑是不是因为不是本地编译而导致延时大的。发现这个问题后,一直没解决,当时留存了文档:一台TrinityCore服务器客户端连接网速慢(未解决)-CSDN博客
关键是局域网的时候,延时也是几百....
准备本机编译,看看是否能解决
重新本机编译
先配置安装如下软件
sudo apt-get update
sudo apt-get install git clang cmake make gcc g++ libmysqlclient-dev libssl-dev sudo libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100
下载源码可以忽略,因为源码已经下载好了
cd ~/
git clone https://github.com/TrinityCore/TrinityCore
编译设置
cd TrinityCore
mkdir build
cd build
# 设置安装到server2目录
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server2
重新编译
make -j 4
make install
编译完成后,用新版本启动服务,发现有点问题,npcbot雇佣兵出不来了.....
而且延时还是700ms左右。
换回老版本,发现延迟降低到300ms左右了,有时候50ms左右,卡的情况还有,但是感觉好一点了。 打了一会儿发现又红了,原来问题照旧。目前客户端连上特别卡,一会儿就卡一次。
是不是bhyve的问题呢? 用jail虚拟机试试
使用FreeBSD jail Ubuntu测试
首先登录进入Ubuntu 虚拟机jammy:
root@fbhost:~ # cbsd jlogin jammy
创建wow账户
apt install sudo
useradd wow
发现jammy这个jail虚拟机没法执行apt install sudo ,软件下载的时候卡住。apt update的时候也会卡住
apt update
0% [Connecting to archive.ubuntu.com] [Connecting to security.ubuntu.com]
登录jail虚拟机ubjammy
ubjammy
apt update 也是卡住。
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
0% [Working]
查看resolv.conf文件
nameserver 114.114.114.114 # CBSD makeresolv function
nameserver 8.8.8.8
应该不是它的问题。
看看是不是pf防火墙的问题?
防火墙规则pf.conf
tcp_services = "{ ssh, smtp, domain, www, pop3, auth, pop3s,443,5900, 5901 }"
udp_services = "{ domain }"
block all
# pass out on $ext_if proto tcp to any port 443
pass out proto tcp to any port $tcp_services keep state
pass in proto tcp to any port $tcp_services keep state
pass proto udp to any port $udp_services keep state
pass inet proto icmp from any to any
pass out proto tcp to any keep state
真是祸不单行,现在所有的jail网络都不能用了。。。。 暂时无法用jail Ubuntu测试,因为所有的都有网络问题,这样没法安装TrinityCore。
是不是ssd的问题
思考是不是硬盘的问题,因为它使用了一块很老旧的ssd硬盘。在zfs里添加一块新ssd硬盘后,没有去掉老的ssd硬盘,不知道是不是因为这个原因。
zfs手册:Chapter 22. The Z File System (ZFS) | FreeBSD Documentation Portal
尝试卸载老硬盘,但是没成功
zpool status
pool: zroot
state: ONLINE
scan: scrub repaired 0B in 00:03:39 with 0 errors on Fri Jun 14 13:07:32 2024
config:
NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
ada0p4 ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
errors: No known data errors
zpool offline zroot /dev/ada0p4
cannot offline /dev/ada0p4: no valid replicas
那就先不卸载以前的老硬盘了。
是不是主板本身就有问题
但是scp的时候速度听挺快啊,网络应该没啥问题。