在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关闭该窗口。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是基于Qt制作服务器端和客户端的步骤: 1. 首先,需要安装Qt开发环境。可以从Qt官网下载安装包,然后按照提示进行安装。 2. 创建一个新的Qt项目,选择"Qt Widgets Application",然后在下一个页面中选择"Server",并设置项目名称和路径。 3. 在项目中添加服务器端代码。可以在Qt Creator中创建一个新的类,然后编写服务器端代码。服务器端代码需要监听客户端的连接请求,接收客户端发送的消息,并将消息转发给其他客户端。 4. 使用Qt Designer来设计服务器端的界面。可以添加一些控件,如按钮、文本框等,用于显示服务器端的状态和接收客户端的输入。 5. 在服务器端代码中添加逻辑,将控件和代码进行连接。例如,当点击"启动服务器"按钮时,调用服务器端代码中的启动函数。 6. 创建一个新的Qt项目,选择"Qt Widgets Application",然后在下一个页面中选择"Client",并设置项目名称和路径。 7. 在项目中添加客户端代码。可以在Qt Creator中创建一个新的类,然后编写客户端代码。客户端代码需要连接服务器端,并发送和接收消息。 8. 使用Qt Designer来设计客户端的界面。可以添加一些控件,如按钮、文本框等,用于显示客户端的状态和输入消息。 9. 在客户端代码中添加逻辑,将控件和代码进行连接。例如,当点击"连接服务器"按钮时,调用客户端代码中的连接函数。 10. 最后,在Linux环境下,需要使用命令行界面来测试这个即时聊天工具。可以打开多个终端窗口,分别运行服务器端和不同的客户端,并且在客户端之间发送消息进行测试。 以上是一个基本的实现方案,具体实现细节还需要根据具体的需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值