在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软件包最初是为受信任的用户制作的,可以为官方存储库正确创建软件包。但是,普通用户可以使用

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

如果直接使用makepkg,它将对您的系统造成一定的污染。必须安装base-devel软件包组。这样,默认情况下,仅需要依赖项

在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用户帐户登录

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。