Enshrouded のサーバーを構築する
Published on 2024/02/15Tags
概要
enshrouded-server を使用して Enshrouded のサーバーを構築します。
前提条件
- Docker, Docker Compose が使用できる必要があります。
参考情報
サーバーの構築
Enshrouded のサーバーを構築します。
-
サーバーに必要なフォルダを作成します。
フォルダ名 備考 data Enshrouded データ用のフォルダ -
Docker Compose を参考に
docker-compose.yaml
を作成します。services
>enshrouded
>environment
でサーバーに参加できるプレイヤーの最大数、パスワードなどを設定することができます。詳細は Environment Variables を参照してください。
version: "3.7" services: # https://github.com/mornedhels/enshrouded-server enshrouded: image: mornedhels/enshrouded-server:stable-proton restart: unless-stopped container_name: enshrouded hostname: enshrouded stop_grace_period: 90s ports: - "15636:15636/udp" - "15637:15637/udp" environment: # Environment variables https://github.com/mornedhels/enshrouded-server?tab=readme-ov-file#environment-variables - SERVER_NAME=My Private Enshrouded Server - SERVER_PASSWORD=my_password - UPDATE_CRON=*/30 * * * * - PUID=4711 - PGID=4711 volumes: - ./data:/opt/enshrouded
サーバーの起動/停止
-
コンテナを起動します。
docker-compose up -d
-
コンテナを停止します。
docker-compose down
-
コンテナを削除します。
docker-compose rm
サーバへ接続
クライアントからサーバーに接続する方法は 公式ドキュメント を参照してください。
サーバーの公開
Tunnel を構築して自宅サーバーを公開する方法 を参考にしてください。
次のように nginx を Enshrouded に読み替えてください。
Tunnel の構築
ファイアウォールの設定
Enshrouded 用のファイアウォールルールを作成します。
- 名前: enshrouded
- プロトコルとポート
- 15636/UDP
- 15637/UDP
Tunnel の設定
-
インスタンスの
ネットワーク タグ
にenshrouded
を設定します。 -
インスタンスのポートを解放します。
sudo ufw allow 15636/udp sudo ufw allow 15637/udp
-
rathole の設定ファイル server.toml を作成します。
# server.toml [server] bind_addr = "0.0.0.0:2333" [server.services.enshrouded-game] token = "enshrouded-game-token" type = "udp" bind_addr = "0.0.0.0:15636" [server.services.enshrouded-query] token = "enshrouded-query-token" type = "udp" bind_addr = "0.0.0.0:15637"
-
rathole の docker-compose.yaml を作成します。
version: "3.7" services: # https://github.com/rapiz1/rathole tunnel: image: rapiz1/rathole restart: unless-stopped command: ["--server", "/app/server.toml"] tty: true ports: # rathole - 2333:2333 # Enshrouded Game - 15636:15636/udp # Enshrouded Query - 15637:15637/udp volumes: - ./server.toml:/app/server.toml
自宅サーバーの公開
-
rathole の設定ファイル client.toml を作成します。
# client.toml [client] remote_addr = "myserver:2333" [client.services.enshrouded-game] token = "enshrouded-game-token" type = "udp" local_addr = "enshrouded:15636" [client.services.enshrouded-query] token = "enshrouded-query-token" type = "udp" local_addr = "enshrouded:15637"
-
自宅サーバーと Tunnel の docker-compose.yaml を作成します。
# docker-compose.yaml > services > tunnel tunnel: depends_on: - enshrouded image: rapiz1/rathole restart: unless-stopped command: ["--client", "/app/client.toml"] tty: true volumes: - ./client.toml:/app/client.toml