提示:阅读本文可能须要命令行操做基础。 |
主机配置html
操做系统 | CentOS 6.5 64位 |
CPU | 1核 |
内存 | 1GB |
系统盘 | 20GB(本地磁盘) |
数据盘 | 30GB(本地磁盘) |
公网带宽 | 1Mbps |
经过SSH登陆服务器linux
一、在主机控制台中将root用户的密码重置为经常使用密码c++
二、在本地使用PuTTY客户端链接服务器centos
设置以下:安全
涂蓝色处填写主机公网IP。默认窗口配色过于伤眼请自行修改。服务器
三、登陆app
login as: root
root@XXX.XXX.XXX.XXX.XXX's password:
Last login: Wed Mar 15 00:58:56 2017 from *delete*
[root@VM_130_240_centos ~]#
部署SteamCMD和L4D2服务端函数
一、安装32位运行库网站
因为是SteamCMD只支持32位运行环境,须要另外安装32位的C函数库和C++函数库。ui
yum install glibc.i686 libstdc++.i686
二、建立一个专用帐户
useradd -m steamcmd passwd steamcmd
切换用户:
su - steamcmd
从超级用户如root,切换到通常用户时无需输入密码。
三、下载SteamCMD
建立并进入SteamCMD的安装目录后,下载tar包。
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz --no-check-certificate
--no-check-certificate是不检查安全网站证书的参数。
解压:
tar -zxvf steamcmd_linux.tar.gz
四、启动SteamCMD
首次运行SteamCMD会下载一些文件,鉴于链接外网的速度,请重试一万遍或者换个时间段再试。反正下载成功后个人心里一直在默念草泥马。
./steamcmd.sh
五、下载Left 4 Dead 2 Dedicated Server
Left 4 Dead 2 Dedicated Server是L4D2服务端,Steam应用ID为222860。
匿名登陆Steam后下载,默认安装目录在/home/steamcmd/Steam/steamapps/common/Left 4 Dead 2 Dedicated Server。
同理,请重试一万遍,不过能够续传,我的以为比更新SteamCMD容易多了。
Steam>login anonymous Connecting anonymously to Steam Public...Logged in OK Waiting for license info...OK Steam>app_update 222860 validate
下载完成后执行quit退出SteamCMD。
经过SCP进行文件传输
一、使用WinSCP客户端远程登陆
新建站点,填写完毕后保存,登陆便可与服务器进行文件对拷。
二、配置服务器
Linux上的配置只需注意SourceMod和MetaMod须要下载Linux版本,其他的与Windows大同小异,暂且不表。
运行服务端
进入服务端的安装目录后运行服务端。基本命令以下:
./srcds_run -game left4dead2 +hostport 25252
可选参数:
+map <map>,设置首张地图,缺省为c1m1_hotel;
-secure,开启VAC验证;
-condebug,开启记录日志,在left4dead2文件夹下生成console.log记录文件;
+exec server.cfg,加载/left4dead2/cfg/server.cfg。
服务器IP就是你的主机公网IP,在L4D2客户端中打开控制台执行 “connect xxx.xxx.xxx.xxx:25252” 便可加入游戏。
持续运行服务端须要保持SSH链接,关闭SSH窗口后服务端随即关闭。
理解这个问题仅需明白进程树的概念,须要深刻理解可见参考资料第4条。
简单的命令能够用nohup命令解决,在当前状况下须要用到GNU Screen。
GNU Screen的安装和使用
一、安装
在root用户下安装Screen:
yum install screen
安装完成后切换到用户steamcmd。
二、使用
执行screen能够建立一个新新窗口,在screen窗口中可以使用 “ctrl+a ?” 查看全部命令。
使用 “ctrl+a d” 会使当前screen窗口分离(detach)为独立的会话。会话分离后即便断开SSH链接,原先在screen窗口中执行的命令会继续执行。
查看当前的screen会话并恢复:
[steamcmd@VM_130_240_centos ~]# screen -ls There is a screen on: 13235.pts-0.VM_130_240_centos (Detached) 1 Socket in /var/run/screen/S-root. [steamcmd@VM_130_240_centos ~]# screen -r 13235
三、在screen窗口中运行L4D2服务端并分离会话
建立一个名为 “l4d2_ds” 的screen会话:
screen -S l4d2_ds
在screen窗口中运行服务端后,使用 “ctrl+a d” 执行会话分离。
如今你能够关闭你的SSH窗口,服务端会继续运行。
服务器搭建完成。
附我的监控数据
我建的是八人多特感服务器,可见低端配置运行L4D2这破游戏仍是绰绰有余的。
参考资料
一、SteamCMD - Valve Developer Community
https://developer.valvesoftware.com/wiki/Steamcmd
二、Steam Application IDs - Valve Developer Community
https://developer.valvesoftware.com/wiki/Steam_Application_IDs
三、Source Dedicated Server - Valve Developer Community
https://developer.valvesoftware.com/wiki/SRCDS
四、Linux命令nohup+screen - iTech - 博客园
http://www.cnblogs.com/itech/archive/2012/03/04/2379523.html
五、linux screen 命令详解 - David_Tang - 博客园
http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html