CSGO服务器架设指南
“GOGOGO”最近我身边的小伙伴们都拉我打CSGO,还想打内战……然后就让我架设一个社区服务器。讲真,架设社区服务器的坑挺多的,我会在文中尽量把我架设服务器的过程给叙述完整,帮助你们,同样也帮助我在我忘记的时候回想起来
废话不多说,让我们开始吧(干货警告)
你需要准备:
一台有公网IP的服务器
一个Steam账号(无任何的VAC记录,没有社区违规记录)
我这里使用的是阿里云的轻量应用服务器(Ubuntu 18.04 LTS),如果你也想使用阿里云,但是没有阿里云账号,可以到下边的这个链接进行注册(顺带帮我填一下邀请码秋梨膏)
https://www.aliyun.com/minisite/goods?userCode=05u8nbft
然后可以到阿里云云翼计划购买轻量应用服务器(下面的云服务器ECS),亲测一个服务器10个人带的动没啥问题
Linux搭建方法
Steamcmd下载
首先,你需要下载Steamcmd,这是一个Steam的官方软件,关于它的详细信息,你可以在这里找到(V社官方WIKI,无需梯子)
自动安装
如果你的服务器是64位的Linux系统,你需要运行以下命令安装32位的运行库
1 | $ sudo add-apt-repository multiverse |
然后就可以直接使用
1 | $ apt install steamcmd # Ubuntu用户 |
或者
1 | $ yum install steamcmd # CentOS用户 |
来安装Steamcmd,如果你更新了yum库或者apt库仍然提示未找到steamcmd包,那么你可以使用手动安装的方法
手动安装
手动安装就是自己从V社的官方服务器中获取可执行文件,当然在这之前,你还是需要安装32位的运行环境
Ubuntu
1
$ sudo apt-get install lib32gcc1
CentOS X86
1
$ yum install glibc libstdc++
CentOS X64
1
$ yum install glibc.i686 libstdc++.i686
安装完运行库后,我们需要下载steam官方的软件包
1 | $ curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - |
使用上面这一条命令下载软件包,解压后应该有个steamcmd.sh
和一个文件夹。我们直接运行steamcmd.sh
1 | $ bash steamcmd.sh |
然后它会进入更新状态,就像是你平常打开Steam的那个小白窗
等它最后显示为Steam>
并且是输入状态的时候,它就完成了更新。至此,你就完成了Steamcmd的安装
按照steam官方的意思,他们不推荐使用root账户来运行steamcmd(我也不知道为什么),然而我实际上用root账户开下来也没有什么不妥的地方,所以是否使用root账户取决于你们自己吧
CSGO服务器安装
在这之前,请确保你的服务器装得下CSGO的所有文件,服务端的大小跟客户端没差多少,请确定你的服务器有那么多的空间!!!
我们在Steamcmd里面输入login anonymous
来进行匿名登录
1 | $ Steam>login anonymous |
当然你也可以使用你自己的账号登录
1 | $ Steam>login :Steam_Account :Password :Steam_Guard |
其中,:Steam_Account
是你的Steam登录名,:Password
是你的密码,:Steam_Guard
是你的Steam令牌,如果你是使用邮箱令牌的,那你可以不加上令牌,先发出登录请求,等Steam执行了登录以后会让你输入你的邮箱验证码的
登录完成后,我们的Steamcmd就正式接入了Steam网络了。我们需要安装CSGO服务器
1 | $ Steam>app_update 740 validate |
用上面的命令来安装CSGO服务器,740
是CSGO服务器这款应用在Steam的注册ID,validate
是文件验证,初次安装需要进行文件验证,以后升级可以直接使用
1 | $ Steam>app_update 740 |
来进行升级。如果你的服务器不够空间,会给你报错,你可以先退出Steamcmd,在linux的命令行中使用
1 | $ df -h |
来查看你的空间是否足够,一般来说需要查看最右边Mounted on
的/
这一个目录的剩余,Avail
就是这个目录剩余的空间。
当你输入命令安装CSGO服务器后,Steamcmd会进入安装状态等到最后提示Successfully installed
即为安装完成,你的CSGO已经被安装在了./steamapps/common/Counter-Strike Global Offensive Beta - Dedicated Server
里面了
如果你觉得它太长了,你可以使用
1 | $ Steam>force_install_dir :dir |
来安装到你觉得合适的地方,请将:dir
换成你要的目录,并且在app_update
前执行!
配置服务器
安装完了以后,我们就要进行服务器的配置。CSGO服务器默认的配置很令人头疼的:竞技模式、TK开启、TK惩罚等等等等,各种不方便的东西都有。我们需要修改服务器的配置
CSGO也给我们提供了很方便的方法修改服务器,我们可以使用一个文件进行修改。
我们在CSGO服务器目录下的./csgo/cfg
文件夹中新建一个文件叫做server.cfg
,然后在这里面修改我们需要的配置。我先贴出我的配置
1 | rcon_password "" // OP 密码 |
其中很多内容我都注释好了,其实这个配置文件也是我从网上找来然后进行修改得出的。其中有几个比较重要的参数:
rcon_password
管理员密码,在控制台可以输入密码使用管理员权限,就不需要在后台使用指令
hostname
服务器名称,记得一定要修改,之前翻社区服务器的时候发现很多没修改的都是写着Counter-Strike Global Offensive的
sv_password
玩家加入需要的密码,填入了就会加密你的服务器,只有输入正确的密码才能够进入
sv_setsteamaccount
社区服注册秘钥,这个一会会说
调整完了你的配置文件,将文件命名为server.cfg
,然后放入上面所说的那个./csgo/cfg
文件夹中即可
接着我们就可以着手开启服务器了
开启服务器
关于服务器的开启,根据Steam的官方文档,我们需要安装一个叫做screen
的包,使用
1 | $ yum install screen |
或者
1 | $ apt-get install screen |
来安装,然后我们就进入到CSGO服务器文件夹的根目录,也就是./steamapps/common/Counter-Strike Global Offensive Beta - Dedicated Server
里面,使用
1 | $ screen ./srcds_run |
就可以开启服务器了,当然后面可以跟一些参数,例如我想关闭VAC验证(避免VAC无法验证您的回话
出现而无法加入服务器),那我就在后面加上-insecure
即可;或者说我想更改模式,我就可以使用+game_mode 1 +game_type 0
来进入竞技模式。
等到最后一行提示GC Connection established for server version xxxx, instance idx 1
的时候就是开完了(xxxx是版本号)
根据CSDN@Summer.LICY的反馈,启动时可能会出现Failed to open dedicated.so (libstdc++.so.6: cannot open shared object file: No such file or directory)
的情况,这种情况下我们需要使用
1 | $ apt-get install libstdc++.so.6 |
或者
1 | $ yum install libstdc++.so.6 |
来安装这个依赖库
关于模式,这里有一份较详细的表格(来源:Steam Developers官网)
Game Mode | game_type | game_mode |
---|---|---|
Casual (default) | 0 | 0 |
Competitive / Scrimmage | 0 | 1 |
Wingman | 0 | 2 |
Arms Race | 1 | 0 |
Demolition | 1 | 1 |
Deathmatch | 1 | 2 |
Custom | 3 | any (?) |
Guardian | 4 | 0 |
Co-op Strike | 4 | 1 |
Danger Zone | 6 | 0 |
注册服务器
当你直接开启服务器后,用connect ip:27015
进行连接会提示:仅限局域网连接,这就是没有注册服务器到社区服务器造成的结果。这就需要用到我刚刚所说的sv_setsteamaccount
这个配置。
我们访问Steam 社区 :: Steam 游戏服务器帐户管理这个链接,在这里登陆你的Steam账号(一定要没有VAC记录和社区违规记录!!!否则会无法注册)
官方Steam账号要求
- 您的 Steam 帐户目前不能处于社区封禁或锁定状态。
- 您的 Steam 帐户不能受限。
- 您的 Steam 帐户必须拥有一个[合格的注册手机](https://support.steampowered.com/kb_article.php?ref=8625-WRAH-9030&l=simplified chinese)。
- 您的 Steam 帐户必须拥有所创建游戏服务器对应的游戏。
- 您的 Steam 帐户可以创建 1000 个游戏服务器帐户。
然后我们在下面的APPID里面填入730
,备忘录按照自己喜好填,主要是用来区分不同的秘钥使用
然后将获得的秘钥放入sv_setsteamaccount
内即可,接着启动服务器,连接服务器,发现是不是可以连接了?
Windows搭建方法
其实Windows除了Steamcmd的安装跟linux不一样,其他都是一样的。Windows版的Steamcmd可以在这里下载https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
下载完后解压,通过命令行运行steamcmd,其余的方法都跟linux一样,可以从CSGO服务器安装开始看
题外话
我打CSGO是真的菜,讲真……而且CSGO开箱真的开不起,我还是做一名咸鱼玩家吧
不过话说回来我CSGO有狗牌(忠诚徽章)耶,应该是我唯一能炫耀的东西惹……
辣鸡腾讯,QQ里面拦截我的网站,申诉还说我有恶意信息……一会加客服QQ问