TShockを用いてAWSでTerrariaのサーバーをたてよう
初めに
この記事は、フラー株式会社 Advent Calendar2023の21日目の記事となっています。
20日目はm-coderさんによる2023年を振り返るでした!
TShock
TShock(Terraria Server Hosting for Commands)
は、Terraria
(テラリア)というゲームのサーバー上で利用される、サーバー管理や権限管理のための拡張ツールです。Terraria
は多人数プレイが可能なサンドボックスゲームであり、TShock
はそのサーバーをより効果的に管理するためのプラグインです。
TShock
を使用することで、Terraria
サーバーのオーナーや管理者はプレイヤーに対して権限を与えたり、異なるコマンドを実行させたりすることができます。これにより、サーバー上でのゲームプレイやイベントの管理が簡単になります。また、TShock
はセキュリティ機能も提供しており、不正な活動や荒らし行為からサーバーを保護する役割も果たしています。
簡単に言えば、TShock
はTerraria
サーバーの管理を向上させ、プレイヤーに対する柔軟な権限管理を可能にするためのツールです。
今回はこのTShock
を用いてTerraia
のサーバーをたてていきます。
インスタンスを起動
早速AWS
を用いてEC2
インスタンスを起動していきましょう。
AWS
のアカウント登録などに関しては、今回の記事では省略させていただきます。
それでは早速、右上にあるオレンジ色の「インスタンスを起動」と書いてあるボタンを押下してください。
名前とタグ
任意の名前をつけてください。画像内ではTerraria Server
としました。
Application and OS Images
今回はUbuntsu Server 22.04 LTS(HVM), SSD Volume Type
の64ビット x86
アーキテクチャを選択してください。
インスタンスタイプ
t2.small
以上を選択してください。t2.micro
で一度作成したことがあるのですが、t2.micro
の性能ではTerraria
のWorld
を生成するのは厳しそうでした😭
キーペア
キーペアを選択してください。
キーペアがない場合は、「新しいキーペアの作成」を選択し、任意のキーペア名を入力してキーを作成し、割り当ててください。
画像ではキーペア名はTerrariaKey
。キーペアのタイプはRSA
。プライベートキーファイル形式は.pem
として作成しました。
ネットワーク設定
セキュリティグループに関してですが、自身の環境では誰でもサーバープレイできるようにするため、(0.0.0.0/0)
からのトラフィックを許可しています。
セキュアにしたい場合は、トラフィックを自身のIP
のみに制限しましょう。
ストレージを設定
8GB
で全然足りますので、8GB
で設定しましょう。
インスタンスを起動
以上の設定が終わり次第、インスタンスを起動を押下してください。
インスタンスに接続
今回作成したインスタンスに、インスタンスIDがあるのでそれを押下すると、パブリック IPv4 アドレスが確認できます。(下記画像以下)
確認後、chmod 400
で読み込み権限をTerrariaKey.pem
に与え、上記で確認したパブリック IPv4 アドレスを用いて一度インスタンスに接続してみましょう。
chmod 400 ~/Downloads/TerrariaKey.pem
ssh -i ~/Downloads/TerrariaKey.pem ubuntu@{パブリック IPv4 アドレス}
上記を行えば、ローカルでインスタンスに接続できるかと思います。
TShockをEC2で使う
続いて、TShock
をinstall
し、インスタンス内にファイルを移しましょう。
TShockのinstall
下記リンクから最新のTShock
をinstall
しましょう。
今回、Application and OS Images
でubuntsu
を使用したため、TShock-5.2-for-Terraria-1.4.4.9-linux-x64-Release.zip
などの、linux-x64
のものをinstall
してください。
インスタンスにTShockをコピー
install
した、TShock-5.2-for-Terraria-1.4.4.9-linux-x64-Release.zip
を解凍すると、TShock-Beta-linux-x64-Release
になるかと思いますので、それをインスタンスへコピーしましょう。
ssh -i ~/Downloads/TerrariaKey.pem ubuntu@{パブリック IPv4 アドレス} "mkdir -p ~/remote/path/"
scp -r -v -i ~/Downloads/TerrariaKey.pem ~/Downloads/TShock-Beta-linux-x64-Release ubuntu@{パブリック IPv4 アドレス} :~/remote/path/
上記が完成し、ローカルで開いたインスタンスに対してlsを行うと、
remote`ディレクトリが見当たるかと思います。
ubuntu@ip-{プライベートIP}:~$ ls
remote
dotnetのinstall
TShock
を起動するにはdotnet
が必要なため、dotnet
をインスタンスにinstall
してください。
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh -c 6.0
Terrariaのサーバーを開く
それでは、Terraria
のサーバーを開きましょう。
やり方は簡単で、今回TShock
でinstall
した、TShock-Beta-linux-x64-Release
内にTShock.Server
があるので、それを実行するだけです。
cd remote/path/TShock-Beta-linux-x64-Release
./TShock.Server & background
以上でTerraria
のサーバーが完成し、下記のように自身でWorld
を生成できるようになったかと思われます。
World
が完成次第、今回使用したパブリック IPv4 アドレスとWorld
生成時に付与したTCPポートにゲームで接続すれば完成です。
終わりに
さて、いかがでしたでしょうか?
AWS
に触れたことがない方でも、簡単にサーバーをたてることが出来たのではないでしょうか?
TShock
自体、なかなか使うことがないかもしれませんが、是非これを機会にフローだけでも覚えて帰ってくだされば幸いです。
ちなみに今回この記事を書く際、「サーバーをたてる」との言葉を使いましたが、皆さんは、「建てる」、「立てる」、「たてる」、どれを使われますでしょうか?(蛇足)
弊社ではサーバーサイドエンジニアを募集しておりますので、素敵な会社を宣伝しておきます。
ということで、今回のTShockを用いてAWSでTerrariaのサーバーをたてようの記事を終わりとさせていただきます。
次回はグミ大好きお兄さん、@nirazoさんのプログラミング教材を作ろう!Playground Book概論です!
Discussion