This commit is contained in:
syui 2025-04-10 03:39:07 +09:00
parent 034026a5ef
commit 21ab748600
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56

View File

@ -28,6 +28,26 @@ webからのゲームは1ユーザーしかプレイできませんし、誰で
実際に現在loginしているユーザーしかログイン画面を通さないようにします。これである程度は別ユーザーにプレイされる可能性は減るでしょう。 実際に現在loginしているユーザーしかログイン画面を通さないようにします。これである程度は別ユーザーにプレイされる可能性は減るでしょう。
## 必要な機能
現在、本当に必要な機能を述べます。それは、oauthで他ユーザーからのlexicon(collection)への読み書き権限を設定(承認)する機能です。
例えば、プレイヤーが`user.bsky.social`とし、ゲーム運営を`dev.example.com`とします。
oauth認証をすると`user.bsky.social/com.example.dev/self`が作成され、そこにゲームデータが保存されます。`user.bsky.social/com.example.dev`への読み書き権限は以下の通り。プレイヤーはdeleteのみが可能で、post, putはできません。ゲーム運営はpost, putは可能ですが、deleteはできません。なお、ここへのpost, putは`user.bsky.social`のtoken(limit)によって行われます。もしゲーム運営である`dev.example.com`のtoken消費により実行されると、すぐにlimitに到達してしまうからです。
1. user.bsky.social/com.example.dev/self
2. post, putは`user.bsky.social`のtoken(limit)による
|handle|post|put|delete|
|---|---|---|---|
|user.bsky.social|no|no|yes|
|dev.example.com|yes|yes|no|
このようにすることで、ゲームのアイテムボックスをatprotoで実現できます。
しかし、このような機能は現時点では実装されていないと思います。
## ゲームプレイ ## ゲームプレイ
ボスと行く場所が用意させています。アイテムがドロップします。それを拾わないとアイテムボックス(アカウント)に反映されません。 ボスと行く場所が用意させています。アイテムがドロップします。それを拾わないとアイテムボックス(アカウント)に反映されません。