GCPで無料でterrariaの24時間稼働のMODマルチサーバーを建てる

terraria

なんだかテラリアのマルチサーバーばっかり建ててます。 テラリア好きすぎです!

以前さくらのVPSの972円のプランで建てたterrariaサーバーがMOD3つ入れてるからなのか、重すぎで急に夜になったりするしラグもひどいので、(バニラの時はさくさく動いてた)プランを上位のものにするかどうするかなーと考えてたところ、google cloud platformの無料枠があったので、それを使ってみることにしました。

 

●googleアカウントをもっていれば誰でもGoogle Cloud Platformの12か月間利用可能な$300分のトライアル用クレジットが使えるのでそれを使っていくことにします。

●なのでクレジットがなくなるまでにクリアしなくては!

●クレジット$300分を使って多分半年くらいは運用できるかな?といった感じ
(MODを3つ入れて6人くらいでプレイして快適に動かす場合)

●ちなみに入れたMODはCalamitytremorThoriums の3つです。
(というかこれしか入れたことないし他にどんなのがあるかよく知らない…。)

●MOD入れない場合は 5.terrariaのインストール までやればOK。マシンタイプも小さいもので良いと思うのでもっと長く使えると思います。

 

 

1. Google Compute Engineへ登録

Compute Engine - IaaS  |  Compute Engine  |  Google Cloud

「Google Compute Engine」のページへアクセスし無料トライアルをクリック。

google compute engine

お知らせを受けとるかなど聞かれるので、選択して同意して続行をクリック

google compute engine

ここでクレジットカードの課金を有効にしないと始められません。私は別件でクレジットカード情報は登録済みだったので、課金を有効にするだけですが、クレジットカードを登録していない場合はここで登録するようです。 有効にしても勝手に課金されたりしないです。

google compute engine

準備完了まで待てば、まずは登録完了です。

google compute engine

2. インスタンスを作成する

1.作成ボタンがアクティブになったら作成ボタンをクリック。

2.名前はわかりやすいようにterrariaとしました。

3.リージョン東京を選択。

4.マシンタイプ はいったんsmallにしました。
「micro」にすると、インスタンス1個まではずっと無料で使えるらしいですが(USリージョンのみ)、 今回はさくらのVPSの972円のプランで建てたterrariaのMODサーバーが重いという理由からなので、メモリ1.7Gのsmallを選択してみました。さくらは1Gだったので1.7倍です。
(結局この後メモリ不足?でゲームが終了されてしまうので、メモリ3.75Gのn1-standardに変更しています)

バニラのterrariaとか、軽量らしいTshockというやつであれば人数によっては、「micro」でも動くかも?

5.ブートディスクをCentOS 7に変更。
今までCentOSで動かしてきてうまく動いてるからっていうだけです。

6.後はデフォルトのままで作成をクリック

google compute engine

3.ファイアーウォールの設定

外部から接続するためにファイアーウォールの設定をします。

1.左上のナビゲーションメニューからVPCネットワークファイアーウォールルールと選択

ファイアーウォールの設定

2.ファイアーウォールルールを作成をクリック

ファイアーウォールルールを作成

3.名前はわかりやすいようにterrariaとしました。

4.ターゲットタグのところにテラリアはデフォルトでポート7777を使うのでterraria7777に。

5.そして、プロコトルとポートのところにtcp:7777と入力。

6.作成ボタンをクリックするとファイアーウォールルールが作成されました。

ファイアーウォールルールを作成

7.左上のナビゲーションメニューからCompute EngineVM インスタンスと選択

ファイアーウォールルールを作成

8.さっき作ったインスタンスを選択して

ファイアーウォールルールを作成

9.画面上部の編集をクリック

ファイアーウォールルールを作成

10.ネットワークタグのところにさっき作成したterraria7777を入力して保存でOKです。

ファイアーウォールルールを作成

4.インスタンスに接続する

インスタンスに接続

インスタンスが作成できたらSSHをクリックするとインスタンスに接続できます。 私は、SSH接続にいつも使ってるteraTermを使いたかったので、下記の記事を参考にさせてもらって接続しました。

めもちょー Tera TermでGCPにssh接続する プロジェクト共通sshキー

5.terrariaのインストール

1.まずはwgetとunzipをインストールしておく

$ sudo yum -y install wget
$ sudo yum -y install unzip

 
2.terrariaのインストールディレクトリを作成して移動

$ mkdir terraria
$ cd terraia

 
3.terrariaの最新のサーバーソフトをインストール

以下で最新のサーバーファイルのURLを調べてダウンロード
Server - The Official Terraria Wiki
現時点でTerraria Server 1.3.5.3が最新だったのでこれをダウンロードします。

$ wget http://terraria.org/server/terraria-server-1353.zip

 
4.ダウンロードしたzipファイルを展開

$ unzip terraria-server-1353.zip

 
5.展開前のzipファイルはいらないので削除しておく

$ rm terraria-server-1353.zip

 
6.必要なファイルをterrariaMod直下にコピー
必要なファイルは展開したファイルの中の1353/Linux/以下のファイルなので、これをメインのディレクトリterraria直下にコピーします。

$ cp -r 1353/Linux/* ./

 
7.MODを入れない場合(入れる場合はとばす) MODを入れないでバニラのterrariaで遊ぶなら、以下のとおり実行権限を付与して起動すればOK。

$ chmod 744 TerrariaServer.bin.x86_64
$ ./TerrariaServer.bin.x86_64

6.tModLoaderのインストール

MODをいれて遊ぶ場合は、tModLoaderをダウンロードします。

ここで最新のtModLoaderのLinux版のダウンロードURLを調べてダウンロード
Releases · blushiemagic/tModLoader · GitHub

tModLoaderのインストール

1.調べたURLを指定してダウンロード

$ wget https://github.com/blushiemagic/tModLoader/releases/download/v0.10.1.3/tModLoader.Linux.v0.10.1.3.zip

 
2.tModLorderを展開して上書き

$ unzip tModLoader.Linux.v0.10.1.3.zip

 
3.展開済みのzipファイル消しときます
もういらないので

$ rm tModLoader.Linux.v0.10.1.3.zip

 
4.実行権限を付与して実行 このままでは実行できないので実行権限を付与

$ chmod 744 tModLoaderServer.bin.x86_64
$ ./tModLoaderServer.bin.x86_64

7.MODの導入

各種MODのダウンロード
実行するとこんなかんじでメニューが表示されるので[b]キーを押下。

n       New World
d <number>Delete World
m               Mods Menu
b               Mod Browser

ダウンロードするModの名前を正確に入力といわれるので、入れたいMODの名前をいれるとダウンロードされます。

Type an exact ModName to download:
ThoriumMod

このModの正確な名前というのを調べるには、クライアントソフトの方で先にMODを導入し、入れたいMODをダウンロード、有効にしておきます。 こちらの記事などを参考に…

TerrariaのMod導入方法:はぐぅのブロマガ - ブロマガ

そうすると以下のディレクトリにModフォルダができるので(環境によって違うかも)
C:\Users\USERNAME\OneDrive\ドキュメント\My Games\Terraria_mod\ModLoader\Mods
この中のenabled.jsonを開くと正確なMODの名前が入っています。 必要なModのインストールがすんだら[b]キーで前にもどります。

Modを有効にする
[m]キーを押下するとMODの有効・無効を切替えるメニューが表示されるので、[e]ですべて有効に。 [r]で前にもどります。

ワールドを作成
[n]キーで新しいワールドを作成します。 ワールドの大きさ・難易度を選択しワールド名をいれたら作成開始!無事作成されれば成功です。

8.ワールドに接続する

ゲームが起動したらいよいよワールドに接続します!

1.PC側でもtModLoaderの導入が必要ですので、以下の記事などを参考にさせてもらって、導入しておいてください。
サーバーに接続すると自動的にサーバーで有効にしたMODをダウンロードするので、tmodの導入だけで大丈夫です。

TerrariaのMod導入方法:はぐぅのブロマガ - ブロマガ

2.左上のナビゲーションメニューからCompute EngineVM インスタンスと選択

ワールドに接続する

3.IPアドレスを調べる
外部IPというのが、ゲームに接続するためのIPアドレスなので、これをメモしておきます。

IPアドレスを調べる

4.terrariaを立ち上げてマルチプレイヤーを選択

ワールドに接続

5.IP経由で参加を選択

ワールドに接続

6.プレイヤーを作成または選択して

ワールドに接続

7.サーバーIPのところにさっき調べたIPアドレスを入力

ワールドに接続

8.ポートは7777のままで

ワールドに接続

9.ワールド作成時にパスワードを設定した場合は、それを入力

ワールドに接続

10.無事接続できました。

ワールドに接続

9.補足(マシンタイプを変更したこと)

マシンタイプをsmallにしてプレイしてたら、さくさく動いてるのに、突然ゲームが落ちたのでSSHで接続して確認してみると、メモリ不足で強制終了みたいなことが書いてありました。

こちとら、ミディアムコアでプレイしてるので、死んでアイテム落としてる間にゲームが落ちたらアイテムが消滅するやん!!!

ということでマシンタイプをsmalからn1-standardに変更。
6人で画面いっぱいにうごくボス戦とかやっても全然余裕です。

 

Let's TERRARIA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!