Back

CS:GO服务器架设(Windows+Linux)

Mai Ooizumi
Mai Ooizumi 2015年08月22日

看一堆小白想开服却用某字母社的坑爹脚本(会自动加一个他们的ROOT权限)所以感觉这方面还是自己动手好
一步一步慢慢来,看起来麻烦其实很简单的。。
本文参考了但不限于以下内容:

https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers
https://developer.valvesoftware.com/wiki/SteamCMD
https://developer.valvesoftware.com/wiki/Source_Dedicated_Server
https://developer.valvesoftware.com/wiki/Command_Line_Options
https://www.sourcemod.net/
http://www.metamodsource.net/
https://wiki.alliedmods.net/

本文分两部分 WinServer下的以及LinuxServer下的
1.Windows

准备工作

首先在Windows Update里面打全所有重要补丁

下载steamcmd以及csgo服务端

下载SteamCMD:https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

解压到你认为一个合适的目录下如D:\steamcmd\

运行steamcmd.exe 程序会自动更新 更新之后会显示

Steam

这时候要登录

login anonymous

当然你也可以用你的steam账号登录

login <username> <password>

登录成功之后 用force_install_dir设置下载目录

force_install_dir <path>

比如

force_install_dir D:\csgoserver\

设置好下载目录之后就可以开始下载服务端了

app_update 740

也可以创建快捷方式来一键下载

D:\steamcmd\steamcmd.exe steamcmd +login anonymous +force_install_dir D:\csgoserver\ +app_update 740 +quit

  • 服务器配置

下载好了之后还需要进行插件配置(sourcemod+metamod:source)以及服务器参数设置

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

http://www.metamodsource.net/downloads/

把解压得到的addons跟cfg文件夹放到D:\csgoserver\csgo\下

然后设置sourcemod管理员 addons\sourcemod\configs\admins_simple.ini
格式如

"STEAMID" "权限" "管理员密码(可选)"
"STEAM_1:1:59886493" "99:z"

随便进一个服务器 然后控制台打status
看到名字后面的STEAM_X:X:XXXXXX就是你的STEAMID
权限等级:

"a"//预留通道

"b"//管理员菜单的权限

"c"//踢人

"d"//BAN人

"e"//解BAN

"f"//娱乐命令(处死 火烧冰冻等)

"g"//更换服务器地图

"h"//修改服务器cvar参数

"i"//执行服务器cfg文件

"j"//发送消息

"k"//发动投票

"l"//给服务器上密码

"m"//rcon命令 远程控制服务器

"n"//修改sv_cheats参数以及使用其他作弊参数

"z" //顶级权限

"o-t" //自定义权限(warmod菜单等)

然后到csgoserver\csgo\cfg文件夹新建一个cfg文件比如autoexec.cfg 里面写入以下内容

hostname "你的服务器名称(不支持中文 如果要起中文名需要服务器中文名插件)"

rcon_password "远程控制服务器的密码(与上面sourcemod里面的rcon不同)"

host_info_show 2

host_players_show 2

fps_max 1000

sv_region 4

sv_contact 你的邮箱 V社会做记录

exec banned_user.cfg

exec banned_ip.cfg

writeid

writeip

setmaster add 68.142.72.250:27011

setmaster add 72.165.61.189:27011

现在服务器的设置基本已经完成了

  • 开服

\csgoserver\文件夹 找到srcds.exe 创建快捷方式 目标栏填上你要创立的模式以及地图
休闲模式

-game csgo -console -usercon +game_type 0 +game_mode 0 +map de_dust2

竞技模式

-game csgo -console -usercon +game_type 0 +game_mode 1 +map de_dust2

军备竞赛

-game csgo -console -usercon +game_type 1 +game_mode 0 +map ar_shoots

爆破模式

-game csgo -console -usercon +game_type 1 +game_mode 1 +map de_lake

死亡竞赛

-game csgo -console -usercon +game_type 1 +game_mode 2 +map de_dust

后面的+map de_dust2可以改成你想要的地图

  • 其他服务器启动项

-maxplayers_override 最大玩家数

-noipx 关闭IPX协议的支持

-nohltv 关闭gotv

-nobots 关闭bot功能! csgo如果想开某些不需要bot的服务器要加这个参数不然有人换队bot还是会占位!

-tickrate 128 设置服务器tick为128 满十必备

-authkey 如果要使用steam web API要用到这个启动项 apikey在这里申请:http://steamcommunity.com/dev/apikey

    • Linux

以Ubuntu Server 14.04 LTS为例

  • 准备工作

首先更新包

apt-get update

apt-get upgrade

如果服务器是64bit(64位系统)还要装32位运行库

apt-get install lib32gcc1

创建一个新账户(如steam)来运行csgo服务端(不要用root权限来运行服务端!会有很大的安全隐患!)

useradd -m steam

修改名称为steam这个用户的密码

passwd steam

切换至steam用户

su - steam

  • 下载steamcmd以及csgo服务端

在/home/下创建一个名为steamcmd的目录并进入

mkdir ~/steamcmd

cd ~/steamcmd

下载steamcmd 并解压

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

tar -xvzf steamcmd_linux.tar.gz

创建一个update.txt自动下载脚本

vim update.txt

按I键开启编辑模式 复制以下内容进去

@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
login anonymous
force_install_dir ../csgoserver/ //自定义下载目录
app_update 740
quit

按Esc键 然后输入:wq保存退出

下载csgo服务端

./steamcmd.sh +runscript update.txt

  • 服务器配置

请看Windows版

  • 开服

模式设置跟windows一样

不过运行的不是srcds.exe而是srcds_run

如果要创建快捷方式 进入下载的文件夹 创建run.sh文件

vim run.sh

写入以下内容

./srcds_run -console -game csgo -usercon -noipx -nohltv -steam_dir ../steamcmd -steamcmd_script ../steamcmd/update.txt -autoupdate +game_mode 0 +game_type 0 +map de_dust2

这是创建休闲模式 需要改其他模式可以自己修改保存

然后

./run.sh

服务器就开起来了

gl hf

另外如果是用ssh远控linux的话退出ssh csgo服务端会自动关闭 解决方法是用screen命令

apt-get install screen //安装screen

screen -S csgoserver //开启名字为csgoserver的新screen

cd ~/csgoserver/

./run.sh

这样就在关闭ssh的情况下也可以后台运行csgo服务器了

切换到非screen状态只需要按Ctrl+A+D就切回linux shell了

切换回去是

screen -r csgoserver

如果有时候报错 就要先

screen -d csgoserver

2015.11.11更新

由于V社出了新的规定(戳这里)不允许匿名开服

只能到下面的链接

https://steamcommunity.com/dev/managegameservers

申请一个token

在Create a new game server account下面 APPID输入730 , Memo可以随便填(如果开很多服务器最好用能分辨出来服务器的名称)

并用

sv_setsteamaccount XXXXXXXXX(你的token)

这个命令来让服务器登录steam,也就是说用武器皮肤插件或者刀模插件会被V社检测到并ban掉服务器(猜测)

这个命令是要放在启动cfg里面的 可以在启动选项(Launch Options)加上

+sv_setsteamaccount XXXXXXXXX

也可以在启动加载的cfg里面加比如上面的autoexec.cfg

2015.11.24更新
常用插件
csgo服务器中文名插件 无后门(网上流传的版本大多数都是带后门的版本,会设置一个root权限的管理员 此版本无后门不放心可自己反编译查看源码)

http://cdn.dl.maiooizumi.wang/csgo_hostname.smx

满十插件 不用多解释什么吧

https://forums.alliedmods.net/showthread.php?t=225474

死亡/死斗插件

https://forums.alliedmods.net/showthread.php?t=246405

好了先就这样 以后有什么要加的再补充吧。

Submit
    Ken
    Ken  2015-08-22, 16:13

    留爪印~

    M喔茶
    M喔茶  2015-08-22, 16:16

    留爪

    Rin
    Rin  2015-10-04, 16:37

    路过(((o(゚▽゚)o)))

      Mai Ooizumi
      Mai Ooizumi  2015-10-04, 17:37

      @Rin→_→