【Rust】CentOSでサーバー立ててみた!

【Rust】CentOSでサーバー立ててみた!

はじめに

「Rust」流行ってますね!!

2013年のアーリーアクセス、2018年の正式リリースと歴史は長いですが、最近は有名ストリーマーの配信で最大の盛り上がりを見せているようです。

いわゆるオープンワールド型のサバイバルゲームで、クラフトをしながら拠点を育てて楽しんでいくゲームですが、配信者それぞれの個性によって様々な役割や戦略性が発揮され、連日とっても面白い人間ドラマが展開されています。

この「Rust」ですが、一般的にはサーバーを選択して参加するゲームですが、自分でカスタムサーバーを立てる事で仲間内で独自ルールで楽しんだりする事も可能です。

ただし、サーバーを立てるにはある程度システム的な知識や対応が必要になるので、初心者にはちょっとハードルが高い部分もあります。(海外には簡易的に立てられる仕組みもあります。)

今回、かえおじさんがサーバーを立てるためのお手伝いをしましたので、備忘録かねて手順についてまとめてみました。

※ひとまずサーバーは立ちましたがセキュリティ対策や設定など今後考慮する必要がありそうなのであくまでご参考までに。

サーバー環境

今回使用した環境は以下です。

レンタルサーバーさくらのVPS4Gプラン(仮想4Core,4GBメモリ,SSD 200GB)
OSCentOS7 X86_64

レンタルサーバーにはいくつか選択肢があるのですが、かえおじが色々試した結果さくらに落ち着きました。スペックは最小構成に近い形になっています。

OSは少し触ったことがあったのでCentOSです。


さくらのVPS OSインストール

事前にさくらのVPSの契約を行ったうえでOSのインストールを行います。

OSはひとまずほぼデフォルトでインストールしてみました。

サーバーを選んでOSインストール

「OS再インストール」を選択

「標準OS」を選択

「CentOS 7 x86_64」を選択

管理者のパスワードを設定してOSをインストール

サーバー情報のグローバルネットワークからパケットフィルターを設定する。(SSHはIPアドレスも制限するべきですね。。。)

必要なパッケージのインストール

Rustのサーバ用のプログラムをインストールするために必要なライブラリをパッケージからインストールします。

インストールにはコマンドラインを使用するため、管理画面からVNCコンソールに接続するか、SSHにてサーバーに接続します。

SSHでの接続には「TeraTerm」などを使用して、サーバーのネットワーク情報に表示されているアドレスに対して接続を行います。※ここではSSH接続の説明については割愛します。

以下のコマンドを使用して必要なパッケージをインストールします。

#yum install -y glibc.i686
#yum install –downloadonly –downloaddir=/var/tmp/ libstdc++.i68686

Is this ok [y/d/N]: y

SteamCMDでの設定

次に、「SteamCMD」をインストールして起動し、Rustサーバー用のプログラムをインストールします。

# cd ~
# mkdir ~/Steam; cd ~/Steam
# curl -sqL “https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz” | tar zxvf –
steamcmd.sh
# ./steamcmd.sh

Steam>force_install_dir /opt/rust_srv
Steam>login anonymous
Steam>app_update 258550 validate
Steam>exit


スクリプトの作成

インストールしたサーバー用プログラム内にあるサーバー起動用のコマンドを実行するためのスクリプトを作成します。

# cd /opt/rust_srv/
# vi startrust.sh

#!/bin/sh
clear while : do
exec ./RustDedicated -batchmode -nographics \
-server.ip <サーバーのIPアドレス入れる> \
-server.port 28015 \
-rcon.ip <サーバーのIPアドレス入れる> \
-rcon.port 28016 \
-rcon.password <“パスワード”> \
-server.maxplayers 20 \
-server.hostname <“Rustでのサーバー名”> \
-server.identity “my_server_identity” \
-server.level “Procedural Map” \
-server.seed 12345 \
-server.worldsize <マップサイズ 6000ぐらいとか?> \
-server.saveinterval 300 \
-server.globalchat true \
-server.description “Description Here” \
-server.headerimage <何に使われるか分かんない> \
-server.url <何に使われるか分かんない>
echo “\nRestarting server…\n” done

サーバーの起動

サーバを起動します。(ほんとは別アカウントを作って起動した方がいいです。)

# chmod u+x startrust.sh
# ./startrust.sh &

これでサーバーが起動されます。

サーバーの起動には時間がかかるので、ゆっくりお茶でも飲んでから接続確認をしてみましょう。

接続確認

Steamからサーバーへの接続が出来るか試してみます。

Steamのメニューから「表示」⇒「サーバー」を選択

「お気に入り」⇒「サーバーを追加」を選択

サーバーのIPアドレスと使用しているポートを入力しお気に入りに追加

サーバーが認識されていれば、リストに追加したサーバーが表示される。

この一覧から対象のサーバーをダブルクリックするとRustが起動されサーバーに接続されます。

また、Rust内のファボサーバーにも表示されるようになります。

最後に

以上です。

今回は最低限サーバを立てて遊べる状況までもっていきました。

パラメータの変更やホワイトリスト化、セキュリティの設定など色々とやることも出てきそうですので、気が向いたらまた追記をしていきます。