ValheimのマルチサーバーをさくらのVPSに構築する手順

Valheimというオープンワールドサバイバルゲームをご存知でしょうか。アーリーアクセスにもかかわらず、2021年2月15日に売上が200万本を突破したということで今ホットなゲームのひとつです。

Valheimはひとりでプレイするほかに、複数のユーザーとオンラインでプレイすることもできるようになっています。Windows PCがあればマルチプレイは可能ですが、普段使用しているPCのTCP/UDPポートを開放しなければいけなかったり、利用中は電源をONにしておかなければならないなどの懸念があります。

そこで今回はさくらのVPSを使って、Valheimのマルチサーバーを構築する手順をご紹介します。

# VPSの準備

さくらのVPS コントロールパネルのVPS一覧で、使用するVPSの行をダブルクリックします。(ここで指定したVPSはOSのインストールが行われ、ストレージ内のデータがすべて消去されますのでご注意ください。既存のVPSを使用する場合は、必要なデータのバックアップを必ず取っておいてください)
![WS001553.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/f27b7daf-4b28-6cea-6366-a9a5da4d5214.jpeg)

各種設定→OSインストールをクリックします。
![WS001554.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/9b90bb27-be1e-33a2-5e7a-2a3f16560102.jpeg)

「OSインストール形式の選択」で[標準OS]を選択します。
![WS001555.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/0556b8bd-b313-004a-fbbe-3a5bebccb184.jpeg)

[Ubuntu 20.04 amd64]を選択し、VPSにログインする際に必要になるパスワードを入力します。
![WS001556.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/f8d27b9b-4397-0da9-4435-10b16974092f.jpeg)

パケットフィルタの設定で、Valheim Dedicated Serverで使用するTCP/UDPポートを開放します。開放するポートはTCP2456・2457・2458と、UDP2456・2457・2458です。
![WS001547.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/b89e7a39-9c77-1542-9b36-95462bce4b25.jpeg)

一番下にスクロールし、[設定内容を確認する]をクリックします。
![WS001557.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/361abb2e-1135-7c58-552c-3ba2f02afcd2.jpeg)

内容に問題がなければ[インストールを実行する]をクリックします。
![WS001558.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/45546214-f9df-5f9c-aee4-90f1728c2aee.jpeg)

OSのインストールが開始されます。赤枠部分が[稼働中]になれば利用可能な状態になります。
![WS001559.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/7b9f8e42-d16f-82ab-e7d4-c983c61fae54.jpeg)

ここから先はSSHまたはコンソールでUbuntuにログインして実施します。

# SteamCMDのインストール

以下のコマンドを入力してSteamCMDをインストールします。

```
$ sudo apt install software-properties-common
$ sudo add-apt-repository multiverse
$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo apt install steamcmd
```

# Valheim Dedicated Serverのインストール

作業用のディレクトリを作成して移動します。

```
$ mkdir valheim_server
$ cd valheim_server
```

以下のコマンドを入力してValheim Dedicated Serverをインストールします。"896660"というのが、Valheim Dedicated Serverを示すIDになります。

```
$ steamcmd +login anonymous +force_install_dir ./  +app_update 896660 validate +exit
```

Valheim Dedicated Serverを起動するスクリプトstart_server.shを編集します。以下の例ではviを使用して編集していますが、他のお好みのエディターで構いません。

```
$ vi ~/.steam/steamapps/common/Valheim\ dedicated\ server/start_server.sh
```

編集するのは以下の行です。

```
./valheim_server.x86_64 -name "＜サーバーリストでの表示名＞" -port 2456 -world "Dedicated" -password "＜パスワード＞" -public 1 > /dev/null &
```

サーバーリストでの表示名はサーバーを検索する際のキーになりますので、わかりやすい名前にすることをおすすめします。パスワードはユーザーがサーバーに参加する際に必要になるものです。半角英数6文字以上で任意の文字列を入力します。

# Valheim Dedicated Serverの起動

以下のコマンドでValheim Dedicated Serverを起動します。

```
$ cd ~/.steam/steamapps/common/Valheim\ dedicated\ server/
$ nohup ./start_server.sh &
```

# Valheimからサーバーに接続

Steamクライアントを起動し、[表示]→[サーバー]をクリックします。

[お気に入り]タブをクリックし、右下の[サーバーを追加]をクリックします。
![WS001563.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/94d3650c-7d4b-615a-be7c-27e530237085.jpeg)

＜サーバーのIPアドレス＞:2457と入力し、[このアドレスをお気に入りに追加]をクリックします。
![WS001565.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/7d9aac1a-be82-ae83-bb52-b7feb9dcc803.jpeg)

Valheimを起動し、[START GAME]を選択します。
![WS001560.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/a0063fcd-09bf-2747-36ce-59143a3d05ef.jpeg)

Select Character画面でキャラクターを選択し、[Start]をクリックします。
![WS001561.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/ee693193-0beb-9bd0-82ba-3b4b4c7790b1.jpeg)

New World画面でCalcelをクリックします。
![WS001562.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/f8457309-8d3f-040d-76ea-237bd85689f4.jpeg)

[Join Game]タブをクリックし、[Community]ラジオボタンをクリックし、作成したサーバーの検索ワードを入力して自分の作成したサーバーが表示されたらその行をクリックし、[Connect]をクリックします。
![WS001568.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/7c73752b-2b25-53a0-67e6-038c20de3c95.jpeg)

接続に成功するとパスワードを聞かれますので、start_server.shに入力したパスワードを入力しEnterキーを押下します。
![WS001569.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/844d54e5-30af-c342-7e97-1b200744e4cb.jpeg)

接続に成功するとゲームがはじまります。
![WS001570.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101811/514a44d6-94da-f6e5-afa3-7afab61178ec.jpeg)

以上で手順は完了です。enjoy.