在Linux上运行黑魂3服务器端
在此之前,所有有关黑魂3开私服的教程都是基于WIndows、Windows Server运行的ds3os服务器端,没有在Linux上部署服务器端的教学,我一度以为ds3os没有编译出Linux版本,直到今天我逛了一下GitHub,发现最新版里面有Linux端的可执行文件,于是就开始折腾Linux上的黑魂3私服部署。
黑魂3官方服务器已经关了有一段时间了,而且还没有开服的迹象,为了和伙伴们连接,也因为手残打不过一些boss需要求助太阳哥哥,所以我们只能接入私服。但是自从魂3连接漏洞被曝出来后 ,连接他人的服务器就是一种不安全的行为,且不说这个漏洞,还有 毁坏存档的外挂。
接下来是服务器搭建教学
注:本教程基于Ubuntu20.04,已经安装了g++等可能用得到的开发环境的服务器上部署ds3os,并且全程使用root用户配置环境,如果遇到一些本教程没有遇到的问题,请自行百度安装相关环境。
1、在GitHub上下载最新版的ds3os服务器端,链接如下:
Release Release v0.21.0.0-main · TLeonardUK/ds3os · GitHub
2、将文件上传到服务器上,解压缩。
命令如下
tar -xvzf Linux.tar.gz
3、配置服务器所需的各种库文件
这里我就讲一下libsteam_api.so,这个文件在服务器压缩包里就有,将该文件复制到usr/lib目录下
其他依赖请自行百度
注:检查文件依赖的指令(Ubuntu)
ldd filename
4、安装steam/steamCMD
ds3os项目还依赖于steam客户端,可以在steam官网下载deb版安装包安装也可以安装steamCMD。
这里我以安装steamCMD为例。
首先下载steamCMD
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
解压缩
tar -xvzf steamcmd_linux.tar.gz
然后安装steamCMD
./steamcmd.sh
如果打开失败,添加运行权限即可
打开steamCMD目录下的linux64目录,找到steamclient.so,复制该文件到root/.steam/sdk64目录下。
5、设置服务器参数
进入服务器目录,首先赋予程序运行权限并运行一次后关闭。
chmod +x Server
./Server
接下来的操作跟Windows系统下的操作一致了,这里就一笔带过。
打开Saved文件夹下的config.json文件,将公网IP和私网IP都改成你服务器的公网和私网IP地址,如果有域名解析,也可以使用域名作为公网IP。
设置标题、欢迎语、密码等参数,这里不一一讨论了。
6、放行需要的端口
根据官方文档,可以知道ds3os使用了5个端口,分别是50000、50005、50010、50020、50050.
我们需要放行这几个端口的TCP/UDP协议,才能正常使用服务器的功能。
当然,如果你的服务器还在运行其他的项目导致这几个端口被占用了,那么我们可以在config.json里面修改连接端口,然后放行你设置的端口即可。
7、挂载服务器
到上一部为止服务器的所有设置都已经完成,可以直接运行了,但是ssh连接的远程终端在断开连接后会终止在当前连接中运行的所有程序,为了使服务器24小时运行,我们需要将程序挂载到可以长时间运行的容器(docker)或者窗口(screen)中,以便服务器程序能长时间运行。
这里我以screen为例(因为docker比较麻烦,有条件推荐使用docker)
首先安装screen命令
apt install screen
创建新窗口
screen -S ds3os
在这个窗口中,运行服务器程序即可
到此为主,服务器搭建完成
如果需要关闭服务器
首先查看当前正在运行的窗口
screen -ls
找到ds3os窗口的ID,然后可以kill这个ID,或者重新连接到窗口:
screen -R id
然后按ctrl+c关闭即可,输入exit关闭该窗口。