LoginSignup
0
0

AWS EC2(ubuntu22.04)をValheim Serverにする

Posted at

image.png
AWS EC2をValheimゲームサーバとして利用します。

■構成

Valheim Server : Ubuntu22.04
Valheim Client : Windows11

■公式wiki

1.EC2の作成

EC2を作成します。
Valheim Offical Wikiの推奨要件に従い、vCPU 4core以上となるt3.xlargeを使用します。
(その他割愛)

image.png

2.セキュリティグループの設定

Ubuntu接続用のSSHのほか、Valheim要件のUDP 2456-2458も通信許可します。

image.png

3.ubuntu設定

以降、ubuntuにSSHで接続して操作を実行します。

3-1.初回アップデート

以下コマンドを実行し、いったん再起動します。

update
$ sudo su -
# apt -y update
# apt -y upgrade
# reboot

3-2.steamcmdインストール

valheimをインストールするためのコマンドに使用するsteamcmdをインストールします。

root昇格
$ sudo su -
steamcmd
# add-apt-repository multiverse; dpkg --add-architecture i386; apt -y update
# apt install -y steamcmd

3-3.valheimサーバインストール

valheimのサーバアプリケーションをインストールします。
指定ディレクトリ /valheim にダウンロード等するかたちとしています。

ディレクトリ作成
# mkdir /valheim
valheimインストール
# steamcmd +login anonymous +force_install_dir /valheim +app_update 896660 validate +exit

+force_install_dirオプションの値としてダウンロードディレクトリの/valheim を指定します。
+app_updateオプションの値として、valheimのアプリIDである896660を指定します。

libpluseインストール
# apt install -y libpulse0 libpulse-dev libatomic1 libc6

3-4.サーバ名/ワールド名/パスワード設定

以下ファイルを編集して必要なパラメータを設定します。
例として以下のように編集しています。
サーバ名:ServerName123
ワールド名:World123
パスワード:password123

start_server.sh
# vi /valheim/start_server.sh
-------------------------------------
./valheim_server.x86_64 -name "My server" -port 2456 -world "Dedicated" -password "secret" -crossplay

↓

./valheim_server.x86_64 -name "ServerName123" -port 2456 -world "world123" -password "password123" -crossplay
-------------------------------------

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

ファイアーウォール設定を実施します。
今回はAWSセキュリティグループにて制御をしてるため、ufwを停止しておきます。

ufw
# ufw disable
# ufw status

3-6.valheimサーバ起動

valheimサーバを起動します。

start
# cd /valheim
# ./start_server.sh

start_server.shは同ディレクトリでのスクリプト起動が予期されているので、
start_server.shのディレクトリにcdしての起動を推奨します。

なお、停止の場合はコンソール上でctrl + cを行います。

4.valheimクライアントからの接続

valheimを起動します。
image.png

スタートからゲーム参加タブに遷移し、サーバを追加からIPアドレスを入力します。
image.png

サーバ名が表示されたら接続を押下します。
image.png

パスワード入力画面が表示されます。
image.png

サーバへの接続が完了しました。
image.png

5.valheimサーバのサービス化

上記3-6.valheimサーバ起動ではコンソールから起動をしていますが、EC2起動後にvalheimサーバが自動で起動するようにサービス化を行います。

サービス定義用のファイルを作成します。

valheim.service
# vi /etc/systemd/system/valheim.service
----------------------------------------
[Unit]
Description=Valheim
After=network-online.target
[Service]
WorkingDirectory=/valheim 
ExecStart=/valheim/start_server.sh
ExecStop=/bin/kill -INT ${MAINPID}
Type=simple
[Install]
WantedBy=multi-user.target
----------------------------------------

サービス自動起動の設定およびサービス起動を行います。

service
# systemctl enable valheim.service 
# systemctl start valheim.service
# systemctl status valheim.service

これで、ubuntu/EC2の再起動を実施してもvalheimサーバが自動で起動するようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0