FoundryVTT

提供: ArchWiki
ナビゲーションに移動 検索に移動

Foundry VTT は、機能が豊富で最新の自己ホスト型アプリケーションを使って、マルチプレイヤーのテーブルトーク RPG を体験するために作られたスタンドアロンアプリケーションです。プレイヤーはブラウザを通じて直接接続します。

Foundry VTTプロプライエタリソフトウェア です。使用するには有料ライセンスを取得する必要があります。

以下の手順は、Arch Linux システムに Foundry VTT をインストールする方法の一例です。手順を終えると、セキュア接続 を使用してブラウザからサービスにアクセスできるようになります。

インストール

必要条件

Foundry VTT をインストールする前に、nginxNode.js が動作している環境を用意してください。

ディレクトリ作成

まず、ソフトウェアとそのデータをインストールするためのディレクトリを作成します。例として /home 配下に作成します。

# mkdir -p /home/foundry/{foundryvtt,foundrydata}

システムユーザー作成

Foundry VTT はシステムユーザーで実行します。まず、foundry などの名前で システムユーザーを作成 します。

# useradd -r -s /usr/bin/nologin foundry

ダウンロード

foundryvtt.com に登録しライセンスを購入したら、プロフィールページの「Purchased Software Licenses」セクションに移動します。そこには複数のパッケージが表示されますが、Node.js 版をダウンロードする必要があります。

ダウンロードページのリンク横に小さな「チェーン」アイコンがあり、これをクリックすると一時的に有効なリンクが生成されます。このリンクは wget を使ってターミナルやシェルからダウンロードできます。

wget などのコマンドラインユーティリティでリンクをダウンロードする際は、リンクを二重引用符で囲むことが重要です。これによりリンクが正しく解釈されます。例:

# wget -O foundryvtt.zip "https://your-download-link-from-foundry-vtt.com-here/"

ダウンロードしたファイルは、先ほど作成した foundryvtt ディレクトリに展開します。展開後、適切なパーミッションを設定します。

# unzip foundryvtt.zip -d /home/foundry/foundryvtt
# chown -R foundry:foundry /home/foundry/foundryvtt
# chown -R foundry:foundry /home/foundry/foundrydata

このアーカイブは AURfoundryvttAUR パッケージを使用する場合にも必要です。

使用方法

プロキシなしでの実行

まずソフトウェアが動作するかテストします。foundry ユーザーとしてサーバーを実行します。

[foundry]$ node /home/foundry/foundryvtt/main.js --dataPath=/home/foundry/foundrydata

実行中はブラウザでポート 30000 にアクセスしてサーバーに接続できます。この時点で管理者パスワードを設定し、ライセンスキーを保存できます。

終了する場合は Ctrl+c でサーバーを停止します。

サービスの作成

ソフトウェアを実行する方法のひとつとして systemd#ユニットファイル を使います。以下のような Foundry VTT 用のシンプルなサービスファイルを作成できます。

[Unit]
Description=Foundry VTT

[Service]
Type=simple
ExecStart=node /home/foundry/foundryvtt/main.js --dataPath=/home/foundry/foundrydata
Restart=on-failure
User=foundry

[Install]
WantedBy=multi-user.target

インストール手順 にあるように、プロキシサーバー経由でアクセスできるようにソフトウェアオプションを編集します。

hostnamea.domain.tld などを設定し、他の項目はそのままにして以下のように設定します。

/home/foundry/foundrydata/Config/options.json
"hostname": "hostname",
"routePrefix": null,
"sslCert": null,
"sslKey": null,
"port": 30000,
"proxyPort": 443,
"proxySSL": true

nginx の設定

Foundry VTT 用に nginx プロキシサーバーを設定するには、公式ドキュメントの以下の例を使用できます。

# /etc/nginx/sites-available/ 内にファイルを作成します。慣例的に、
# ファイル名は "your.domain.com" や "foundryvtt" などですが、
# 一意で分かりやすければ何でも構いません。

# Server 定義
server {

    # FQDN を入力、または空白に
    server_name             your.hostname.com;

    # SSL 証明書を使用してポート 443 で待ち受け
    listen                  443 ssl;
    listen                  [::]:443 ssl;
    ssl_certificate         "/etc/letsencrypt/live/your.hostname.com/fullchain.pem";
    ssl_certificate_key     "/etc/letsencrypt/live/your.hostname.com/privkey.pem";

    # 最大アップロードサイズを 300 MB に設定
    client_max_body_size 300M;

    # Foundry VTT へのプロキシ設定
    location / {

        # プロキシヘッダーを設定
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket サポートのために必要
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

        # Foundry VTT のポート番号を設定
        proxy_pass http://localhost:30000;
    }
}

# 任意だが推奨。HTTP リクエストを HTTPS にリダイレクト
server {
    if ($host = your.hostname.com) {
        return 301 https://$host$request_uri;
    }

    listen 80;
    listen [::]:80;

    server_name your.hostname.com;
    return 404;
}

証明書は certbot を使用して取得できます。

サービスの実行

最後に foundryvtt.servicenginx.service起動/有効化します。

これで、先ほど設定した hostname を使って Web ブラウザからサービスにアクセスできるはずです。