CS2服务器怎么搭建 CS2服务器搭建教程 2024-09-11 21:38:31 0 0 CS2服务器怎么搭建?这是cs2官方推出的服务器搭建方法,小编也只是将之转移过来,顺便告诉大家怎么更简便的完成这些教程,希望大家能够用上。 CS2服务器搭建教程: 1、准备debian系统 带公网IP的电脑或云服务器,安装debian-11.8 x64或debian-12 x64系统 注: ① 一定要有公网IP,其他玩家要根据公网ip来连接CS2服务器。如果没有公网IP,则CS2服务器只能在局域网内使用,有些软件能实现异地的虚拟局域网,或者内网穿透这些技术可能解决无公网IP的问题,需要自己探索学习,不要来问我 ② 服务器硬盘可用空间最好不低于40G(CS2游戏文件约35G,其他空间预留给游戏更新包、插件、Mod、第三方地图) 以我的一个40G硬盘的云服务器为例,在安装完debian系统和CS2服务器后,硬盘仅剩约1G可用空间,2023.10.3日V社推送一个3G的更新包导致硬盘爆满,无法增量更新,解决方法在4.4章节 ③ 建议安装无图形化界面的debian系统以节省资源开销,提高服务器性能 ④ 如果想购买云服务器,这是一些建议:硬盘可用空间不低于50G;CPU方面无法给出建议;内存不低于4G;网络带宽方面,csgo时代5Mbps满足10人对战,CS2时代的带宽要求更高,10人对战可能需要8Mbps甚至10Mbps带宽 2.2 下载安装FinalShell 下载页面:http://www.hostbuf.com/t/988.html FinalShell的功能介绍和用法请自行百度或在B站找教程,选择它作为ssh终端是因为能方便的监控CPU、内存、磁盘和网络等资源的使用情况,对新手比较友好且免费(也可以购买高级版支持一下作者) 在linux系统中,复制、移动、编辑文件都需要使用对应的命令来操作,对新手不太友好,可以通过FinalShell来进行这些操作 2.3 简单配置debian系统 2.3.1 更新apt源 使用FinalShell连接到debian系统,以root用户登录 更新apt源列表,命令:apt update 注: ① root用户本身具有管理员权限,因此执行命令时不需要加sudo,不过将命令写成sudo apt update也没问题 ② 对于国内的云服务器,例如百度云轻量应用服务器提供的系统镜像的apt源默认是百度镜像源,这样执行apt upgrade升级命令时的下载速度会很快;如果是从debian官网下载的系统镜像,它的apt源一般在国外导致下载速度较慢,请自行搜索更换apt源的方法 2.3.2 安装vim 安装vim命令:apt install vim -y 2.3.3 安装wget 安装wget命令:apt install wget -y 2.3.4 安装sudo 安装sudo命令:apt install sudo -y 2.3.5 新建一个普通用户 新建一个普通权限的用户aaa,命令:adduser aaa 然后输入两次密码,会提示填Full Name等信息,直接按回车键略过,最后输入y确认 注: 有些人觉得新建普通用户没啥用就跳过此步骤,全程用root用户来操作,表面上也能正常运行服务器,实则暗藏了很多隐患 2.3.6 为用户aaa添加权限 作为普通用户,aaa有时需要执行一些需较高权限的命令,切换root用户又麻烦,所以执行以下操作后,在命令前加sudo即可暂时拥有管理员权限 ① 给sudoers文件添加“写”权限,命令:chmod u+w /etc/sudoers ② 使用vim编辑sudoers文件,命令:vim /etc/sudoers 先按 i 键进入编辑模式,将光标移到要改写的位置输入内容,写完后按键盘esc键退出编辑模式,输入:wq执行保存和退出操作(w代表保存,q代表退出) ③ 撤销sudoers文件的“写”权限,命令:chmod u-w /etc/sudoers 注: 其实root用户可以直接编辑sudoers文件,最后用 :wq! 强制保存并退出即可,无需修改sudoers的写权限,但考虑到linux系统版本众多可能有不适用的情况,所以两种方式任选一种即可 2.4 申请CS2开服令牌 【提示:目前CS2服务器不需要开服令牌,此章节仅供参考】 与csgo时代搭建服务器相同,需要申请 Steam account token 并添加在server.cfg中,否则网络上的玩家无法连接到自己搭建的CS2服务器。在CS2服务器启动过程中,可以看到有添加token的提醒,如下图所示 V社已经给CS2专用服务器分配了 app id:2347773,但可能因为目前CS2服务器端和游戏端共用一套游戏文件,即共用 app id:730。截止于2023-12-25,是否添加token并不影响CS2服务器的运行 先放上申请token的链接(国内需开加速器打开链接)https://steamcommunity.com/dev/managegameservers 首次打开链接需在网页右上角登录steam账号 检查steam账号是否符合要求,如下图所示 若不满足要求,那就换个steam账号,如果你搭建CS2服务器后还会安装一些插件,例如全皮肤插件,那最好换手机号重新创建一个steam小号,因为无论VAC还是GSLT封禁,绑定同一个手机号/邮箱的steam号要连坐的 接下来看网页最下端,填写app id后就可以创建令牌,如下图所示 根据个人经验,新申请的令牌,如果在一周内没有使用,就会过期,如果曾经使用过令牌,一个月内没有再次使用,令牌也会过期,过期的令牌就失效了,需要重新申请。目前搭建CS2服务器并不需要令牌,可以不申请 如果有一天需要用到开服令牌,可以参考3.4或3.6章节的步骤来设置开服令牌 3 搭建CS2服务器 3.1 安装SteamCMD所需的依赖库 安装命令:apt install lib32gcc-s1 3.2 下载并安装SteamCMD ① 从用户root切换到用户aaa,命令:su aaa ② 在/home/aaa路径下新建Steam文件夹,SteamCMD相关的东西都放这里,命令:mkdir /home/aaa/Steam 注: SteamCMD相当于windows系统下的steam客户端,只不过它没有图形化界面,只能通过输入命令来执行各种操作 ③ 打开Steam文件夹,命令:cd /home/aaa/Steam ④ 下载SteamCMD安装包,命令:sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz 注: 首次使用sudo命令时,可能需要输入用户aaa的密码 ⑤ 解压并删除SteamCMD安装包,命令:tar xvf steamcmd_linux.tar.gz && rm steamcmd_linux.tar.gz ⑥ 保持当前路径/home/aaa/Steam,继续安装SteamCMD,命令:./steamcmd.sh 安装完成后,命令行会变成以Steam>开头 注: 需要升级SteamCMD程序时,执行步骤⑥即可自动更新升级SteamCMD ⑦ 退出SteamCMD,命令:quit 或 exit 3.3 下载并校验CS2服务器文件 ① 进入SteamCMD的安装目录,命令:cd /home/aaa/Steam 运行SteamCMD,命令:./steamcmd.sh 注:接下来步骤②③④⑤的操作均是在Steam>后输入命令 ② 指定CS2服务器文件的安装目录,命令:force_install_dir /home/aaa/Steam/cs2-ds ③ 使用匿名账号登录SteamCMD,命令:login anonymous 注: 也可以使用steam账号登录SteamCMD,命令格式:login 账号 密码 如果绑定了steam手机令牌,接下来还要输入steam令牌验证码 因为目前CS2的游戏端和服务器端使用的是相同的游戏文件,若使用自己的steam账号登录SteamCMD后,下载或更新CS2的同时也会将已订阅的创意工坊地图下载到CS2的服务器端,文件路径:/home/aaa/Steam/cs2-ds/steamapps/workshop/content/730/ ,这部分文件只是白白浪费服务器硬盘空间,因此建议匿名登录SteamCMD ④ 下载并校验CS2服务器文件,命令:app_update 730 validate 要下载的CS2服务器文件大小约35G,下图为安装成功的截图 ⑤ 下载和校验完成后退出Steam>,命令:quit 或 exit 注: ① 如果下载时报错,错误代码0x2,可多次重试下载或改天再试,可能是网络问题 ② 如果下载时报错:Error! app '730' state is 0x202 after update job.,错误代码0x202,原因是安装CS2的磁盘分区可用空间不足 3.4 配置server.cfg server.cfg文件里包含服务器的各种设置选项 ① 将当前目录切换到cfg文件夹,命令:cd /home/aaa/Steam/cs2-ds/game/csgo/cfg ② 编辑server.cfg文件,命令:vim server.cfg 写入以下内容(//之后是注释内容,可以不写): hostname "XXX's CS2 Server" //设置CS2服务器的名称 sv_region 4 //设置服务器区域为亚洲 sv_password "" //在引号内填写客户端连接服务器的密码,引号内不填就是不设密码 rcon_password "" //在引号内填写远程连接服务器控制台的密码,引号内不填就是不设密码 mp_autokick 0 //防止因 挂机、友伤、自杀 等原因被服务器踢出房间 sv_falldamage_scale 0 //关闭摔伤 mp_drop_knife_enable 1 //可以扔掉匕首 sv_cheats 1 //打开作弊 写入后按下键盘的Esc键,然后输入:wq即可保存并退出 注: ① 关于CS2服务器名称 hostname,目前还是无效状态,可以不写这条命令 ② 目前 rcon 功能还未开放,可以通过从github下载fake-rcon插件来实现 rcon 功能 ③ 可以在server.cfg中添加指令 host_workshop_map 来加载创意工坊地图,具体用法请参考我的另一篇专栏点击跳转 ④ 如果CS2服务器强制要求添加开服令牌,则可以加入指令:sv_setsteamaccount "xxxxxxxxxx" 也可在CS2服务器的启动项中添加开服令牌,参考3.6章节,效果是一样的 ⑤ 以上指令并非全都要写入的,可以根据个人需求增减,其他的指令请参考CS2官方社区文档: https://developer.valvesoftware.com/wiki/List_of_Counter-Strike_2_console_commands_and_variables 3.5 解决找不到steamservice.so的报错 根据V社的文档,linux系统下会遇到steamservice.so missing/failed to load的报错,如下图所示 以下是解决办法 ①打开用户aaa的目录,命令:cd /home/aaa 列出所有文件目录,命令:ls -al 查看有没有名为 .steam 的文件夹,如果有则检查它是否包含 sdk64 和 sdk32 两个文件夹,如果没有则按以下步骤继续操作 ② 创建并进入 .steam 文件夹,命令:mkdir .steam && cd .steam ③ 创建两个文件夹,命令:mkdir sdk64 && mkdir sdk32 ④ 创建第一个软连接,命令:ln -s /home/aaa/Steam/linux64/steamclient.so /home/aaa/.steam/sdk64 创建第二个软连接,命令:ln -s /home/aaa/Steam/linux32/steamclient.so /home/aaa/.steam/sdk32 3.6 启动CS2服务器 有两种方式启动CS2服务器 方式一(不推荐,因为每次启动服务器太麻烦) 打开指定目录,命令:cd /home/aaa/Steam/cs2-ds/game/bin/linuxsteamrt64/ 再输入命令: ./cs2 -dedicated -insecure -usercon -console -nomaster +port 27015 +map de_dust2 +game_type 0 +game_mode 0 +exec server.cfg -maxplayers_override 10 稍等片刻,看到GC Connection established for server version 2000168, instance idx 1,代表CS2服务器启动完成 方式二(推荐) 打开CS2服务器文件目录,命令:cd /home/aaa/Steam/cs2-ds 创建一个包含启动项的启动脚本,命令:vim start.sh,按下键盘的i键进入编辑模式,写入: /home/aaa/Steam/cs2-ds/game/bin/linuxsteamrt64/cs2 -dedicated -insecure -usercon -console -nomaster +port 27015 +map de_dust2 +game_type 0 +game_mode 0 +exec server.cfg -maxplayers_override 10 写入时注意每个启动项之间只能有一个空格 写入后按下键盘的Esc键,再输入 :wq 即可保存并退出 然后给脚本赋予可执行权限,命令:chmod +x start.sh 最后通过此脚本启动CS2服务器,命令:./start.sh 注: ① 注意要在云服务器的安全组或debian防火墙设置中开放27015端口 ② CS2启动项说明 -dedicated //起源2专用服务器(目前没有CS2专用服务器) -insecure //禁用VAC(-secure是启用VAC) -usercon //允许拥有rcon密码的人进行远程管理 -console //启用控制台输出(csgo时代的启动项,CS2里效果未知) -nomaster //隐匿服务器的公网IP(防止别人恶意攻击服务器) -debug //打开调试模式(csgo时代的启动项,CS2里效果未知) +port 27015 //服务器端口默认是27015,可更改端口号(要在服务器防火墙或安全组里打开此端口的TCP和UDP) +mapgroup mg_bomb //设置地图组为拆弹地图组 +map de_dust2 //设置默认打开的地图,这里de_dust2指炙热沙城2 +game_type 0 //设置game_type +game_mode 1 //设置game_mode +exec server.cfg //服务器启动时自动执行server.cfg -maxplayers 10 //设置服务器的最大玩家数量 -maxplayers_override 10 //设置服务器的最大玩家数量 +sv_setsteamaccount xxxxxx //CS2新增的一种添加开服令牌的方法,需将 xxxxxx 替换为自己申请的token -ip //设置CS2服务器ip(个人最痛恨的启动项,虽然它出现在CS2官方社区文档里,很多人从别的教程里抄来这个启动项导致无法连接CS2服务器,还要我来帮他排查问题!而我从来没用过这个启动项也不影响我运行CS2服务器。猜测docker里会用到) 备注:CS2官方社区文档给出的是 -maxplayers 启动项,但实测 -maxplayers_override 也能实现相同效果 ③ CS2游戏模式说明 休闲模式:game_type 0 game_mode 0 竞技模式:game_type 0 game_mode 1 搭档模式:game_type 0 game_mode 2 死亡竞赛:game_type 1 game_mode 2 自定义模式:game_type 3 game_mode 0 参考CS2官方社区文档:https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers#Game_Modes_.26_Types ④ CS2地图说明 【远古遗迹 Ancient】de_ancient 【阿努比斯 Anubis】de_anubis 【炙热沙城2 Dust II】de_dust2 【炼狱小镇 Inferno】de_inferno 【荒漠迷城 Mirage】de_mirage 【核子危机 Nuke】de_nuke 【死亡游乐园 Overpass】de_overpass 【殒命大厦 Vertigo】de_vertigo 【意大利小镇 Italy】cs_italy 【办公室 Office】cs_office 参考CS2官方社区文档:https://developer.valvesoftware.com/wiki/Counter-Strike_2/Maps ⑤ csgo地图组说明 mg_bomb //拆除地图组 mg_casualsigma //炸弹拆除地图组I号 mg_casualdelta //炸弹拆除地图组II号 mg_hostage //人质解救地图组 mg_reserves //后备生涯地图组 mg_demolition //爆破模式地图组 mg_armsrace //军备竞赛地图组 这是csgo的地图组,有一部分不适用于CS2。CS2服务器启动项中可以不指定地图组,指定地图名和游戏模式即可 3.7 关闭CS2服务器 在服务器端输入命令:quit 或 exit 3.8 向CS2服务器添加创意工坊地图 这部分我单独写了专栏,点击此处跳转 4 日常使用 4.1 启动CS2服务器 启动方法在本文3.6章节,根据地图和游戏模式来调整启动项 4.2 玩家连接CS2服务器 玩家在CS2游戏的控制台输入连接指令:connect xx.xx.xx.xx:27015 如果在服务器端server.cfg中设置了连接密码,则连接指令变为:connect xx.xx.xx.xx:27015;password xxx 注: ① 这里的 xx.xx.xx.xx 要替换为服务器的公网ip,同时将27015替换为启动项中指定的端口号,将 xxx 替换为连接密码 ② 第一次连接成功后电脑会记住密码,以后的连接指令里可不写;password xxx ③ 如果使用的是默认的27015端口,连接指令里可以不写:27015 ④ 如果玩家连接失败,请再检查连接指令是否写错,同时检查服务器端是否有开放指定的端口号,或者CS2的服务器文件需要更新 4.3 更新CS2服务器文件 如果玩家连接CS2服务器时出现客户端已过期之类的弹窗,其实是CS2服务器文件需要更新。有两种方式更新CS2服务器文件,原理是相同的 【备注】目前CS2服务器更新后,像server.cfg这种修改过内容的文件可能会被还原为初始内容,因此升级更新前请做好备份 【方式一】 按本文3.3章节的步骤,重新下载一遍CS2服务器文件(不是下载完整的CS2,只下载需要更新的部分) 【方式二】 在debian系统中,打开路径/home/aaa/Steam,确保能找到steamcmd.sh(如果没有,则按照本文3.2章节的步骤重新下载并解压),在同路径下创建一个脚本用来更新CS2服务器文件,命令:vim update-cs2.sh ,写入: #!/bin/bash ./steamcmd.sh +force_install_dir /home/aaa/Steam/cs2-ds +login anonymous +app_update 730 +quit 然后保存并退出 (说明一下,上面蓝色部分是两行命令,B站新版页面显示存在bug,如果你复制时中间多了空行或者第二行多了#号,请手动删除) 给脚本赋予可执行权限,命令:sudo chmod +x update-cs2.sh 以后每次需要更新CS2服务器时,就先打开路径 /home/aaa/Steam 再执行检查更新的命令:./update-cs2.sh 4.4 解决硬盘可用空间不足的问题 首先说明一下CS2的更新机制:假如更新包为2G,硬盘可用空间为800M,CS2更新时会先删除一部分旧文件腾出一部分空间,再下载安装一部分新文件,然后再删除一部分旧文件,如此循环进行,也就是说当硬盘可用空间比更新包小的时候,也是有可能完成更新的 如果更新过程中确实因为可用空间不足而报错,有以下两种解决办法 【方法一】完全删除CS2服务器文件,再重新下载安装 【方法二】熟悉linux系统的可以卸载一些不需要的软件以腾出空间;也可以打开CS2的服务器文件目录:/cs2-ds/game/csgo/maps/ 删除几个官方地图,也能腾出一部分硬盘空间,等CS2完成更新后,执行本文3.3章节的步骤,对CS2服务器文件进行完整性校验(主要是 validate 这个命令),这样就可以把缺失的地图重新下载回来 4.5 后台运行CS2服务器的方法 4.5.1 安装screen Screen是能防止网络异常中断和同时控制多个远程终端窗口的程序,使用screen启动服务器的好处是即使断开FinalShell与debian的远程连接,CS2服务器仍可继续运行 安装screen,命令:sudo apt install screen -y 4.5.2 新建托盘 新建一个托盘用来运行CS2服务器,命令:screen -S cs2 注: “cs2”是托盘名称,可按自己喜好来命名。为防止多个托盘名字相同,系统会给托盘名称前面添加id,示例:4764.cs2 4.5.3 启动CS2服务器 启动方法在本文3.6章节 4.5.4 将CS2服务器切换到后台运行 方法:键盘上先按Ctrl+A,再按Ctrl+D 4.5.5 打开指定托盘 命令:screen -r cs2 如果只有1个托盘,命令简化为:screen -r 4.5.6 查看现有的所有托盘 命令:screen -ls 4.5.7 关闭指定托盘 命令:screen -S 4764.cs2 -X quit 4.5.8 查看screen的所有指令 命令:screen -h 总结: 以上这些内容就是特玩网小编给大家搜集来的关于CS2服务器搭建教程的介绍,希望您能喜欢,如果您想了解更多有关于cs2的消息,欢迎现在就来特玩网csgo专区搜索查找。 收藏(0)