如何搭建一个 CSGO 竞技模式服务器? 您所在的位置:网站首页 csgo个人竞技模式指令代码 如何搭建一个 CSGO 竞技模式服务器?

如何搭建一个 CSGO 竞技模式服务器?

2024-04-15 18:18| 来源: 网络整理| 查看: 265

        本来是要录视频的,但是后来想想剪起来也麻烦,而且视频字太小,观众又老得停下来敲命令,不如我写成文字的,大家可以复制粘贴,还可以直接用手机看,避免了屏幕小看不清字的问题,比较方便。

 

环境要求

        一台 VPS(我使用的是阿里云轻应用服务器,学生优惠价每月 9.5 元,腾讯云和百度云也有类似的机器,价格差不多也在 10 块左右),或局域网的一台单独的机器。

        Ubuntu Server (我的环境是 16.04),或者其他你熟悉的 Linux 发行版。

简明扼要版流程,适合有 Linux 使用经验的同学

        参考这两篇文档。

https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers

https://github.com/splewis/csgo-pug-setup

略微详细一点流程,介绍下后面要做什么

        首先安装 steamcmd,用来更新游戏,然后使用 steamcmd 安装 CSGO 服务器程序,然后安装用来支持拼刀选边和队长选人等功能的插件。

详细的安装流程,适合没有 Linux 使用经验的同学(多图预警)

        接下来的过程可能会很繁琐,而且一定要小心不要输错了命令~

前期准备

        首先连接到你的 Linux 服务器,比如使用 putty。

32位版下载地址:https://the.earth.li/~sgtatham/putty/latest/w32/putty.zip

64位版下载地址:https://the.earth.li/~sgtatham/putty/latest/w64/putty.zip

        下载后解压到文件夹中,运行putty.exe。

        在这里输入你的服务器IP地址,然后点击Open。

        

        第一次连接到服务器会提示,是否信任服务器,点击“是”。

        

        在 login as 后面输入你在服务器上的账号名,在 password 后输入密码。

        

        登录成功后,你会看到类似这样的界面,可能文字会有区别,但是最后一行是以$结尾的,你可以输入命令的地方。

        在这里强调一下,不要按Ctrl+C、Ctrl+V来复制粘贴,在putty中粘贴直接点击鼠标右键就可以。

        输入命令“sudo apt update” 按回车即可,如果你的用户名是 root,请不要输入 “sudo”。

        如果你不是 root 账户,通常会提示你输入密码,输入刚才登录的密码(密码不会显示出来,但实际上是输入进去了的)按回车即可。

        然后输入“sudo apt install screen steamcmd unzip”,还是和刚才一样,如果你的用户名是 root,请不要输入 “sudo”。

        之后会出来很多字,最后可能会问你是否想要继续,输入”y”按回车即可。

安装 CSGO 服务器

        然后输入”vi update_csgo.txt”,按回车即可。画面会变成一个黑色的界面,绿色的光标,最下面有一行字,这时按下“i”,让左下角变成“—INSERT --”。

        如果刚刚这一步你不小心输入了一些字,或者按完”i”后习惯性的按了回车,先删除这些字。

        首先修改下面这段话中的“你的用户名“为你刚刚登录这台机器使用的用户名,如果用户名是root,则把这一行改成”force_install_dir /root/csgo_ds“,然后复制下面这段话,之后在黑框空白处点一下鼠标右键,这些内容就会被粘贴上去。

// update_csgo_ds.txt

//

@ShutdownOnFailedCommand 1 //set to 0 if updating multiple servers at once

@NoPromptForPassword 1

login anonymous

force_install_dir /home/你的用户名/csgo_ds

app_update 740 validate

quit

        然后按下ESC,画面此时没有任何变化,直接在键盘上输入“:wq”,就像这样,然后按回车。

        然后输入“steamcmd +runscript /home/你的用户名/update_csgo.txt”,还是,记得先把”你的用户名“换成你实际登录的用户名,或者 root 账户登录的同学直接输入” steamcmd +runscript /root/update_csgo.txt“。最后按下回车。

        然后程序就会自动开始更新CSGO,到这里先把电脑放在这里,去做些别的事情吧。

        等程序完成更新后会自动退出,当你看到又到了这个熟悉的可以输入命令的地方,就说明CSGO已经在你的服务器上安装好了。

        然后我们需要注册一个 Steam 游戏服务器账号,这个账号是为了说明这个服务器是谁开的,只有在服务器启动的时候附上这个服务器账号,我们的服务器才能在互联网上被玩家使用。同时,也作为日后 Valve 追责的证明,因为按 V 社的规定,服务器不能提供改皮肤等插件,这个服务器账号会关联到你的 Steam账号,如果有一天他们发现你违反了规定,可以通过这个账号找到你的 Steam 账号。如果你是在局域网里开服务器,那么可以跳过这一步。

        首先打开这个页面,登录你的 Steam 账号。

https://steamcommunity.com/dev/managegameservers

 

      一路拉到最下面,在第一个框里输入“730”,然后点击“Create”。之后,复制上面框(我打码的部分)的“Login Token”一栏的内容,这个就是你的服务器账号。

        一个最基本的CSGO服务器到这里就算搭建完成了,下面我们可以试一试,看服务器能不能正常运行。

启动服务器

        首先我们进入到csgo的文件夹里。输入“cd csgo_ds”,按下回车。

        如何运行一个竞技模式服务器呢?只需要输入“./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128 +sv_setsteamaccount 你的服务器账号 -net_port_try 1”即可。输入的时候注意,这里面有加号也有减号,不要搞混了,最好复制到记事本里,然后再改,最后粘贴到putty里。

        如果你只想搞局域网服务器,不需要互联网访问,就把最后面的“+sv_setsteamaccount 你的服务器账号 -net_port_try 1”换成 “+sv_lan 1”。

        记得然后把”de_dust2”换成你想玩的地图,比如“de_inferno”或者“de_mirage”之类的,然后把命令中的“你的服务器账号”换成你真实的服务器账号。

        如果你想要给服务器改个名字,让别人刚容易从国际服的社区服浏览器找到你的服务器,就在命令后面加上“ +hostname "随便什么名字但不能有空格" ”,服务器名字前后是有英文双引号的。

        如果你想给服务器加一个连接密码,这样就不会有路人加入进来,就在命令后面加上“ +sv_password "连接密码,不能有空格" ”,密码前后也是有英文双引号的。

        如果你想在服务器运行的时候,从你游戏里的控制台操作服务器而不是切出来到黑框里输入CSGO指令,那最好还设置一个 rcon 密码,在指令后面加上“ +rcon_password "指令密码,不能有空格" ” ,密码前后还是有英文双引号的。

        加了这一堆之后你的指令可能会很长,你可以先找个记事本什么的写完了在一起粘贴(还记得吗?在putty里粘贴是单击鼠标右键)进去。

        输入指令,按下回车,CSGO服务器应该就开始运行起来了。

        下面我以局域网服务器为例,运行截图给你们看一下。

        等到一堆字从屏幕上闪过,你看到最下面是这几个字的时候,CSGO服务器就已经启动了。

        如果是互联网服务器,大概是这个样子的。

        总之你看到最后两行是 VAC 启动或者没启动,GC Connection established 就可以了。这个时候就可以试着进入游戏连接服务器了。但是记得,千万别关 putty,如果关了服务器也会马上关掉的。后面我们会给出办法,让服务器可以一直运行,我们可以随意关掉 putty。

        怎么在游戏里进入我们刚配置好的服务器呢?有两种方法。

        第一种方法就是直接控制台连接,国服和国际服都可以用这种方法。打开控制台,在控制台中输入“connect 你服务器的IP地址; password 服务器的连接密码”就可以了。如下图所示。

        另一种方法只适合国际服玩家,打开社区服浏览器,首先打开社区服浏览器,找到“收藏夹“,然后点击右下角的”添加服务器“。

        然后输入IP,点击“添加此地址到收藏夹“。

        然后就可以在收藏夹找到你的服务器了,点击“连接“,输入密码即可。如果点了连接没有反应,可以点一下刷新,然后再连接试试。

        测试完成后关闭服务器,在 putty 中按下 Ctrl + C 就可以关闭服务器程序。

        好了,我们继续配置服务器,通过安装插件让服务器支持拼刀选边和队长选人。

        首先我们回到最开始的文件夹里。输入命令“cd ~”,按下回车。

        我们需要在服务器上安装三个插件。请用浏览器打开这个网站。

http://www.sourcemm.net/downloads.php?branch=stable

        右键点中间的小企鹅图标,选择复制链接地址。

        然后回到 putty 中,输入“wget ”,注意最后有个空格,然后按右键把复制的链接地址粘贴进去,然后按回车,这样就开始下载第一个文件了。

        第一个文件下载完成后,我们打开第二个网站。

http://www.sourcemod.net/downloads.php

        右键点击中间的小企鹅图标,复制下载链接。

        然后回到 putty 中,输入“wget ”,注意最后有个空格,然后按右键把复制的链接地址粘贴进去,然后按回车,这样就开始下载第二个文件了。

        第二个文件下载完后,打开第三个网页。

https://github.com/splewis/csgo-pug-setup/releases

        看到左边有绿色的“latest release”标志的版本,在下面的“Assets”里右键点击“pugsetup_版本号.zip”的链接,选择复制下载地址。

        然后回到 putty 中,输入“wget ”,注意最后有个空格,然后按右键把复制的链接地址粘贴进去,然后按回车,这样就开始下载第三个文件了。

        第三个文件下载完成后,我们开始安装,首先把刚才下载的三个文件解压。

        输入,“tar xf mmsource”,然后按下键盘上的制表符键(Tab键,有的键盘上标的是有两个小箭头一个往左一个往右),这时候你会发现刚才下载的文件的名字已经自动补全了。

        然后按下回车,这样第一个文件就解压好了。

        然后我们解压第二个,输入”tar xf sourcemod”,然后按制表符键,补全文件名,然后按回车。

        接着解压第三个,输入命令“unzip pugsetup”,然后制表符键,补全文件名,然后按回车。按了回车后会出现一大串字,不用管他。

        等到最后又到了可以输入命令的地方,三个文件就都解压好了。

        然后我们开始安装刚才解压好的插件。

        输入“cp -r addons/ csgo_ds/csgo/”,然后按下回车。

        然后输入“cp -r cfg/ csgo_ds/csgo/”,按下回车。

        接下来我们需要配置一下服务器的设置。首先输入“cd csgo_ds/csgo/cfg/”,按回车。

        然后输入“vi server.cfg”,按回车。

        然后,按“i”,等到左下角变成“—INSERT --”状态后,复制下这些内容,在黑框窗口点右键,把这些东西粘贴进去。

tv_enable 1

tv_delaymapchange 1

tv_delay 45

tv_deltacache 2

tv_dispatchmode 1

tv_maxclients 10

tv_maxrate 0

tv_overridemaster 0

tv_relayvoice 1

tv_snapshotrate 20

tv_timeout 60

tv_transmitall 1

        然后按下“ESC”键,输入“:wq”按回车,保存退出文本编辑工具。

        然后输入“cd ~”按回车,回到最开始的目录,我们来试一下服务器是不是已经可以正常运行了。如何启动服务器,请参考之前的“启动服务器”一节,这里不再赘述。

        进入服务器后,在聊天框输入.setup就可以看到,插件已经在工作了。

插件如何使用?

        第一个进入房间的人,或者发起人,或者这局比赛的管理员,在聊天框输入 ".setup" 进行比赛设置,包括选择地图、队长选人模式还是随机队伍、是否拼刀选边等。 然后输入".capt"指定队长。

        其他玩家准备好后聊天框输入".ready",如果要取消准备输入".unready"。

        拼刀局结束后,胜利方进行选边,输入".stay"就留在当前阵营,换到对面阵营输入".swap",或者直接输入".ct"和“.t”。

        如果要暂停比赛,聊天框输入".pause",取消暂停为".unpause"

        特殊情况,如果上述操作没有启动游戏(auto-live被禁用的情况下),输入".start"开始游戏

        如果要强制游戏结束,输入".endgame",这个操作只能由这句比赛的管理员进行。

        如果需要帮助,输入".help"

如何让服务器一直运行?

        之前我们运行服务器,必须手动输很长的指令,而且不能关掉 putty 的窗口,接下来我们想个办法,让服务器可以一直开着,同时以后启动不用输入这么长的指令。

        如何让服务器一直运行呢?这里我们用到一个工具 GNU Screen,我们之前已经安装过了,接下来我们使用它来让服务器能持续运行。

        首先我们还是先进入CSGO服务器的文件夹。输入“cd csgo_ds”然后按回车。

        还记得我们之前启动服务器的那一长串代码吗?我们在它的开头加上这样几个词就可以了。比如“screen -S “CSGO” 之前启动服务器的代码”,比如我的代码就是这样的。

        输入(按鼠标右键粘贴)“screen -S “CSGO” 你之前的启动服务器的代码“到 putty 中,按下回车,服务器就运行起来了。

        看起来好像和之前的一样?确实如此,但是因为我们加了 screen -S “CSGO”,我们可以利用 GUN Screen 切换出来而不关闭服务器。比如我们按下 Ctrl + A, 然后按下 Ctrl + D。

        你看,我们成功从服务器的程序里切换回命令行界面了,而服务器还在后台运行着。

        那么如果我想输入命令,或者我想关掉服务器,如何切换回服务器的界面呢?只需要输入“screen -r“按下回车就可以了。

        之后你会回到服务器的界面,就可以输入命令,或者按下 Ctrl + C 关闭服务器了。

        那如何把这个过程再简化一下呢?

        首先,我们关掉服务器,然后输入“cd ~“按回车,回到最开始的目录。

        输入“vi start_csgo_server.sh“,然后按回车。

        按下i,让左下角变成“__ INSERT __“状态。

        输入“cd csgo_ds“按回车,然后把刚才的 screen 开头的那一大串命令粘贴进去(还记得吗?在 putty 中按鼠标右键可以粘贴)。比如我的粘贴进去就是这样的。

        然后按下“ESC“键,再输入”:wq“,按回车保存退出。

        然后我们输入这样一条命令,让刚才写了两条命令的这个脚本文件变得可以被执行。

        输入“chmod +x start_csgo_server.sh“,按下回车。

        之后,我们每次需要启动CSGO服务器只需要输入“./start_csgo_server.sh“按回车就可以了。

        甚至,充分利用自动补全的话,只需要输入”./sta”然后按制表符键(TAB键,或者键盘上有两个方向相反的小箭头的按键),再按回车就可以了,是不是比之前输入命令简单多了?

        可以看到服务器已经在运行了,如果你想关掉 putty 的窗口,只需要依次按 Ctrl+A 和 Ctrl+D,看到“detached from 数字.CSGO“就可以放心的关掉 putty 了。

        要关掉服务器的时候,只需要输入“screen -r”,按回车,然后按下 Ctrl + C 就可以了。

        那么更新CSGO能否也写成脚本呢?这样就不用每次输入很长的命令了?是可以的。

        输入“vi update_csgo_server.sh“,按下回车,然后按”i"进入文本编辑的界面。

        输入你之前更新 CSGO 服务器的命令,“steamcmd +runscript /home/你的用户名/update_csgo.txt“,记得把”你的用户名“换成你服务器登录的用户名。使用 root 账号登录的同学,可以输入” steamcmd +runscript /root/update_csgo.txt “。比如我这里在脚本里就输入下图的命令。

        依旧是按“ESC“键,再输入”:wq“,按回车保存退出。

        然后给这个脚本加上可执行的属性,输入“chmod +x update_csgo_server.sh“,按回车即可。 

        好了,到现在为止,CSGO 服务器的搭建已经全部完成了。总结一下,以后会用到的命令。

启动 CSGO 服务器:

        输入“./start_csgo_server.sh”,然后按回车,再按 Ctrl + A 和 Ctrl + D。

关闭 CSGO 服务器:

        输入“screen -r”,然后按回车,再按 Ctrl + C。

更新 CSGO 服务器:

        在确保 CSGO 服务器已经关了的情况下,输入”./update_csgo_server.sh”,然后按回车。

如果有任何问题可以评论区留言,我看了会回复的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有