掐指一算..个把月没写博客了。春节之前忙如狗,一直没空去研究东西。前几天几个朋友拉着我玩了几把求生之路2(left4dead2),重回经典。可是无奈我们几个的网络似乎都不怎么稳定,无论是谁当主机另外两个人都有很大的几率无法连接上,所以组队就花了快一个小时,还是在仅有的晚上休息时间里抽出来的。 突然想到steam有一个命令行的客户端,可以在Linux上运行游戏的服务端,而自己手头上就有服务器,这不刚好?
有了想法就开始实践,刚好这几天不怎么忙,于是花了点时间,在自己的阿里云服务器上搭建好了。试了一下,延时稳得令人发指,小伙伴们也可以秒连接上来了。而且开服务端有个好处就是,只要服务端启用了插件,那么所有连接上来的玩家都可以享用这个插件的效果。话不多说,我们开始吧。
本地搭建所使用的是LGSM(Linux Game Server Managers),官网:https://gameservermanagers.com/ github地址:https://github.com/GameServerManagers/LinuxGSM
本文参考文章:https://gameservermanagers.com/lgsm/l4d2server/
LGSM的介绍:
LinuxGSM is the command line tool for quick, simple deployment and management of dedicated game servers.
Hassle-Free Dedicated Servers
Game servers traditionally are not easy to manage yourself. Admins often have to spend hours just messing around trying to get their server working. LinuxGSM is designed to be a simple as possible allowing admins to spend less time on management and more time gaming.
Main features
- Backup
- Console
- Details
- Installer (SteamCMD)
- Monitor
- Alerts (Email, Pushbullet)
- Update (SteamCMD)
- Start/Stop/Restart server
Compatibility
The Linux Game Server Managers are tested to work on the following Linux distros.
- Debian based (Ubuntu, Mint etc.).
- Redhat based (CentOS, Fedora etc.).
Other distros are likely to work but are not fully tested.
翻译一下大致的意思就是可以更加方便的管理游戏服务端,提供各种一键端的功能,同时,LGSM还支持70+游戏的服务端一键安装。
准备工具:xshell 、一台独立IP服务器(最好是国内的)、 centos7系统
一、安装依赖环境
用xshell连接上你的机器,root登陆,执行
yum -y install mailx postfix curl wget gzip bzip2 python tmux glibc.i686 libstdc++ libstdc++.i686
中间没问题的话就安装好了。
二、新建一个用户
因为steamcmd在root用户下无法运行(安全考虑),因此我们需要创建一个普通用户来执行这个游戏的服务端。
adduser xiaoweigod su xiaoweigod
至此我们完成了用户添加,并将当前用户切换到了新添加的用户。
三、安装LGSM和求生之路2服务端
cd ~ wget https://gameservermanagers.com/dl/l4d2server chmod +x l4d2server ./l4d2server install
接下来有提示的地方直接按Y。等待下载安装(国内的主机下载可能有点慢或者不稳定,耐心等待)
安装完成示意图:
至此服务端安装完毕。
四、启动服务端
关闭防火墙
su root 输入密码 service firewalld stop
或者服务器运营商提供有安全组的,那么请把安全组中的27015端口开放TCP和UDP。
安全组配置如图:
然后进入~目录,启动服务端
su xiaoweigod cd ~ && l4d2server st
五、游戏中连接服务器的方法
如图,进游戏后选项-键盘/鼠标-打开允许使用控制台
然后按 ~ 打开控制台,输入 connect xxx.xxx.xxx.xxx(你的服务器IP地址)
如果没配置错误就能连进去了。
同样,你可以直接邀请小伙伴或者,让小伙伴通过控制台连进来。
六、服务端的使用问题
1.常用命令如下:
./l4d2server st //启动服务端 ./l4d2server sp //停止服务端 ./l4d2server r //重启服务端 ./l4d2server c //进入服务端控制台
2.服务端的配置文件位置: ~/serverfiles/left4dead2/cfg/l4d2-server.cfg
里面可以更改服务器名字、远程密码等,也可以放控制台指令,可以自动执行。
3.关于国内主机IP获取失败的解决方法:修改~目录下的l4d2server文件,如图,将IP地址改成内网IP
4.修改默认地图:如上图,修改defaultmap后面的地图就可以了,格式是地图代码+地图名。
5.sm开头的命令无法识别的问题:需要安装sourcemod插件,请看我下一篇博文。
6.私人服务器开启的方法
首先新建一个steam组,然后进组的管理界面,查看组ID:
然后编辑 ~/serverfiles/left4dead2/cfg/l4d2-server.cfg,后面加上这么一段:
sv_steamgroup "xxxxxx" //修改为你的组号 sv_steamgroup_exclusive 1
然后把小伙伴拉进组就可以玩了。
更多功能命令需要安装sourcemod才能实现,请查看我下一篇博文
https://www.xiaoweigod.com/network/1473.html
附.地图代码大全
<死亡中心>
c1m1_hotel
c1m2_streets
c1m3_mall
c1m4_atrium
<黑色狂欢节>
c2m1_highway
c2m2_fairgrounds
c2m3_coaster
c2m4_barns
c2m5_concert
<沼泽激战>
c3m1_plankcountry
c3m2_swamp
c3m3_shantytown
c3m4_plantation
<暴风骤雨>
c4m1_milltown_a
c4m2_sugarmill_a
c4m3_sugarmill_b
c4m4_milltown_b
c4m5_milltown_escape
<教区>
c5m1_waterfront
c5m2_park
c5m3_cemetery
c5m4_quarter
c5m5_bridge
以下官方地图需要升级至牺牲以上版本:(2105版本可以无视这条)
<消逝>
c6m1_riverbank
c6m2_bedlam
c6m3_port
<牺牲>
c7m1_docks
c7m2_barge
c7m3_port
<毫不留情>
c8m1_apartment
c8m2_subway
c8m3_sewers
c8m4_interior
c8m5_rooftop
<坠机险途>
c9m1_alleys
c9m2_lots
<死亡丧钟>
c10m1_caves
c10m2_drainage
c10m3_ranchhouse
c10m4_mainstreet
c10m5_houseboat
<寂静时分>
c11m1_greenhouse
c11m2_offices
c11m3_garage
c11m4_terminal
c11m5_runway
<血腥收获>
c12m1_hilltop
c12m2_traintunnel
c12m3_bridge
c12m4_barn
c12m5_cornfield
<冷流>
c13m1_alpinecreek
c13m2_southpinestream
c13m3_memorialbridge
c13m4_cutthroatcreek
老大,如果是Windows sever 2012系统的话怎么安装
emmmm..在steam工具里面找l4d2的server 配置一下运行就行了
搭建这个服务器最低配置和推荐配置能给一下吗
用1核1G1M带宽的云服务器即可
评论多级回复怎么写的啊
./l4d2server: line 1: syntax error near unexpected token `newline’
./l4d2server: line 1: `’
用你提供的脚本,报了刚刚的语法编码错误,自己用官方的来生成,跑起来了。不过又新的[ FAIL ] Install l4d2server: tmuxception error: Sorry Cobb you cannot start a tmux session inside of a screen session.记录下明晚再搞。
Console logging disabled: Bug in tmux 1.8 breaks logging。yum安装提供的只有1.8,刚看文档说1.8有bug,明晚再弄了- -!
– -! 小伙子很有耐心
终算都弄完了,我是装在一个docker容器里的。一开始用客户端连接,提示我升级客房端。升级后一连接就闪退,服务端也没留下日志,不知是什么原因。请问博主,客户端是需要正版的吗?
当然是需要正版的。不然不兼容服务端
小伟,为啥我用国内阿里云上海的服务器搭建可以直接使用connect+ip 连接,但是用阿里云新加坡的就不行,我用电脑能ping通,且用这个服务器搭的网站也能访问,相关的端口我都开了。
自制图和第三方图怎么用