オンラインゲームサーバーの設定に関する完全なチュートリアル Garry's Mod
この記事では、サーバー管理者とゲーマー向けに、Garry's Mod オンライン ゲーム サーバーをセットアップするための手順を説明したチュートリアルを提供します。.

Garry's Modオンラインゲームサーバーの設定に関する完全なチュートリアル

この記事では、Garry's Mod オンラインゲームサーバーの設定方法をステップバイステップで解説します。適切な場所の選択、SRCDS のインストールと設定、セキュリティ設定、ping とハードウェアリソースの最適化などのヒントも含まれています。.
0 株式
0
0
0
0

安定的かつ安全で、低遅延の Garry's Mod サーバーをセットアップする準備はできていますか?

サーバー管理者、ゲーマー、DevOpsチーム向けのこのステップバイステップガイドでは、SteamCMDを使用してGarry's Modサーバー(SRCDS)をセットアップするプロセス全体を解説します。この記事では、適切な場所の選択、SRCDSのインストールと設定、RCONやファイアウォールなどのセキュリティ設定、pingとハードウェアの最適化、ワークショップの管理、アップデートとバックアップの自動化、メンテナンスと監視に関する実用的なヒントなどを網羅しています。.

適切な場所と計画の選択

Garry's Modでは、プレイヤーの体験がping値に大きく左右されるため、ロケーションの選択は非常に重要です。特定の国にお住まいのプレイヤーは、最寄りのデータセンターを選択してください。ヨーロッパ(フランクフルト/ロンドン)、北米(ニューヨーク/シカゴ)、西アメリカ(ロサンゼルス)、アジア(シンガポール/東京)、オーストラリア(シドニー)、ブラジル(サンパウロ)からお選びください。.

以下のpingの目的 80ミリ秒 許容できる経験とそれ以下 60ミリ秒 競争的な経験を積むのにおすすめです。.

プレイヤー数に応じたハードウェアの推奨

  • 小規模(最大12人まで): 2 つの vCPU、4 GB RAM、SSD、100 Mbps の帯域幅。.
  • 中規模(12~32人のプレイヤー) 4 vCPU、8〜16 GB RAM、NVMe SSD、1 Gbps。.
  • 大規模(32 人以上のプレイヤーまたは重いアドオン): 6 個以上の vCPU、32 GB 以上の RAM、NVMe、1~10 Gbps、高 I/O サーバー。.

レイテンシを最小限に抑え、攻撃から保護するために、専用のゲームサーバーまたはアンチDDoSサーバーを使用してください。ダウンロードファイル(マップ、アドオン)をCDNに配信することで、帯域幅を削減し、ダウンロードを高速化できます。.

前提条件とシステムの準備

推奨オペレーティング システム: Ubuntu 20.04/22.04 または デビアン 11/12. システムを更新し、前提条件をインストールするには、sudo アクセス権を持つユーザーとして次のコマンドを実行します。.

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget lib32gcc-s1 lib32stdc++6 ca-certificates screen tmux unzip

パッケージが steamcmd タンクで入手可能:

sudo apt install -y steamcmd

それ以外の場合は、SteamCMD を手動でインストールします。

sudo mkdir -p /opt/steamcmd
sudo chown $USER:$USER /opt/steamcmd
cd /opt/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

サーバーを実行するための非 root ユーザーを作成します。

sudo useradd -m -s /bin/bash gmod
sudo passwd gmod
sudo mkdir -p /home/gmod/server
sudo chown -R gmod:gmod /home/gmod

SteamCMDでSRCDSをダウンロードしてインストールする

gmod ユーザーにログインし、SteamCMD を実行して Garry's Mod サーバーをインストールします。

sudo su - gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quit

ワークショップアイテム(コレクションやマップなど)をダウンロードするには:

/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +workshop_download_item 4020 <WORKSHOP_ID> +quit

SRCDS の起動時にコレクションを自動的にロードするには、次のパラメータを使用します。

+host_workshop_collection <COLLECTION_ID> +host_workshop_authkey <STEAM_WEB_API_KEY>

サーバー構成 - server.cfg と実行パラメータ

基本設定ファイルをパスに置く /home/gmod/server/garrysmod/cfg/server.cfg 作成または編集します。基本設定の例:

hostname "My GMod Server"
rcon_password "PUT_A_STRONG_PASSWORD_HERE"
sv_password ""
sv_cheats 0
sv_lan 0
sv_allowdownload 1
sv_allowupload 1
sv_maxrate 30000
sv_minrate 5000
sv_timeout 120
sv_voiceenable 1
sv_pure 0
sv_region 3

設定のヒント:

  • sv_maxrate そして sv_minrate 帯域幅とプレーヤーの数に基づいて調整します。.
  • MODを管理し、ファイルにアクセスするには ワークショップコレクション プレーヤーがファイルを自動的にダウンロードできるようにするために使用します。.

SRCDS 実行パラメータの例:

cd /home/gmod/server
./srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015 +host_workshop_collection <COLLECTION_ID> -autoupdate

サーバーをsystemdサービスとして実行する

管理を容易にし、起動時に自動的に起動する systemd サービスを作成します。サービスファイルの作成例:

sudo tee /etc/systemd/system/gmod.service <<'EOF'
[Unit]
Description=Garry's Mod Server
After=network.target

[Service]
Type=simple
User=gmod
WorkingDirectory=/home/gmod/server
ExecStart=/home/gmod/server/srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015
Restart=on-failure
RestartSec=10
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable gmod.service
sudo systemctl start gmod.service
sudo journalctl -u gmod.service -f

ファイアウォール、ポート、ネットワークセキュリティ

一般的な Garry's Mod / SRCDS ポート:

  • UDP 27015 (ゲームとクエリ)
  • TCP/UDP 27015 (RCON は TCP を使用する場合があります)
  • UDP 27005 (Steam クライアント)

UFW を使用した構成例:

sudo ufw allow 27015/tcp
sudo ufw allow 27015/udp
sudo ufw allow 27005/udp
sudo ufw enable

DDoS 攻撃から保護するには、DDoS 対策サーバー プランを使用して、ネットワーク攻撃がサーバーに到達する前にフィルター処理します。.

パフォーマンスを最適化し、pingを減らす

サーバーのパフォーマンスを向上させるための重要なヒント:

  • RTT を下げるには、プレーヤーに近い場所を選択します。.
  • SSD/NVMe を使用して、マップの読み込み時間を短縮し、I/O を向上させます。.
  • 物理計算には高周波 CPU を使用します。GMod は多くの場合、シングルコア周波数に依存します。.

ネットワークカーネル設定(例):

sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400

また、リソースとプレイヤー数に基づいて sv_maxrate、tickrate、maxplayers のバランスを取り、負荷の高い MOD をサーバーにリリースする前にテストします。.

Mod管理、ワークショップ、ダウンロードの自動化

SteamCMD を使用してワークショップから MOD を追加します。

/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +workshop_download_item 4020 <WORKSHOP_ID> +quit

提案: コレクションを使用し、そのIDをパラメータに渡します +ホストワークショップコレクション サーバーの実行中にアイテムをダウンロードするように Steam を設定します。.

アドオンを手動でインストールするには、ファイルをコピーするだけです。 garrysmod/アドオン それを挿入してサーバーを再起動します。.

自動更新とバックアップ

SRCDS を更新するための簡単なスクリプト:

#!/bin/bash
systemctl stop gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quit
systemctl start gmod

cron に入力します (例: 毎日午前 4 時):

sudo crontab -e
0 4 * * * /home/gmod/update_gmod.sh >> /var/log/gmod_update.log 2>&1

バックアップ: フォルダから garrysmod/マップgarrysmod/アドオン 定期的にcfgバックアップを実行してください。迅速な復旧には、rsyncまたはクラウドインフラストラクチャのスナップショットとオブジェクトストレージ(S3互換)を使用してください。.

監視、ログ、メンテナンス

ログイン garrysmod/ログ および systemd が表示されます。logrotate を使用してログをローテーションします。.

サーバーの状態を監視するには、次のようなツールを使用します。 プロメテウス + グラファナ または ザビックス CPU、RAM、ネットワーク、パケット損失を監視することをお勧めします。.

スケジュールされた再起動(例:6~12 時間ごと)により、メモリ リークやアドオンによって引き起こされる問題を軽減できます。.

マネージャーとDevOpsのための実践的なヒント

  • 最初にステージング サーバーで更新をテストして、mod の問題を特定します。.
  • IP の変更を容易にするために、サーバーのドメイン名または DNS を使用します。server.example.com の A レコードを作成します。.
  • ファイルのダウンロードには CDN を使用し、高可用性のためにロード バランサと BGP/Anycast を使用します。.

ベスト プラクティス: 容量を増やす場合やパブリック サービスを提供する場合は、CDN へのファイル トラフィック分割と分散設計を使用して、サーバーの負荷を軽減し、可用性を向上させます。.

要約と一般的な推奨事項

このガイドに従うことで、SteamCMDを使ったSRCDSのインストールから、server.cfg、systemdサービス、ファイアウォール、DDoS対策の設定まで、安定的かつ安全で最適化されたGarry's Modサーバーを構築できます。最適なパフォーマンスを得るには、設置場所、適切なハードウェア、CDNの使用に注意してください。.

対象ユーザーに最も近いデータセンター (例: ヨーロッパ: フランクフルト/ロンドン、アジア: シンガポール/東京) が、ping を最も低くする最適なオプションです。.
非ルートユーザーを作成し、SteamCMD をダウンロードし、SteamCMD から +app_update 4020 コマンドを実行することで、SRCDS をインストールできます。.
必要な場合にのみ RCON を有効にし、強力なパスワードと IP アクセス制限を使用し、可能であれば管理トンネルまたは VPN を活用します。.
コレクションを使用し、その ID を +host_workshop_collection に設定すると、Steam でアイテムが自動的にダウンロードされます。公開する前に負荷の高い MOD をテストしてください。.
マップ、アドオン、cfg フォルダーを rsync またはクラウド スナップショットを使用して定期的にバックアップし、オブジェクト ストレージ (S3 互換) に保存することがベスト プラクティスです。.

あなたも気に入るかもしれない