0%

CSGO联机的小事儿

CS:GO 联机的那些事儿

CS也是一款相当经典的枪战游戏了,这几天琢磨了一些联机的事情,这里汇总一下。

局域网联机

搜到的资料大都不太全,并且是很老很老版本的CSGO,甚至是CS1.6版本,若是硬件条件满足的话,CSGO的体验会好一些。

局域网联机需要一个人打开“机器人练习赛”,然后打开任意地图,另外一个人在控制台输入 “connect x.x.x.x”,x.x.x.x 为先打开地图的人电脑的IP。

打开控制台需要在 设置/游戏设置/游戏/启用开发者控制台/是 ,然后按下 “`”,就是波浪线上的那个键。

远程联机

远程联机最方便的应该是官方匹配,不过我等菜鸡打官服总是一露面就被打死,对新手不太友好。那么我想与某个好友远程联机打机器人的话需要怎么办?

V 社官方提供了搭建CSGO服务器的办法:https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers

大多数时候按照这个链接做就可以了。建议先看官方的文档,我这里可能没有遇到某些问题。下面分为Windows和Linux两个平台讲述。

Windows

无论是Windows还是Linux,首先我们都需要安装 steamcmd ,对于Windows,可以直接下载https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip,解压到任意非Steam目录的文件夹,这里用D:\steamcmd做示范。
使用命令提示符(CMD),切到这个文件夹,直接输入 steamcmd ,然后输入 login anonymous ,也就是匿名登录,steamcmd 实际上是用来下载CSGO服务端(实际上也是Steamapps目录里面的客户端,猜测是服务端添加了某些启动参数),然后输入force_install_dir D:\csgo\,接着输入app_update 740 validate,这里的740指的就是CSGO,V设还提供了其他游戏的服务端,找对应的appid就可以。输完这个命令之后steamcmd就会把服务端下载到D:\csgo\,大小约20GB,用时看网速。

下载好之后输入quit即可退出当前终端。

然后进入D:\csgo\,输入srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2即可开启一个服务器,这个时候局域网已经可以连接了,但是我们的目标是远程联机的话,还需要更多的参数。

这里参考了另外一个网站:https://steamcn.com/t372733-1-1,但是这个链接的内容有误,按照里面给出的参数输入后没法连接。

上面的命令行仅支持LAN(局域网)连接,服务端判断局域网的条件是IP段为10.0.0.0-10.255.255.255,172.16.0.0-172.31.255.255,192.168.0.0-192.168.255.255。远程联机的时候,服务器需要运行在一台能在公网访问的电脑上,那么IP并不是这一段。我们需要更多的参数。

这里我们需要前往https://steamcommunity.com/dev/managegameservers申请一个用于验证的密钥,或者token,或者令牌,指的都是那一长串字母。

拿到令牌之后,输入./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2 +sv_setsteamaccount XXXXXXXXXXXXXXXXXXXXXXXXXXXX -net_port_try 1 -nomaster -port 1234,这里的 XXXXXXXXXXXXXX就是你申请到的令牌。这个时候在游戏内通过控制台输入connect x.x.x.x:1234就可以连接了。

需要留意的是,使用Windows时,开服务器的电脑不能启动CSGO游戏实例,原因自然也是服务端实际上只是特殊形式的客户端,或者说客户端只是特殊形式的服务端,V社应该没有做双开。

Linux

Linux 相对 Windows 来说,可能是更多人会面临的搭建公网服务器的选择。
对于 Linux 系统,个人更加推荐首先阅读官方的教程。这里仅仅说一下大概的流程,先安装steamcmd,然后登陆steamcmd之后安装csgo的客户端(实际上也就是服户端,服务端的文件在steam里面直接安装的csgo的文件绝大部分是相同的,启动方式不太一样)。在启动的时候输入相应的启动参数,比如服务端的地图,难度,限制人数之类的快就可以启动了。

如果你有一个公网上运行的电脑倒是相当方便,和Windows几乎一样,如果没有的话,你需要弄一些端口转发之类的操作。