从零开始搭建CSGO服务器+插件【Centos7 LGSM】

1 准备

1.1 云服务器

例如阿里云、腾讯云等。本文以腾讯云为例。推荐最低CPU2核,内存4G。多家对比,看看有没有促销活动,我的2核4G首次购买74/年。

在这里插入图片描述


开通好云服务器后,需要设置安全组(防火墙),为CSGO服务器添加白名单。详情如图。

在这里插入图片描述

1.2 Xshell

通过Xshell远程访问服务器。
下载链接: Xshell / Xftp 官网直连下载.

1.3 FileZilla

通过FileZilla远程将文件传输至服务器。
官网链接: FileZilla.

在这里插入图片描述

1.4 API密钥 & 服务器登录令牌

1、如果你后期要在服务器里装换肤插件,请使用Steam小号进行以下流程(规避风险)
2、打开:https://steamcommunity.com/dev/apikey
3、注册域名(随意填写,能过就行)
4、复制保存API密钥(这玩意千万别让别人知道,不然你饰品没了)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX(32位密钥)
5、打开:https://steamcommunity.com/dev/managegameservers
6、填入游戏App ID:730,备忘录:随意
7、复制保存服务器登录令牌
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX(32位密钥)

2 部署

2.1 连接服务器

打开xshell,新建链接,名称随意,主机填写IP地址

在这里插入图片描述


用户身份验证,用户名root,密码填写开通服务器时随机生成的密码。(具体去自己所购买的云产品web页面查看,以腾讯云为例,点击服务器的“更多”可修改root密码)

在这里插入图片描述


点击连接即可。

2.2 部署

1.在root用户下

添加GitHub的hosts。

访问:

https://github.com/ineo6/hostshttps://gitlab.com/ineo6/hosts/-/raw/master/next-hosts

在这里插入图片描述

复制hosts。

vim /etc/hosts

粘贴hosts。

wq!

重启网络服务。

systemctl restart network

注意:安装时请保持hosts为最新,并且记得重启网络服务。

2.创建名为csgoserver的用户
useradd csgoserver

设置csgoserver用户的密码(建议设置强密码,否则可能受攻击破解)
passwd csgoserver
为用户csgoserver添加管理员权限(需要使用VIM,具体VIM操作教学请自行查找)
vim /etc/sudoers
找到%wheel ALL=(ALL) ALL,在下面一行添加
csgoserver ALL=(ALL) NOPASSWD:ALL
保存退出
wq!

3.切换至csgoserver用户
su csgoserver
切换至用户csgoserver的家目录
cd

4.下载LGSM
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csgoserver

5.安装服务
./csgoserver install

程序首先会下载一系列shell脚本,首先尝试从GitHub下载,若ERROR,则从Bitbucket下载,若再次失败,安装程序终止。之前第一步添加GitHub的hosts就是为了让脚本下载成功率更高。如果发生终止,则手动执行./csgoserver install

在这里插入图片描述

回车即可。

途中会安装缺失的依赖、下载并安装steamcmd、下载并安装csgo、请耐心等待。

在这里插入图片描述

回车即可。

在这里插入图片描述

输入1.4中准备的服务器登录令牌,可以为空,后续在cfg中添加。

在这里插入图片描述

回车即可。

6.修改启动项配置文件

到配置文件所在目录

cd /home/csgoserver/lgsm/config-lgsm/csgoserver

复制默认配置文件并重命名

cp _default.cfg csgoserver.cfg

修改

vim csgoserver.cfg

主要修改的有:

tickrate="128"
gslt=""

startparameters增加-nomaster +sv_pure

如果您需要使用创意工坊地图组,则需添加如下内容

wsapikey=""
wscollectionid=""
wsstartmap=""

想了解配置文件详细内容请看大佬文章:CentOS CSGO服务器教程(2)搭建服务器 - 哔哩哔哩 (bilibili.com)

7.修改服务器配置文件

cd /home/csgoserver/serverfiles/csgo/cfg

vim csgoserver.cfg

自定义服务器名称和密码

// Hostname - Name of the server.
hostname "RY"

// RCON - remote console password.
rcon_password "xxx"

2.3 下载安装插件

需求:满十竞技服务器,可自定义皮肤、手套
1.需要用到的插件以及网站
Sourcemod
https://www.sourcemod.net/
Metamod
https://www.sourcemm.net/
满十
https://github.com/splewis/csgo-pug-setup
皮肤
https://github.com/kgns/weapons/releases/latest
PTaH(weapons插件需要PTaH,否则无法正常运行)
https://ptah.zizt.ru/
手套
https://github.com/kgns/gloves/
multi1v1(如果想搭建1v1服务器,就把此插件替换满十)
https://github.com/splewis/csgo-multi-1v1
2.下载
sourcemod

在这里插入图片描述


metamod

在这里插入图片描述


pugsetup

在这里插入图片描述


在这里插入图片描述


weapons和gloves与上述步骤相同。
全部下载完成并解压。注意:.tar.gz格式的文件解压一次为.tar,需打开tar文件夹再解压里面的文件一次。

在这里插入图片描述

在这里插入图片描述

打开sourcemod-1.10.0-git6539-linux\addons\sourcemod\configs\core.cfg,将最后一项"FollowCSGOServerGuidelines" "yes"中的yes改为no。否则皮肤插件无效。

3.上传至服务器
打开filezilla,“文件”→“站点管理器”,新站点,协议选择SFTP,主机填写自己服务器的公网IP地址,用户为之前创建的csgo。连接。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

右边的远程站点进入/home/csgoserver/serverfiles/csgo,左边的本地站点进入具体的插件文件夹内。选中cfg和addons文件夹,并上传。

在这里插入图片描述


同样地,把所有的插件的cfg文件夹和addons文件夹都上传至/home/csgoserver/serverfiles/csgo。

4./home/csgoserver/serverfiles/csgo/addons/sourcemod/configs/admins_simple.ini 文件可以添加添加sourcemod的admin管理员用户,格式为
“STEAM_1:1:122170925” “z”
“STEAM_1:1:528138521” “z”
“STEAM_1:1:223831180” “z”
“STEAM_1:1:445039989” “z”
“STEAM_1:1:451545623” “z”
“STEAM_1:0:521375560” “z”
“STEAM_1:1:440635526” “z”
“STEAM_1:0:246580798” “z”
“STEAM_1:0:546754288” “z”
“STEAM_1:0:124344904” “z”
左侧为steamid,进入游戏房间,打开控制台输入status即可看见当前房间所有玩家的steamid。

5.配置自动更新

crontab -e

添加

*/30 * * * * /home/csgoserver/csgoserver update > /dev/null 2>&1
0 0 * * 0 /home/csgoserver/csgoserver update-lgsm > /dev/null 2>&1

6.LGSM操作

首先cd进入csgoserver家目录。

#LinuxGSM命令均为.sh脚本,故命令开头均为./csgoserver
#以下是常用命令
./csgoserver start #启动服务器
./csgoserver stop #停止服务器
./csgoserver restart #重启服务器
./csgoserver update #更新服务器
./csgoserver console #打开服务器控制台
#注意:关闭控制台需按ctrl+b再按d才可
#以下是不常用命令
./csgoserver force-update #手动使用SteamCMD更新
./csgoserver validate #使服务器不可用
./csgoserver monitor #监视服务器进程
#以下是不推荐使用的命令
./csgoserver details
./csgoserver debug
./csgoserver backup

7.启动服务器

./csgoserver start

首次启动需要下载一些脚本,所以需要消耗一定时间。

./csgoserver details
查看服务器各种信息。

3 附录

参考文献:

https://www.bilibili.com/read/cv14253977
https://www.bilibili.com/read/cv14271143
https://www.bilibili.com/read/cv14458430

/home/csgoserver/serverfiles/csgo/cfg/csgoserver.cfg

// ************************************************************************** //
//     Version 120719                                                         //
//                                                                            //
// ************************************************************************** //

// .................................. Basic ................................. //

// Hostname - Name of the server.
hostname ""

// RCON - remote console password.
rcon_password ""

// Server password - for private servers.
sv_password ""

// Email - Server admin email.
// Example: sv_contact "email@example.com"
sv_contact ""

// LAN mode - Server is a LAN server; can't connect from the internet. VAC (Valve Anti-Cheat) is disabled in this mode.
// Default: sv_lan 0
sv_lan 0

// Default: sv_cheats 0
// Cheats ON: sv_cheats 1
sv_cheats 0

// Tags - Used to provide extra information to clients when they're browsing for servers. Separate tags with a comma.
// Example: sv_tags "128-tick,deathmatch,dm,ffa,pistol,dust2"
sv_tags ""

// Region - The region of the world to report this server in.
// Default: -1
// 0 - US East, 1 - US West, 2 - South America, 3 - Europe, 4 - Asia, 5 - Australia, 6 - Middle East, 7 - Africa
sv_region -1

// ............................. Server Logging ............................. //

// Enable log - Enables logging to file, console, and udp < on | off >.
// Recommended: log on
log on

// Log bans - Log server bans in the server logs.
// Default: sv_logbans 1
// Recommended: sv_logbans 1
sv_logbans 1

// Log echo - Display log information to the server console.
// Default: sv_logecho 1
// Recommended: sv_logecho 1
sv_logecho 1

// Log file - Log server information in the log file.
// Default: sv_logfile 1
// Recommended: sv_logfile 1
sv_logfile 1

// One file log - Log server information to only one file.
// Default: sv_log_onefile 0
// Recommended: sv_log_onefile 0
sv_log_onefile 0

// Server Hibernation
sv_hibernate_when_empty 1
sv_hibernate_ms 5

// ............................. Server Query ............................. //
// More info at: https://www.gametracker.com/games/csgo/forum.php?thread=91691
host_name_store 1
host_info_show 1
host_players_show 2

// ................................ Ban List ................................ //

// User ban - Server banlist based on user steam ID.
// Recommended: exec banned_user.cfg
exec banned_user.cfg

// IP ban - Server banlist based on user IP.
// Recommended: exec banned_ip.cfg
exec banned_ip.cfg

// Write ID - Writes a list of permanently-banned user IDs to banned_user.cfg.
writeid

// Write IP - Save the ban list to banned_ip.cfg.
writeip

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...