主播带女水友, 使用国内完美世界联机限制非常多. 需要下载第三方客户端, 实名认证, 改名需要改名卡, 自定义房间需要10人才可开始游戏, steam 原版无法连接到完美世界的服务器, 组队匹配还要 10 把定级赛. 如此恶心人的服务不惯着它. 自建! 自建! 有了一个服务器, 就可以搭建一个游戏服务端, 不仅方便一起玩, 还可以自己定义插件啥的。爽歪歪!
安装 steamcmd
以 root 用户身份登录到服务器, 创建名为steam的用户, 并切换到该用户和该用户的根目录下
yum install glibc.i686 libstdc++.i686 -y
useradd steam
su - steam
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xf steamcmd_linux.tar.gz
./steamcmd.sh
通过 steamcmd 安装 CSGO 服务端
- 确保已经运行
./steamcmd.sh
进入Steam>
命令行 - 需要至少 31G 磁盘空间
Steam>force_install_dir ./csgo_server
Steam>login anonymous
Steam>app_update 740 validate
Steam>quit
编写 CS:GO 更新脚本 (可选)
cat>>/home/steam/update.txt<<\EOF
force_install_dir ./csgo_server
login anonymous
app_update 740
quit
EOF
运行脚本
./steamcmd.sh +runscript /home/steam/update.txt
注册 CS:GO 服务端
Steam 游戏服务器帐户管理 在这里注册服务器后, 互联网用户才可以加入服务器
配置并运行 CS:GO 服务端
编辑服务器配置文件
vim csgo_server/csgo/cfg/server.cfg
sv_setsteamaccount 4F6815C************************
hostname "一只小苏念的 CS:GO 服务器" // 服务器在社区服务器浏览器上显示的名称, 自行修改为喜欢的名字
rcon_password 666666 // CS:GO远程控制台密码, 修改为自己定义的密码
rcon_password 51522zzwlwlbb // CS:GO远程控制台密码, 修改为自己定义的密码
sv_maxrate 128000 // 服务器最大带宽使用量, 默认值非常小, 因此会造成choke值异常, 此处建议改为128000
sv_minrate 80000 // 服务器最小带宽使用量, 与上面同理, 此处建议改为80000
// game_type 0
// game_mode 1
// map de_inferno
//休闲模式 +game_type 0 +game_mode 0
//竞技模式 +game_type 0 +game_mode 1
//搭档模式 +game_type 0 +game_mode 2
//军备竞赛 +game_type 1 +game_mode 0
//爆破模式 +game_type 1 +game_mode 1
//死亡竞赛 +game_type 1 +game_mode 2
//练习模式 +game_type 2 +game_mode 0
//自定义模式 +game_type 3 +game_mode 0
//例如进入炼狱小镇的竞技模式的指令为
//+game_type 0 +game_mode 1 +map de_inferno
//game_type 0;game_mode 1;map de_inferno
//game_type 0;game_mode 2;map de_inferno
//+mapgroup mg_active +map de_mirage 地图组:服役生涯地图组 启动后首张地图 mirage
//所有地图组
//mg_bomb拆除地图组
//mg_hostage人质解救地图组
//mg_lowgravity低重力地图组
//mg_demolition爆破地图组
//mg_armsrace军备竞赛地图组
//mg_casualdelta炸弹拆除地图组 II 号
//mg_casualsigma炸弹拆除地图组 I 号
//mg_reserves后备生涯地图组
//mg_deathmatch经典地图组
//mg_skirmish_stabstabzap戳戳乐
//mg_skirmish_flyingscoutsman跳狙飞人
//mg_skirmish_triggerdiscipline弹无虚发
//mg_skirmish_headshots砰! 爆头!
//mg_skirmish_huntergatherers采猎者
//mg_skirmish_heavyassaultsuit重型突击套装
//mg_skirmish_armsrace军备竞赛(战争游戏)
//mg_skirmish_demolition爆破模式(战争游戏)
mp_friendlyfire 0 //Enable Friendly Fire 1=Enable 0=Disable
mp_autokick 0 //kicks idle or teamkilling players.
mp_tkpunish 0 //Enables team killer punishment.
mp_spectators_max 9 //允许最多有9个观察者
mp_drop_knife_enable 1 //丢刀指令
mp_warmuptime 1200 //If true, there will be a warmup period/round at the start of each match to allow to connect.
mp_autoteambalance 0 //自动平衡队伍人数 1=开启 0=关闭
mp_limit_teams 0 // Max # of players 1 team can have over another (0 disables check)
sv_allow_lobby_connect_only 0 //If set to 1 it will only allow matchmaking games and not direct connections.
//启用录制demo
tv_enable 1
tv_autorecord 1
tv_maxclients 0
// The Bot Convars
bot_difficulty 3 //Defines the skill of bots joining the game. Values are: 0=easy, 1=normal, 2=hard, 3=expert.
bot_chatter off //Control how bots talk. Allowed values: 'off', 'radio', 'minimal', or 'normal'
bot_join_after_player 1 //If nonzero, bots wait until a player joins before entering the game.
bot_quota 10 //Determines the total number of bots in the game.
bot_quota_mode normal //Determines the type of quota. Allowed values: 'normal', 'fill', and 'match
// sv_shield_bash_damage_to_nonplayer 90
// sv_shield_bash_damage_to_players 90
sv_shield_hitpoints 10000
// FastDL
sv_downloadurl "https://example.com/csgo"
sv_allowdownload 1
sv_allowupload 0
vim csgo_server/csgo/cfg/server_last.cfg
mp_friendlyfire 0
启动 CS:GO 服务器
开启防火墙
firewall-cmd --add-port=27015/udp --permanent
[steam@server csgo_server]$ ./srcds_run -debug -game csgo -console -port 27015 -nomaster -insecure -autoupdate -steam_dir /home/steam/ -steamcmd_script /home/steam/update.txt -tickrate 128 +game_type 0 +game_mode 1 +map de_inferno
死亡竞技
[steam@server csgo_server]$ ./srcds_run -debug -game csgo -console -port 27015 -nomaster -insecure -autoupdate -steam_dir /home/steam/ -steamcmd_script /home/steam/update.txt -tickrate 128 +game_type 1 +game_mode 2 +map de_inferno -maxplayers_override 20
参数说明
参数 | 说明 |
---|---|
-debug | 开启调试模式 |
-game | 指明游戏, 此处是csgo |
-console | 打开游戏控制台 |
-insecure | 关闭 VAC |
-port | 游戏服务器端口, 此处是27015 |
-autoupdate | 启用自动更新 |
-steam_dir | steam 的安装目录 |
-steamcmd_script | 运行 steamcmd 的脚本文件路径 |
-tickrate | 服务器开启 128 tick |
-maxplayers_override | 最大玩家数 20 |
-usercon | 允许用户控制台直接管理服务器 |
-nomaster | 在社区浏览器中隐藏 |
-authkey | 下载创意工坊地图 |
+game_type | 游戏类型 |
+game_mode | 游戏模式 命令行指定可以不重启换模式 |
+map | 游戏默认地图 炼狱小镇 |
连接 CS:GO 服务器
connect 1.1.1.1 # 一般情况下连接服务器
connect 1.1.1.1:27015 # 带端口号连接
connect 1.1.1.1;password 123456 # 服务器有密码
rcon 管理
一般不开启这个, 这是 csgo 自带的远程管理命令, 我们需要安装模组使用模组的远程管理 sm_rcon
开启防火墙
firewall-cmd --add-port=27015/tcp --permanent
客户端想要管理的话, 需要输入命令, 输入管理员 rcon 密码, 就可以顺利的控制服务器的游戏了
rcon password 51522zzwlwlbb
在命令前加 rcon
即可, 有时间限制, 时间到了或者换图了要重新 rcon password
一次, 比如rcon mp_restartgame 1
CS:GO 服务器安装 SourceMod 和 Metamod:Source 插件
- 下载解压后把 Metamod 文件放入 SourceMOD 文件夹
- 上传到服务器
csgo
文件夹内 - 启动 CSGO 服务器, 验证安装. 输入
sm version
检查插件版本
命令行方法
wget https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6536-linux.tar.gz
wget https://mms.alliedmods.net/mmsdrop/1.11/mmsource-1.11.0-git1145-linux.tar.gz
tar -xf sourcemod-1.10.0-git6536-linux.tar.gz -C csgo_server/csgo/
tar -xf mmsource-1.11.0-git1145-linux.tar.gz -C csgo_server/csgo/
设置 SourceMod 管理员
首先要获取你的 steamid, 在这里 steamid.io ,直接输入你的 steam昵称 或者 主页URL, 都可以查询你的id (红框部分)
编辑 admins_simple.ini
文件最后一行添加管理员, 重启服务器生效
[steam@server csgo_server]$ vim csgo_server/csgo/addons/sourcemod/configs/admins_simple.ini
"STEAM_0:0:11101" "99:z"
游戏中输入 sm_admin
启用管理员菜单
SourceMod 编译插件
.smx
是插件编译完成的二进制文件.sp
是插件源代码文件
# 进入目录
[steam@server ~]$ cd csgo_server/csgo/addons/sourcemod/scripting/
# 下载插件源代码 kento_giveweapons.sp
# 编译 kento_giveweapons.sp
[steam@server scripting]$ ./compile.sh kento_giveweapons.sp
Compiling kento_giveweapons.sp...
SourcePawn Compiler 1.10.0.6536
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2018 AlliedModders LLC
Code size: 5004 bytes
Data size: 4120 bytes
Stack/heap size: 16384 bytes
Total requirements: 25508 bytes
# 把编译后的 .smx 移动到 plugins 文件夹
[steam@server scripting]$ mv compiled/kento_giveweapons.smx ../plugins/
武器、装备控制台命令
手枪
格洛克 18 型: give weapon_glock
P2000: give weapon_hkp2000
USP 消音版: give weapon_usp_silencer
双持贝瑞塔: give weapon_elite
P250: give weapon_p250
FN57: give weapon_fiveseven
TEC-9: give weapon_tec9
CZ75 自动手枪: give weapon_cz75a
沙漠之鹰: give weapon_deagle
R8 左轮手枪: give weapon_revolver
重型武器
新星: give weapon_nova
XM1014: give weapon_xm1014
MGA-7: give weapon_mag7
截短霰弹枪: give weapon_sawedoff
M249: give weapon_m249
内格夫: give weapon_negev
微型冲锋枪
MP9: give weapon_mp9
MAC-10: give weapon_mac10
MP7: give weapon_mp7
MP5-SD: give weapon_mp5sd
UMP-45: give weapon_ump45
P90: give weapon_p90
PP-野牛: give weapon_bizon
步枪
加利尔 AR: give weapon_galilar
法玛斯: give weapon_famas
AK-47: give weapon_ak47
M4A4: give weapon_m4a1
M4A1 消音型: give weapon_m4a1_silencer
SG 553: give weapon_sg556
AUG: give weapon_aug
狙击步枪
SSG 08: give weapon_ssg08
AWP: give weapon_awp
G3SG1: give weapon_g3sg1
SCAR-20: give weapon_scar20
手雷/投掷物
燃烧瓶: give weapon_molotov
燃烧弹: give weapon_incgrenade
诱饵手雷: give weapon_decoy
闪光震撼弹: give weapon_flashbang
高爆手雷: give weapon_hegrenade
烟雾弹: give weapon_smokegrenade
装备
防弹背心: give item_kevlar
防弹背心+头盔: give item_assaultsuit
宙斯 X27 电击枪: give weapon_taser
拆弹器: give item_defuser
营救工具包: give item_cutters
头号特训道具
医疗针: give weapon_healthshot
遥控C4: give weapon_breachcharge
钱 (50金): give item_cash
特训助手: give weapon_tablet
弹射地雷: give weapon_bumpmine
防爆盾: give weapon_shield
Exo跳跃: exojump
降落伞: give parachute
锤子: give weapon_hammer;ent_fire weapon_melee addoutput "classname weapon_knifegg
斧头: give weapon_axe;ent_fire weapon_melee addoutput "classname weapon_knifegg
扳手: give weapon_spanner;ent_fire weapon_melee addoutput "classname weapon_knifegg
徒手/拳头: give weapon_fists; ent_fire weapon_fists addoutput "classname weapon_knifegg
自动哨兵: give dronegun
其他
战术探测手雷: give weapon_tagrenade
雪球: give weapon_snowball
夜视仪: give item_nvgs; nightvision (再输入nightvision关闭)
重型突击套装: mp_weapons_allow_heavyassaultsuit 1;give item_heavyassaultsuit
排斥装置: give weapon_zone_repulsor
鸡: give chicken
C4: give weapon_c4
地图代码
dz_vineyard //
dz_sirocco //
dz_ember //
dz_blacksite //
de_vertigo //摩天大楼/殒命大厦
de_train //列车停放站
de_sugarcane //蔗糖工厂
de_stmarc //圣马克镇
de_shortnuke //
de_shortdust //
de_safehouse //安全处所
de_overpass //下水道/死亡游乐园
de_nuke //导弹基地
de_mirage //沙漠迷城
de_lake //湖畔激战
de_iris //
de_inferno //炼狱小镇
de_hive //
de_dust2 //炙热沙城2
de_crete //
de_cbble //
de_canals //运河水城
de_cache //死城之谜
de_bank //金库危机
de_ancient //
# 人质解救
cs_office //办公室
cs_militia //
cs_italy //意大利小镇
cs_climb //
cs_assault //
cs_agency //
ar_shoots //山林小寨
ar_monastery //
ar_lunacy //
ar_dizzy //眩晕大厦
ar_baggage //行李仓库
跑图服务器
修改 gamemodes_server.txt
, exec
这里修改为 paotu.cfg
/////////////////////////////////////////
// CASUAL
/////////////////////////////////////////
"casual"{
"maxplayers" "30"
"exec"
{
"exec" "paotu.cfg"
}
"mapgroupsMP" // List of mapgroups valid for this game mode ( casual )
{
"mg_bomb_se" ""
}
跑图服务器配置
[steam@server ~]$ vim csgo_server/csgo/cfg/paotu.cfg
sv_cheats 1 //允许作弊
ammo_grenade_limit_total 6 //可携带的手雷数
ammo_grenade_limit_breachcharge 2
ammo_grenade_limit_bumpmine 2
ammo_grenade_limit_default 6
ammo_grenade_limit_flashbang 2
ammo_grenade_limit_snowballs 10
mp_afterroundmoney 65535 //每回合结束后增加的金额
mp_maxmoney 65535 //最大金额
mp_startmoney 65535 //初始金额
mp_autoteambalance 0 //关闭自动进行人数平衡
mp_buytime 99999 //购买时间
mp_buy_anywhere 1 //允许在任何地方购买
mp_weapons_allow_typecount -1 //同一种武器可以购买更多数量
mp_death_drop_defuser 1 //玩家死后不掉落拆弹器
mp_death_drop_grenade 1 //玩家死后不掉落手雷
mp_death_drop_gun 1 //玩家死后不掉落枪支
mp_spectators_max 9 //允许最多有9个观察者
mp_forcecamera 0 //不限制观察者所观看的队伍
mp_free_armor 0 //免费给予防弹衣和头盔 1=给予防弹衣 2=给予防弹衣和头盔
mp_warmuptime 0 //热身时间为0秒
mp_freezetime 0 //冻结时间
mp_respawn_immunitytime 0 //重生保护时间设置为0
mp_friendlyfire 1 //开启友伤
mp_ignore_round_win_conditions 1 //忽略胜利条件
mp_limitteams 0 //不限制队伍
mp_respawn_on_death_ct 1 //反恐精英死后即刻复活
mp_respawn_on_death_t 1 //恐怖分子死后即刻复活
mp_roundtime 60.00 //每回合时间
mp_roundtime_hostage 60.00 //解救人质地图每回合时间
mp_roundtime_defuse 60.00 //拆除炸弹地图每回合时间
mp_teammates_are_enemies 1 //任何人都为目标
sv_enablebunnyhopping 1 //允许连跳
//sv_autobunnyhopping 1 //开启自动连跳
sv_grenade_trajectory 1 //显示投掷物轨迹 (丢出显示轨迹)
sv_grenade_trajectory_dash 1 //手雷抛物线的形状
sv_grenade_trajectory_thickness 1 //手雷抛物线的厚度
sv_grenade_trajectory_time 20 //手雷抛物线的显示时间
sv_infinite_ammo 2 //无限备用弹夹
cl_grenadepreview 1 //显示投掷物轨迹 (拿着投掷物按住显示轨迹, 平时自己练习投掷物必备)
sv_showimpacts 1 //显示弹道,红色为客户端,蓝色为服务器
sv_showimpacts_time 20 //弹道的显示时间
// bot_stop 1 //BOT为静止状态
bot_dont_shoot 1 //禁止bot开枪射击
mp_c4timer 99999 //C4引爆时间
需要安装 NadeTails 所有玩家才能看到投掷物轨迹
编辑配置文件 plugin.NadeTails.cfg
[steam@server ~]$ vim csgo_server/csgo/cfg/sourcemod/plugin.NadeTails.cfg
// This file was auto-generated by SourceMod (v1.10.0.6536)
// ConVars for plugin "NadeTails.smx"
// Allow players to use nade tails with !tails (0/1)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_allowplayers "1"
// Enables Nade Tails on Decoy Grenades (0/1).
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_decoy "1"
// Tail color on Decoy Grenades. (use named colors like "Aqua" or "Black" or use RGBA like "255 20,147 225"
// -
// Default: "random"
sm_tails_decoycolor "Lime"
// Default alpha for trails (0 is invisible, 255 is solid).
// -
// Default: "255"
// Minimum: "0.000000"
// Maximum: "255.000000"
sm_tails_defaultalpha "255"
// Tails on for all users, Set to 0 to require user to type !tails to use
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_defaulton "1"
// Enables Nade Tails (0/1).
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_enabled "1"
// Enables Nade Tails on Flashbangs (0/1).
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_flashbang "1"
// Tail color on Flashbangs. (use named colors like "Aqua" or "Black" or use RGBA like "255 20 147 225"
// -
// Default: "random"
sm_tails_flashcolor "Red"
// Tail color on HE Grenades. (use named colors like "Aqua" or "Black" or use RGBA like "255 20 147 225"
// -
// Default: "random"
sm_tails_hecolor "Purple"
// Enables Nade Tails on HE Grenades (0/1).
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_hegrenade "1"
// Tail color on Incendiary Grenades. (use named colors like "Aqua" or "Black" or use RGBA like "255 20 147 225"
// -
// Default: "random"
sm_tails_inccolor "Green"
// Enables Nade Tails on Incendiary Grenades (0/1).
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_incendiary "1"
// Enables Nade Tails on Molotovs (0/1).
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_molotov "1"
// Tail color on Molotovs. (use named colors like "Aqua" or "Black" or use RGBA like "255 20 147 225"
// -
// Default: "random"
sm_tails_molotovcolor "Green"
// Enables Nade Tails on Smoke Grenades (0/1).
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_tails_smoke "1"
// Tail color on Smoke Grenades. (use named colors like "Aqua" or "Black" or use RGBA like "255 20 147 225"
// -
// Default: "random"
sm_tails_smokecolor "Yellow"
// Time for tail to fade over.
// -
// Default: "1"
sm_tails_tailfadetime "0"
// Time the tail stays visible.
// -
// Default: "20.0"
// Minimum: "0.000000"
// Maximum: "25.000000"
sm_tails_tailtime "20.0"
// Width of the tail.
// -
// Default: "1.0"
sm_tails_tailwidth "1.0"
按键绑定
按键代码 | 对应按键 |
---|---|
mouse1 | 鼠标左键 |
mouse2 | 鼠标右键 |
mouse3 | 鼠标中键 (滚轮按下去) |
mouse4 | 鼠标侧键 |
mouse5 | 鼠标侧键 |
mwheelup | 滚轮向上 |
mwheeldown | 滚轮向下 |
a-z | 字母键 |
0-9 | 数字键 |
f1-f12 | 功能键 |
tab | Tab |
enter | 回车键 |
escape | ESC |
space | 空格踺 |
backspace | 回车键 |
uparrow | ↑方向键 |
downarrow | ↓方向键 |
leftarrow | ←方向键 |
rightarrow | →方向键 |
alt | ALT |
ctrl | CTRL |
shift | SHIFT |
ins | INS |
del | . |
pgup | PGUP |
pgdn | PGDN |
home | HOME |
end | END |
capslock | 大小写锁定 |
pause | 暂停键 |
joy1-4 | 手柄按键 |
auxl-31 | 手柄按键 |
NUMLOCK | 数锁 (小踺盘) |
kp_slash | / (小键盘) |
kp_multiply | * (小键盘) |
kp_minus | - (小键盘) |
kp_plus | + (小键盘) |
kp_del | . (小键盘) |
kp_enter | 回车 (小键盘) |
kp_ins | 0 (小键盘) |
kp_end | 1 (小键盘) |
kp_downarrow | 2 (小键盘) |
kp_pgdn | 3 (小键盘) |
kp_leftarrow | 4 (小键盘) |
kp_5 | 5 (小键盘) |
kp_rightarrow | 6 (小键盘) |
kp_home | 7 (小键盘) |
kp_uparrow | 8 (小键盘) |
kp_pgup | 9 (小键盘) |
//=====================================================//
// Num | / | * | - //
// Lock | DECOY | SMOKE | FLASH //
//-------------|-------------|-------------|-----------//
// 7 | 8 | 9 | + //
// SCOUT | AWP | AUTO SNIPER | NADES //
//-------------|-------------|-------------| HE //
// 4 | 5 | 6 | INCEND //
// FAMAS/GALIL | M4A1/AK | AUG/SG556 | MOLOTOV //
//-------------|-------------|-------------|-----------//
// 1 | 2 | 3 | Enter //
// SHOTGUN | AUTO SHOTGN | MP7 | ARMOR //
//-------------|-------------|-------------| DEFUSE //
// 0 | . | RESCUE //
// DEAGLE | P90 | KIT //
//=====================================================//
// Aliases (Abbreviations for weapon combinations)
alias "m4a1/ak47" "buy m4a1;buy ak47"
alias "aug/sg556" "buy aug;buy sg556"
alias "galilar/famas" "buy galilar;buy famas"
alias "g3sg1/scar20" "buy g3sg1;buy scar20"
alias "vesthelm/vest" "buy vesthelm;buy vest"
alias "incgrenade/molotov" "buy incgrenade;buy molotov"
// Key bindings (Aliases are used here)
bind "KP_HOME" "buy ssg08; vesthelm/vest"
bind "KP_UPARROW" "buy awp; vesthelm/vest"
bind "KP_PGUP" "g3sg1/scar20; vesthelm/vest"
bind "KP_LEFTARROW" "galilar/famas; vesthelm/vest"
bind "KP_5" "m4a1/ak47; vesthelm/vest"
bind "KP_RIGHTARROW" "aug/sg556; vesthelm/vest"
bind "KP_END" "buy nova; vesthelm/vest"
bind "KP_DOWNARROW" "buy xm1014; vesthelm/vest"
bind "KP_PGDN" "buy mp7; vesthelm/vest"
bind "KP_INS" "buy deagle"
bind "KP_DEL" "buy p90; vesthelm/vest"
bind "KP_SLASH" "buy decoy"
bind "KP_MULTIPLY" "buy smokegrenade"
bind "KP_MINUS" "buy flashbang"
bind "KP_PLUS" "buy hegrenade; incgrenade/molotov"
bind "KP_ENTER" "vesthelm/vest; buy defuser"
一键跳投
把跳投配置文件放入 Counter-Strike Global Offensive\csgo\cfg\t.cfg
绑定按键是 c
alias +jumpthrow +jump;-attack
alias -jumpthrow -jump
bind c +jumpthrow
每次启动游戏后需要输入 exec t
或者 exec t.cfg
Installing SteamCMD on CentOS 7
[服务器]搭建CSGO服务器
CSGO Server Command Line Options
CS:GO NUMPAD Keys Binded to Buy Scripts