大四毕业生,论文和答辩分别以1.8%的重复率和只答不辨的态度双双过关。现在就是在家等着学校发毕业证了。顺带学学驾驶。。。可是我这么一个喜欢折腾的人,怎么能够让自己接受这么无聊的咸鱼时光呢?因为这个寒假和学弟一起学习技术的同时接触到了CSGO的这款游戏,说起CS那可是老FPS游戏了!在官方匹配和5E我都有涉足,但是不满于此!我要搭建一个自己的服!务!器!这样开启自己的创意工坊地图小伙伴们就不会变成高Ping战士啦!这边参考了这位大佬的经验再加上我自己遇到的一些状况。
1.一台有公网IP的云服务器(或者你自己有公网IP,辣蒜你牛批)
2.Xshell
3.一个善于钻研的脑子
useradd -m steam // 添加名为steam的用户
su steam // 切换到steam用户
cd /home/steam/ // 切换到steam用户的根目录下
mkdir steamcmd //创建名为steamcmd的文件夹
cd steamcmd/ // 切换到文件夹目录下
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz //下载steamcmd
tar zxvf steamcmd_linux.tar.gz // 解压steamcmd
rm steamcmd_linux.tar.gz //删除下载的安装包,也可以保留
sudo yum install glibc.i686 // 安装steamcmd运行所需的库
sudo yum install libstdc++.i686 // 有的主机已经安装其他同样效果的依赖,不用多次安装
./steamcmd.sh // 启动
login anonymous
force_install_dir ./csgo_server
app_update 740 validate
quit
vi update.txt
login anonymous
force_install_dir ./csgo_server
app_update 740
quit
vi csgo_server_update.sh
#!/bin/bash
./steamcmd.sh +runscript update.txt
./csgo_server_update.sh
chmod 775 csgo_server_update.sh
在App ID中填入CS:GO的ID:730。备忘录中填入:CSGO服务端令牌(选填)
cd csgo_server/csgo/cfg/
wget http://www.csgodev.com/downloads/server.cfg
vi server.cfg
// 新增以下参数:
// steam account,修改为自己刚刚申请的登陆令牌
sv_setsteamaccount "4FXXXXXXXXXXXXXXXXXXXXXXXXX"
// 找到并修改以下参数:
// 服务器名称,安全方面
hostname "Fisher's server" // 服务器在社区服务器浏览器上显示的名称,自行修改为喜欢的名字
rcon_password "12345678" // CS:GO远程控制台密码,修改为自己定义的密码
sv_password "87654321" // 服务器连接密码,在连接服务器时输入,不要密码可以留空
// 游戏参数方面
sv_maxrate "128000" // 服务器最大带宽使用量,默认值非常小,因此会造成choke值异常,此处建议改为128000
sv_minrate "80000" // 服务器最小带宽使用量,与上面同理,此处建议改为80000
sv_accelerate "5.5" // 人物移动速度,默认值为10,快到恶心,此处建议修改为5.5
各个云服务器有各自的手段,这个自行解决一下
yum install screen -y
cd /home/steam/steamcmd/csgo_server/
screen -S csgo
./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +map de_dust2
参数解释:
-debug 开启调试模式
-game 指明游戏,此处是csgo
-console 打开游戏控制台
-port 游戏服务器端口,此处是27015
-steamcmd_script 运行steamcmd的脚本文件地址
-steam_dir Steam的安装地址
+map 服务器加载的地图(此处只能用官方地图,创意工坊地图请看后面)
前往Steam网页API注册页面注册API,获得Authkey(注意不要泄露出去)
在浏览器打开你中意的创意工坊地图,看地址栏后id=XXXXXX,记得复制他
在csgo_server文件夹中输入命令
./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +host_workshop_map 465367694 -authkey 3XXXXXXXXXXXXXXXXXXXXXXX
相同的参数在之前有解释,这里只解释新的参数:
+host_workshop_map 465367694 切换地图为来自创意工坊的地图,后面的数字填入刚刚获取的地图ID
-authkey 3XXXXXXXXXX Steam网页API的Authkey,填入刚刚获取的API Authkey
这边我总结一下自己遇到的情况,我在启动过官方地图后再启动创意工坊地图就直接连接失败。试了很多次。所以如果出现问题后,直接将你的服务器reboot或者init 6一下。然后重新启动你的CSGO Server直接开启创意工坊地图,等待片刻,然后再连接即可!
使用Screen使得CSGO Server常驻之后可以断开SSH连接,下次连接SSH时
screen -r csgo
可以继续操作服务端了。
附:(一些常用的CSGO Server指令)
切换地图
changelevel de_train(地图名或者创意工坊地图的ID)
所有官方地图
PENDING: (fs) training1.bsp
PENDING: (fs) gd_rialto.bsp
PENDING: (fs) gd_cbble.bsp
PENDING: (fs) dz_sirocco.bsp
PENDING: (fs) dz_junglety.bsp
PENDING: (fs) dz_blacksite.bsp
PENDING: (fs) de_vertigo.bsp
PENDING: (fs) de_train.bsp
PENDING: (fs) de_sugarcane.bsp
PENDING: (fs) de_stmarc.bsp
PENDING: (fs) de_shortnuke.bsp
PENDING: (fs) de_shortdust.bsp
PENDING: (fs) de_safehouse.bsp
PENDING: (fs) de_overpass.bsp
PENDING: (fs) de_nuke.bsp
PENDING: (fs) de_mirage.bsp
PENDING: (fs) de_lake.bsp
PENDING: (fs) de_inferno.bsp
PENDING: (fs) de_dust2.bsp
PENDING: (fs) de_chlorine.bsp
PENDING: (fs) de_cbble.bsp
PENDING: (fs) de_canals.bsp
PENDING: (fs) de_cache.bsp
PENDING: (fs) de_bank.bsp
PENDING: (fs) de_anubis.bsp
PENDING: (fs) cs_office.bsp
PENDING: (fs) cs_militia.bsp
PENDING: (fs) cs_italy.bsp
PENDING: (fs) cs_assault.bsp
PENDING: (fs) cs_agency.bsp
PENDING: (fs) coop_kasbah.bsp
PENDING: (fs) ar_shoots.bsp
PENDING: (fs) ar_monastery.bsp
PENDING: (fs) ar_lunacy.bsp
PENDING: (fs) ar_dizzy.bsp
PENDING: (fs) ar_baggage.bsp