カウンターストライクのセットアップ:Arch LinuxでのGlobal Offensive(CSGO)サーバー

このチュートリアルでは、Arch LinuxでCounter-Strike:Global Offensiveサーバーをセットアップする方法について説明します。

このチュートリアルは、標準ユーザーアカウントでログインし、sudo権限を持っていることを前提としています。AURでのパッケージのビルドはrootアカウントから行われるべきではないため、通常のユーザーアカウントを使用します。

あなたが始める前に

64ビットバージョンのArch Linuxを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を使用して、パッケージのtarballをダウンロードします。

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がインストールされ、Counter-Strike:Global Offensiveサーバーをダウンロードする準備が整いました。

Counter-Strike:Global Offensive Serverをインストールする

このガイドでは、別のユーザーを使用してサーバーを実行するため、に独自のホームフォルダーを持つ新しい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を使用してサーバーを実行しますが、screenの使用方法を好み、その方法を知っている場合は、気軽に使用してください。

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

以下を追加し、ゲームモードとタイプがあるため、必ず開始コマンドの行を確認してください。

#!/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は、ルートのみがファイルを変更できる領域にインストールされます(「SteamCMDのインストール」セクションの注記を参照)。SteamCMD自体をアップグレードする必要がある場合は、ルートとして実行してください。

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

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。