費用と上限
部屋のサーバーを置いたときの、費用の目安です。単価と無料枠は2026年10月時点のものです。Cloudflare版の量は、実際の卓で測った値をもとにしています。SkyWay版のトークン発行サーバーは、Vercelの無料のプランか、契約中のレンタルサーバーで足りるので、このページでは扱いません。
Cloudflare版
単価と無料枠
| 項目 | 無料のプラン | 有料のプラン(Workers Paid、月$5) |
|---|---|---|
| Workersのリクエスト | 1日10万回 | 月1000万回込み。超えた分は$0.30 / 100万回 |
| Durable Objectsのリクエスト | 1日10万 | 月100万込み。超えた分は$0.15 / 100万 |
| Durable Objectsの動いていた時間 | 1日13,000 GB-s | 月40万GB-s込み。超えた分は$12.50 / 100万GB-s |
| Durable ObjectsのSQLiteに書く行 | 1日10万行 | 月5000万行込み。超えた分は$1.00 / 100万行 |
| Durable ObjectsのSQLiteから読む行 | 1日500万行 | 月250億行込み。超えた分は$0.001 / 100万行 |
| R2の保存 | 月10GB | 超えた分は$0.015 / GB・月 |
| R2のClass A(PUT・一覧) | 月100万回 | 超えた分は$4.50 / 100万回 |
| R2のClass B(GET・HEAD) | 月1000万回 | 超えた分は$0.36 / 100万回 |
- R2は、取り出すときの転送料がかかりません。R2の無料枠は、どちらのプランでも同じです。
- Workersは、キャッシュから返したリクエストも1回と数えます。
- Durable Objectsは、WebSocketで受けたメッセージを20件で1リクエストと数えます。送るメッセージは数えません。
- Durable Objectsの動いていた時間は、メッセージを処理しているあいだだけ数えます。部屋のサーバーが、つないだまま次のメッセージを待っているあいだは数えません(Hibernation)。
1卓で使う量
GM・PL2人・見学1人(同時に最大5人)が4時間遊ぶ卓の見込みです。2026年10月26日に本番で測った約2時間の卓をもとにしています。この卓では、はじめにGMが部屋のデータ(約1.4万オブジェクト)を読み込み、画像と音声を128個(合わせて34MB)置きました。SQLiteの行は、v1.3.1の置きかたで同じ卓を手元で再現して数えた値です。
| 項目 | 4時間の卓 |
|---|---|
| Durable Objectsの動いていた時間 | 約200 GB-s |
| Durable Objectsのリクエスト | 約3,100 |
| SQLiteに書く行 | 約4,000行 |
| SQLiteから読む行 | 約3.2万行 |
| Workersのリクエスト | 約2,200回 |
| R2のClass A | 約120回 |
| R2のClass B | 約1,300回 |
- 部屋は、オブジェクトを約8KiBずつ1行にまとめて置きます。部屋のデータを読み込んでも、書くのは400行ほどです。遊んでいるあいだは、変わったオブジェクトのある行を書き直すので、1時間に1,000行ほどです。
- Durable Objectsのリクエストのほとんどは、WebSocketで受けたメッセージ(4時間で約3.6万件)です。
- 動いていた時間は、つないでいた時間の1割ほどです。
- R2の操作とWorkersのリクエストは、ほとんどが人の入るときに画像と音声を取り寄せる分なので、長く遊んでもあまり増えません。
- v1.3.0までは、オブジェクトを1つずつ1行に置いていたので、同じ卓で書く行は約4万行、読む行は約126万行でした(→ v1.3.1)。v1.3.1より前に作った部屋は、消えるまで前の置きかたのままです。
画像と音声は部屋と一緒に消えるので、卓のたびに部屋を作れば、そのたびに上げ直します。部屋のデータも、そのたびに読み込み直して書きます。保存量は、そのとき残っている部屋の分だけです(部屋は最後の1人が抜けてから既定24時間で消えるので、1卓あたり1日ほど残ります)。
最初に当たる上限
無料のプランで最初に当たるのは、SQLiteに書く行(1日10万行)で、1日に25卓ほどが目安です。そのすぐ後に、Durable Objectsのリクエスト(1日10万)が、1日に30卓ほどで当たります。Workersのリクエストは1日に45卓ほど、動いていた時間は60卓ほど、SQLiteから読む行は150卓ほどまでもちます。上限を超えると、その日のうちは(UTCの0時、日本時間の朝9時まで)、部屋のサーバーへの新しい操作が失敗します。
R2は、無料枠に収まることがほとんどです。1つの部屋に大量に置かれるのを抑えるにはROOM_STORAGE_LIMIT_MBを、置き場所の合計が増えたことに気づくにはADMIN_STORAGE_ALERT_GBを入れます(→ 設定項目)。
有料のプラン(月$5)では、月に約320卓までなら、どの項目も込みの量に収まります。それを超えた分は、すべての項目の超過を合わせても1卓あたり約$0.01です。
規模ごとの見込み
4時間の卓の見込みをもとにした月額です。
| 規模(月の卓の数) | プラン | 月額の見込み | 内訳 |
|---|---|---|---|
| 身内(10) | 無料 | $0 | どれも無料枠に収まる |
| 小さな集まり(150) | 無料 | $0 | 1日に平均5卓。どれも無料枠に収まる |
| コミュニティ(500) | 無料 | $0 | 1日に平均17卓。25卓を超える日があるなら、有料のプラン(月$5)にする |
| 公開インスタンス(3,000) | 有料 | 約$9 | 月$5と、動いていた時間の超過が約$3、Durable Objectsのリクエストの超過が約$1 |
| 大規模(30,000) | 有料 | 約$200 | 月$5と、動いていた時間の超過が約$72、SQLiteに書く行の超過が約$68。R2・Workers・リクエストは合わせて約$54 |
規模が大きくなると、月額の多くは、動いていた時間とSQLiteに書く行の超過分です。これらは見積もりです。実際の使われかたは、運用のダッシュボードと部屋の記録で確かめてください。
Vercel版
Vercel版は、使った量に応じて数えるものが多く、1卓あたりの見込みはまだ出していません。
- Function:WebSocketがつながっているあいだ、Functionが動き続けます。Fluid computeでは、1つのインスタンスが多くのWebSocketを受けますが、つながっている時間のメモリの使用量が数えられます。3時間操作の無いタブは部屋から外すので、開いたまま忘れられたタブでも動き続けはしません。
- Redis(Upstash for Redis):無料のプラン(Free)では、1か月に50万回のコマンド、置ける量は256MB、転送は1か月に10GBまでです。無料で作れるデータベースは、1つのUpstashのアカウントに1つです。超えたときの扱いは、Upstashの料金のページで確かめてください。部屋のサーバーは、部屋の状態を書くほかに、同じ部屋の人が別々のインスタンスにつながったとき、そのやりとりもRedisで中継します。中継は、受けたフレームごとと、届ける相手ごとにコマンドを1回使います。6人の部屋で1人がカーソルを動かし続けると、1時間に20万回ほどになります。中継しているWebSocketが生きているかの確認(
ping)も、受け持ちのインスタンスまで届けるので、1つにつき1時間に300回ほど使います。中継が無くても、部屋に1人でもつながっているあいだは、受け持ちの更新や30秒ごとの見回りで、1時間に1,900回ほど使います。タブを開いたままにしておいても、3時間操作が無ければ部屋から外れるので、使うのはそこまで(6,000回ほど)です。そのため、Freeの50万回は、中継の多い卓1つで使い切ることがあります。続けて遊ぶなら、プロジェクトのUsageとUpstashのダッシュボードでコマンドの数を見て、足りなければ使った分だけ払うプランに替えてください。 - Vercel Blob:無料のプラン(Hobby)では、1か月に、置く量は1GB、読み出し(簡単な操作)は1万回、書き込みや一覧(高度な操作)は2,000回、転送は10GBまでです。ダッシュボードでストアの中を見ても、操作に数えられます。超えると料金はかからず、30日たつまでVercel Blobが使えなくなります(→ Vercel Blobの料金)。消し残した画像や音声の掃除は、1回に一覧を1回使います。掃除は、1日1回のVercel Cronのほか、画像や音声を20件置くごとに1回です。
- Vercel Cron:無料のプランは1日1回までです。部屋のサーバーは、1日1回の掃除にだけ使います。
Vercelの無料のプラン(Hobby)は、個人の非商用での利用が前提です。大きな卓や長い卓を続けて開くなら、それぞれの料金のページと、プロジェクトのUsageを確かめてください。