搭建求生之路游戏服务器中遇到了挺多坑,以此文做记录。



一、安装 SteamCMD

  1. Ubuntu(以下使用root用户执行):

add-apt-repository multiverse
dpkg --add-architecture i386
apt update
apt install lib32gcc1 libsdl2-2.0-0:i386
apt install steamcmd

如果插件用到 mysql 等服务,需要再安装:

apt install lib32z1

为了断开 ssh 连接后仍保持服务器运行,先安装 tmux:

apt install tmux

2. 新建用户并切换到新用户:

adduser l4d2
su l4d2

二、下载求生之路2服务端

cd ~
steamcmd

匿名登陆服务器:

Steam > login anonymous

指定下载目录(绝对路径):

Steam > force_install_dir /home/l4d2/l4d2

下载:

app_update 222860 validate

完成后输入 quit 退出

三、配置服务器

  1. 服务器配置文件

vim l4d2/left4dead2/cfg/server.cfg

参考配置文件:http://mlui.ys168.com/ ,服务器相关-server.cfg

2. 运行服务器:

cd ~ && ./l4d2/srcds_run -game left4dead2 +exec server.cfg +hostport 6666

参数说明:

-game:left4dead2 指定游戏为L4D2
-secure:开启VAC / -insecure:关闭VAC
-condebug:开启记录日志,在left4dead2文件夹下生成console.log的记录文件
+hostport 6666:指定服务器端口为6666
+exec server.cfg:加载 server.cfg
+maxplayers 16:设置最多人数
+map c1m2_streets:设置首张地图

大坑:

  1. 可能会提示找不到 steamclient 等错误,可忽视;
  2. 指定端口后需要到阿里云后台放行该端口(包括TCP和UDP);
  3. 如果安装了 virtualmin 等管理软件,即便阿里云放行了也不够,需要到 virtualmin 里面新增放行规则!

四、插件

  1. SourceMod、Metamod、L4DToolZ 插件

安装详情请查看:https://github.com/HMBSbige/SouceModPlugins

2. 服务器 tickrate

下载:https://github.com/Satanic-Spirit/Tickrate-Enabler/

服务器 server.cfg 中新增:

sm_cvar sv_minrate 100000
sm_cvar sv_maxrate 100000
sm_cvar sv_minupdaterate 100
sm_cvar sv_maxupdaterate 100
sm_cvar sv_mincmdrate 100
sm_cvar sv_maxcmdrate 100
sm_cvar sv_client_min_interp_ratio -1
sm_cvar sv_client_max_interp_ratio 1
sm_cvar nb_update_frequency 0.015
sm_cvar net_splitrate 2
sm_cvar net_splitpacket_maxrate 50000
sm_cvar fps_max 0

服务器启动新增参数 -tickrate 100,即:

cd ~ && ./l4d2/srcds_run -game left4dead2 +hostport 6666 -tickrate 100 +exec server.cfg


参考资料:

  1. SteamCMD
  2. Ubuntu下搭建求生之路2服务器
  3. Linux搭建求生之路2服务器端之CentOS
  4. 7日杀服务器搭建 – Linux
  5. Left 4 Dead 2 Dedicated Server Guide (Detailed)
  6. eclipse创建android项目出现error libz.so.1: cannot open shared object file:No such file or directory