搭建 sven 服务器记录

sven 是 hl 的一个 mod,可以多人联机打怪或对战。

本文使用的服务器为阿里云的 VPS,安装的系统为 Ubuntu 16.04。

安装 steamcmd

steamcmd 可以用来下载 steam 上许多游戏的服务端软件。安装过程同官方文档,注意先安装依赖,过程略。

安装 sven

安装好 steamcmd 后,可以通过命令运行它:./steamcmd.sh (如果按照文档的命令安装,就不要运行这条命令了)。

待出现 Steam> 字样后 steamcmd 便已启动完成,可以输入命令安装 sven 了。

安装命令在 sven 文档中也已提供:steamcmd +login anonymous +force_install_dir "C:\SvenDS" +app_update 276060 validate +exit,这条命令好象直接在终端运行就好了,不需要打开 steamcmd,我没试过

我个人是打开 steamcmd 后依次执行命令安装的,安装的时候没注意到 sven 已经提供了命令。我在 steamcmd 中输入的命令与文档提供的命令差不多,就是按照 + 把一条命令拆分成多个命令。每个 + 后面的命令都依次执行了一遍,也就是:login anonymous force_install_dir [安装路径] app_update 276060 validate exit。执行完最后一条 exit 命令 steamcmd 也就关闭了。注意以上命令是在 steamcmd 中输入的,不是在终端中输入。

运行 sven 服务器

安装完后,参考官方文档提供的参数,启动服务器:./svends_run -console -port 27015 +maxplayers 12 +map [地图] +log on

刚开始启动的时候报错

1
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

安装 lib32stdc++6 解决了这个问题:apt-get install lib32stdc++6

之后又有新的问题:

1
libssl.so.1.1: cannot open shared object file: No such file or directory

这个问题要安装 libssl1.1:i386 才能解决。我在这里折腾了很久才最终成功。先是安装了 openssl1.1 然后装了这个,最后成功运行服务器。同时要注意的是防火墙要开启三个端口:27015 UDP 27015 TCP 26900 UDP