在Arch Linux上设置反恐精英:全球攻势(CSGO)服务器

本教程说明了如何在Arch Linux上设置“反恐精英:全球攻势”服务器。

本教程假定您使用标准用户帐户登录并具有sudo特权。我们将使用普通用户帐户,因为不应使用root帐户来构建具有AUR的软件包。

在你开始之前

如果使用的是Arch Linux的64位版本,则multilib启用存储库非常重要。如果未启用,SteamCMD无法下载或运行游戏服务器文件。要启用multilib,只需在中取消注释以下行/etc/pacman.conf

[multilib]
Include = /etc/pacman.d/mirrorlist

这不适用于32位Arch Linux系统。

安装SteamCMD

SteamCMD有一个AUR软件包。这可能是在Arch上安装SteamCMD的最简单方法。但是,有一些注意事项:

  • 所有相对路径都相对于/usr/share/steamcmd
  • 要升级SteamCMD本身,您必须具有root帐户。

如果您使用的是64位服务器,则必须安装该软件包lib32-gcc-libs

sudo pacman -Sy lib32-gcc-libs

现在我们必须构建软件包。使用curl,下载软件包的压缩包。

curl -O https://aur.archlinux.org/packages/st/steamcmd/steamcmd.tar.gz

下载完成后,解压缩并更改为创建的目录。

tar -xvzf steamcmd.tar.gz
cd steamcmd

现在,使用makepkg构建软件包。

makepkg -ci

如果您没有将-i标志传递给makepkg命令,请使用以下命令进行安装。

sudo pacman -U *.pkg.tar.xz

现在,您已经安装了SteamCMD,并准备下载“反恐精英:全球攻势”服务器。

安装反恐精英:全球攻势服务器

本指南使用一个单独的用户来运行服务器,因此我们将在中创建一个新的csgo用户并对其自身的主文件夹进行分组/var/lib

sudo groupadd csgo
sudo mkdir /var/lib/csgo
sudo useradd -d /var/lib/csgo -g csgo -s /bin/bash csgo
sudo chown csgo.csgo -R /var/lib/csgo

现在安装服务器。

sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit

下载完成后,就已经安装了服务器。

配置中

尽管可以运行服务器,但应进行一些配置,以使服务器不太通用。我们放入设置的主要文件是该server.cfg文件。下面是一个非常基本的server.cfg文件。

要打开/创建文件,请使用您喜欢的编辑器。我在这个例子中使用vim。

sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg

添加以下内容。可以在Valve Developer Wiki上找到更多设置。确保更改某些设置以适合您的需求。

hostname "Server Name"
rcon_password "password"
sv_password ""
sv_contact "[email protected]"
sv_tags ""
sv_region "255"
sv_lan "0"

exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip

运行服务器

要在无人看管的情况下运行服务器,您将需要一个GNU Screentmux之类的多路复用器。在本文中,我将使用tmux来运行服务器,但是如果您喜欢并知道如何使用屏幕,请随时使用它。

使用pacman安装tmux。

sudo pacman -Sy tmux

您可以使用以下命令启动服务器。您可以根据需要更改地图。请阅读“最终注释”以获取有关game_typegame_mode值的更多信息。本示例适用于经典休闲服务器。

sudo -u csgo tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; ./srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'

如果您需要附加到控制台,请运行以下命令。

sudo -u csgo tmux attach -t csgo-console

您可以通过键入CTRL + B然后释放这些键,然后按D离开服务器控制台。

与systemd一起运行

由于许多原因,使用systemd运行服务器很方便。最主要的是您可以在VPS启动时启动它。这需要编写脚本和systemd单元。即使这是一个好主意,它也是可选的

首先要写的是启动脚本。要创建脚本,请使用您喜欢的编辑器。这里使用了vim,但是您可以使用任何文本编辑器,例如nano。

sudo -u csgo vim ~csgo/server/csgo.sh

添加以下内容,并确保使用start命令查看该行,因为它具有游戏模式和类型。

#!/bin/sh

USER=$2

if [ -z $2 ]; then
  USER="csgo"
fi

case "$1" in
  start)
    sudo -u $ tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; /var/lib/csgo/server/srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'
    ;;

  stop)
    sudo -u $ tmux send-keys -t csgo-console 'say Server shutting down in 10 seconds!' C-m
    sleep 10
    sudo -u $ tmux send-keys -t csgo-console 'quit' C-m
    sleep 5
    ;;

  *)
    echo "Usage: $0  user"
esac

exit 0

现在您需要制作systemd单元。

sudo vim /usr/lib/systemd/system/csgo.service

添加以下内容。

[Unit]
Description=Counter-Strike: Global Offensive Server (SRCDS)
After=local-fs.target network.target

[Service]
ExecStart=/var/lib/csgo/server/csgo.sh start
ExecStop=/var/lib/csgo/server/csgo.sh stop
Type=forking

[Install]
WantedBy=multi-user.target

现在确保该csgo.sh文件是可执行文件。

sudo chmod +x ~csgo/server/csgo.sh

毕竟,您可以systemctl用来启动和停止服务器。您也可以使用它来使其在启动时启动。

开始:

sudo systemctl start csgo.service

停止:

sudo systemctl stop csgo.service

重启:

sudo systemctl restart csgo.service

要在启动时启用:

sudo systemctl enable csgo.service

要在启动时禁用:

sudo systemctl disable csgo.service

即使systemd处理启动和停止服务器,您也可以使用以下命令访问控制台。

sudo -u csgo tmux attach -t csgo-console

最后说明

SteamCMD安装在只有root才能更改文件的区域中(请参阅“安装SteamCMD”部分中的注释)。如果您需要自己升级SteamCMD,只需以root身份运行它即可。

sudo steamcmd +quit

如果需要更新服务器。首先停止服务器,然后使用SteamCMD进行更新(使用相同的命令进行安装)。

sudo systemctl stop csgo.service
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit
sudo systemctl start csgo.service

启动命令中的游戏模式和游戏类型很重要,具体取决于所需的服务器类型。这是可能值的快速表格。

      Game Mode      | game_type | game_mode
Classic Casual       | 0         | 0
Classic Competitive  | 0         | 1
Arms Race            | 1         | 0
Demolition           | 1         | 1
Deathmatch           | 1         | 2

本教程中没有涉及更多配置主题。如果您需要更多信息,请参考Valve Developer Wiki。



Leave a Comment

在Arch Linux上安装Spigot Server

在Arch Linux上安装Spigot Server

本教程说明了如何在Arch Linux上使用Spigot设置Minecraft服务器。本教程假定您是普通用户(非root用户)并且具有hav

使用Btrfs快照安装Arch Linux

使用Btrfs快照安装Arch Linux

前言Arch Linux是一种通用发行版,以其先进的技术和灵活的配置而闻名。使用Btrfs快照,我们可以

如何在Arch Linux上安装MariaDB 10.3或MySQL 8.0

如何在Arch Linux上安装MariaDB 10.3或MySQL 8.0

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)Sudo访问:需要以root身份运行的命令以#开头,其中一个

在Arch Linux上安装Mumble Server

在Arch Linux上安装Mumble Server

本教程说明了如何在Arch Linux上设置Mumble服务器(Murmur)。本教程中完成的所有操作均以root用户身份完成。安装

如何在Arch Linux上安装Nginx 1.14

如何在Arch Linux上安装Nginx 1.14

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)Sudo访问。需要以root身份运行的命令带有#前缀。钍

如何在Arch Linux Web服务器上安装PHP 7.3

如何在Arch Linux Web服务器上安装PHP 7.3

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)正在运行的Web服务器,可以使用Apache或Nginx Sudo访问。命令要求

如何在Arch Linux上安装PostgreSQL 11.1

如何在Arch Linux上安装PostgreSQL 11.1

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)Sudo访问。需要以root身份运行的命令以#开头,其中一个

在Arch Linux上使用Devtools

在Arch Linux上使用Devtools

Devtools软件包最初是为受信任的用户制作的,可以为官方存储库正确创建软件包。但是,普通用户可以使用

在Vultr服务器上安装2019 Arch Linux

在Vultr服务器上安装2019 Arch Linux

简介Arch Linux的规模较小,但仍然比流行的发行版本强大。其理念截然不同,具有优势

如何在Arch Linux Web服务器上安装Python 3.7

如何在Arch Linux Web服务器上安装Python 3.7

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)正在运行的Web服务器,可以使用Apache或Nginx Sudo访问:命令需要

如何在Arch Linux Web服务器上使用HTTPS

如何在Arch Linux Web服务器上使用HTTPS

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)运行中的Web服务器,Apache或Nginx Sudo访问命令要求t

如何在Arch Linux上安装MongoDB 4.0

如何在Arch Linux上安装MongoDB 4.0

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文)Sudo访问:需要以root身份运行的命令以#开头,其中一个

在Arch Linux上构建软件包(包括AUR)

在Arch Linux上构建软件包(包括AUR)

在Arch Linux上,官方存储库为:核心,额外和社区。这些软件包已被编译,并通过pacman安装。向前

在Vultr服务器上安装Arch Linux

在Vultr服务器上安装Arch Linux

Vultr除了出色的模板之外,还为您提供了令人敬畏的功能,使您可以使用自己的自定义图像,从而使您可以运行

如何在Arch Linux上安装Apache 2.4

如何在Arch Linux上安装Apache 2.4

先决条件运行最新Arch Linux的Vultr服务器。有关更多信息,请参见本指南。须藤访问。需要以root用户身份运行的命令

如何在Arch Linux Web服务器上安装Perl 5.28

如何在Arch Linux Web服务器上安装Perl 5.28

先决条件运行最新的Arch Linux的Vultr服务器(请参阅本文。)正在运行的Web服务器,可以使用Apache或Nginx Sudo访问:命令需要

在Arch Linux上设置Team Fortress 2服务器

在Arch Linux上设置Team Fortress 2服务器

本教程说明了如何在Arch Linux上设置Team Fortress 2服务器。我假设您使用具有sudo访问权限的非root用户帐户登录

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息