Terraria Journey's End最&高すぎだけどなんかMacだといろいろインストールしないとサーバーを建てられないみたいなので、Dockerで建てました。
環境
- ubuntu-server 20.04 LTS (ホスト)
- docker version 19.03.9
- docker-compose version 1.25.0
※Dockerとdocker-composeの導入はここでは載せません。
今回建てるTerrariaサーバ
- Terraria ver1.4.0.4
- TSHOCK ver 4.3.26
T-SHOCKとは
Terrariaサーバの大体はT-SHOCKとSteamフレンド経由で建てられているといっても過言ではない(主観)普通に建てるよりも軽いらしい、非常に細かい設定が出来る。ユーザーログイン、荒らし対策やアイテム持ち込み禁止などが設定でき、プラグインにも対応している。
作成
1. フォルダの作成
適当なフォルダ(今回はubuntu-serverという名前)を作成しその下に"docker-compose.yml"を作成。
ubuntu-server
└── docker-compose.yml
最終的にこうなる予定
ubuntu-server
├── docker-compose.yml
└── terraria/
├── Worlds(ワールドデータ)
├── logs(ログ)
└── plugins(プラグイン)
2. docker-composeファイルの編集 & サーバ立ち上げ
今回はT-shockのDockerfileがあるのでそれを利用する。
viやnano等のテキストエディタで"docker-compose.yml"を作成する。
version: "3"
services:
terraria:
image: ryshe/terraria:latest
ports:
- "7777:7777"
# ボリュームマウントして永続化している
volumes:
- ./terraria/Worlds:/root/.local/share/Terraria/Worlds
- ./terraria/logs:/tshock/logs
- ./terraria/plugins:/plugins
Terrariaのサーバーを立ち上げる
docker-compose up -d
3. ワールドデータを作成する
Terrariaのサーバを立ち上げているコンテナに入る
docker-compose exec terraria /bin/bash
"/tshock"に入れるのでshでbootstrap.shを実行
sh /bootstrap.sh
質問に答えてワールドを生成していく
※ワールド名は後に使用するので控えておいて下さい。
[Server API] Info Plugin TShock v4.4.0.0 (by The TShock Team) initiated.
Terraria Server v1.4.0.4
n New World (新規作成)
d <number> Delete World
Choose World: n (新規作成のnを入力しEnter)
####################
####################
Terraria Server v1.4.0.4
1 Small
2 Medium
3 Large
Choose size: 3 (ワールドのサイズはラージの3で)
####################
####################
Terraria Server v1.4.0.4
1 Classic
2 Expert
3 Master
4 Journey
Choose difficulty: 3(新規追加されたMasterの難易度を選ぶ)
####################
####################
Terraria Server v1.4.0.4
1 Random (ランダム)
2 Corrupt (不浄の地)
3 Crimson (クリムゾン)
Choose world evil: 1(不浄かクリムゾンもしくはランダムを選ぶ今回はランダム)
####################
####################
Terraria Server v1.4.0.4
Enter world name: test-world (ワールド名 ※半角英数字 ※控えておく)
####################
####################
Terraria Server v1.4.0.4
Enter Seed (Leave Blank For Random): (シード値 今回は空)
####################
####################
生成される(省略)
####################
####################
最初のワールド選択に戻ると思うので、Ctrl+Cで抜ける
生成が完了したらコンテナを抜けましょう
exit
4. docker-composeの再編集
コンテナを一旦ダウンさせます
docker-compose down
viやnano等のテキストエディタで再び"docker-compose.yml"を編集する。
version: "3"
services:
terraria:
image: ryshe/terraria:latest
ports:
- "7777:7777"
# ボリュームマウントして永続化している
volumes:
- ./terraria/Worlds:/root/.local/share/Terraria/Worlds
- ./terraria/logs:/tshock/logs
- ./terraria/plugins:/plugins
# 追加ポイント
# 先ほどの "ワールド名 + .wld"
environment:
WORLD_FILENAME: "test-world.wld"
編集が完了したら再びコンテナを立ち上げる
docker-compose up -d
これで立ち上げ完了
これでDockerでサーバが立ち上げることが出来ました。良いTerrariaライフを!!
6. あとがき
深夜テンションの殴り書きで書いたので不備があるかもしれません、なにか問題があればコメントでお願いします。