ーーーーーーーーーーーーーーーーーーーーーーー
本記事は #CloudGarage Advent Calendar 2018 Day24 の記事です。
#CloudGarage Advent Calendar 2018 についてはこちらをご確認ください。
先日(12/23)は@CloudRemixさんの CloudGarageで「Heritrix」を動かす でした
ーーーーーーーーーーーーーーーーーーーーーーー
メリークリスマスイブ
Clom です。
今日は自分が普段遊んでいるゲームを
知り合いのみでワイワイやりたいときに必要なプライベートサーバーを構築しましたので、
その備忘録を兼ねて、、、
本記事は #CloudGarage Advent Calendar 2018 Day24 の記事です。
#CloudGarage Advent Calendar 2018 についてはこちらをご確認ください。
先日(12/23)は@CloudRemixさんの CloudGarageで「Heritrix」を動かす でした
ーーーーーーーーーーーーーーーーーーーーーーー
メリークリスマスイブ
Clom です。
今日は自分が普段遊んでいるゲームを
知り合いのみでワイワイやりたいときに必要なプライベートサーバーを構築しましたので、
その備忘録を兼ねて、、、
今回構築の題材にするのは Counter-Strike: Global Offensive です。
こちらのプライベートサーバの構築を行いました。
まずはインスタンス作成です。
前回の AdventCalendar で使用したプランの残りプールを利用して構築を行いました。
構成としては以下のものになります。
CPU: 2core/ Mem 4GB / Storage 200GB
接続許可設定に関してですが、今回のゲームサーバの構築を行うため、
かんたん設定を行わず詳細設定を利用しました。
基本的に自宅からの接続はすべて許可し、それ以外はゲームで使用する部分のみを許可する形をとっています。
今回の例だと、ゲーム側で使用するポートは次の通りになります。構築するゲームに合わせて必要なポートを設定してください。
- 27015/tcp, udp
- 27005/udp
- 27020/udp
- 51840/udp
つぎに SSH で該当のインスタンスに接続し設定を進めていきます。
パッケージのアップデートと必要なもののインストールを進めます。
また、 steam のコンソール操作用のユーザも作成します。
これ以降は steam のユーザで作業を進めます。
steam から steam_cmd のダウンロードを行います。
作業用のディレクトリを作成し、そこに設置を行います。
展開を行ったら ./steamcmd.sh で起動します。
起動すると Steam の shell が上がってきますのでログインを行い、ゲームデータをダウンロードします。
設定ファイルの一例がこちらになります。
細かい設定はこちらに書かれていますので用途に合わせて変更をしてください。
ただ大まかな設定のみこちらで解説します。
これでサーバを起動することができました。
接続はゲーム内で開発者コンソールを立ち上げ、以下のコマンドを入力することで接続できます。
こちらのプライベートサーバの構築を行いました。
まずはインスタンス作成です。
前回の AdventCalendar で使用したプランの残りプールを利用して構築を行いました。
構成としては以下のものになります。
CPU: 2core/ Mem 4GB / Storage 200GB
接続許可設定に関してですが、今回のゲームサーバの構築を行うため、
かんたん設定を行わず詳細設定を利用しました。
基本的に自宅からの接続はすべて許可し、それ以外はゲームで使用する部分のみを許可する形をとっています。
今回の例だと、ゲーム側で使用するポートは次の通りになります。構築するゲームに合わせて必要なポートを設定してください。
- 27015/tcp, udp
- 27005/udp
- 27020/udp
- 51840/udp
つぎに SSH で該当のインスタンスに接続し設定を進めていきます。
パッケージのアップデートと必要なもののインストールを進めます。
また、 steam のコンソール操作用のユーザも作成します。
sudo yum update -ysudo useradd -m steamsudo yum install glibc.i686 libstdc++.i686sudo -iu steam
これ以降は steam のユーザで作業を進めます。
steam から steam_cmd のダウンロードを行います。
作業用のディレクトリを作成し、そこに設置を行います。
mkdir ~/Steam && cd ~/Steamcurl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
展開を行ったら ./steamcmd.sh で起動します。
[steam@pichu Steam]$ ./steamcmd.shRedirecting stderr to '/home/steam/Steam/logs/stderr.txt'Looks like steam didn't shutdown cleanly, scheduling immediate update check[ 0%] Checking for available updates...[----] Verifying installation...Steam Console Client (c) Valve Corporation-- type 'quit' to exit --Loading Steam API...OK.Steam>
起動すると Steam の shell が上がってきますのでログインを行い、ゲームデータをダウンロードします。
login anonymousforce_install_dir /home/steam/Steam/cs_goapp_update 740 validateexit
次にサーバの設定を行います。
設定ファイルは以下の場所に格納されています。
設定ファイルは以下の場所に格納されています。
/home/steam/Steam/cs_go/csgo/cfg
設定ファイルの一例がこちらになります。
細かい設定はこちらに書かれていますので用途に合わせて変更をしてください。
ただ大まかな設定のみこちらで解説します。
hostname "CS:GO Server"
こちらはゲームに接続したときに表示されるホスト名になります。
こちらはゲームに接続したときに表示されるホスト名になります。
sv_lan "0"
LANモード(同一ネットワークのみの接続)を有効化するオプションです。 0 にしないと CloudGarage のネットワーク内の端末のみ接続を行える形になります。
sv_password "********"
こちらはユーザがサーバに接続を行うために必要なパスワードの設定になります。
LANモード(同一ネットワークのみの接続)を有効化するオプションです。 0 にしないと CloudGarage のネットワーク内の端末のみ接続を行える形になります。
sv_password "********"
こちらはユーザがサーバに接続を行うために必要なパスワードの設定になります。
sv_setsteamaccount "***********"
こちらは最近追加された設定です。サーバの所有者をID単位で特定するために使用するトークンです。
これがないと sv_lan 0 とした場合でも sv_lan 1 と同じ効果になります。
申請はこちらから行います。
こちらはサーバの所有者が自分であることを証明することになりますので、アカウントが不正利用で停止になった場合はこちらのサーバもネットワークからの接続を遮断します。
こちらは最近追加された設定です。サーバの所有者をID単位で特定するために使用するトークンです。
これがないと sv_lan 0 とした場合でも sv_lan 1 と同じ効果になります。
申請はこちらから行います。
こちらはサーバの所有者が自分であることを証明することになりますので、アカウントが不正利用で停止になった場合はこちらのサーバもネットワークからの接続を遮断します。
rcon_password "********"
こちらはゲーム内でサーバのコンソールを操作する場合に管理者であることを確認するパスワードになります。こちらを有効化することで開発者コンソールで rcon のあとに必要なコマンドを入れることでゲームに反映されます。
設定完了後は以下のコマンドを実行することで、サーバを起動することができます。
こちらはゲーム内でサーバのコンソールを操作する場合に管理者であることを確認するパスワードになります。こちらを有効化することで開発者コンソールで rcon のあとに必要なコマンドを入れることでゲームに反映されます。
設定完了後は以下のコマンドを実行することで、サーバを起動することができます。
cd cs_go./srcds_run -game csgo +map de_dust2 port 27015
これでサーバを起動することができました。
接続はゲーム内で開発者コンソールを立ち上げ、以下のコマンドを入力することで接続できます。
connect (IPアドレス); password (password)