そば好きです。
OSS「Roblox Auto Data Deleter」を開発・公開しましたので、紹介したいと思います!
どんなソフト?
Robloxは時々、このようなメールを送って「【重要】データ保護法に則って、該当ユーザーのゲームデータを削除しろ!」と言ってきます。

多くの開発者は、このようなリクエストに対して手動で対応します。(もしくは、無視してる人もいるかもしれないですが。)
ただし、ゲームの総プレイヤーが増えるにつれてこのようなリクエストは増えていくので、その度に手動で削除しているとかなりの手間になります。
そこで!このソフトを使えば、そんなRobloxによるデータ削除要請を受信し、データストアからプレイヤーデータを削除してくれるよ、というわけですね。
一度ソフトをセットアップしてしまえば、ブラウザ上から簡単に設定してデータ削除リクエストを自動で処理することができます。
SaaS型ではなくOSSなので、安心して利用することができます。
オープンソースソフトウェアの略で、要はソースコードが公開されており、誰でも使用・改変・再配布できるソフトのことです。中でもRoblox Auto Data Deleterは、MITライセンスで公開しています。
管理画面はこんな感じになっています。



作成した経緯
上記画像にもあるとおり、このソフトを作ったキッカケの1つは、ひみつのおるすばんのクリエイター、ChocolateAntsさんです。
Roblox好きの集いはひみつのおるすばんの公式Discordサーバーの運営のお手伝いをさせていただいる関係でした。
その中で、色々あって「本ソフトを作ることを検討している」と話したところ、「1日に5~10件削除リクエストが来て手に負えない」という話を伺ったので、「じゃあ作ろう!」と決まりました。これが1月上旬のことです。
私が企画と仕様、見た目部分を作り、開発はいつもDiscord Bot開発などでお世話になっているtahさんという方にお願いしました。
トラブルなどはありましたが、2月末に一旦完成しました。
その後、ひみつのおるすばんで実際に使って頂き、動作確認をした後、マニュアル作成をし、本日3/13に無事公開できました。
ここまで約2か月間。長いような短いような。
とはいえ、削除リクエストが頻繫に来るほど大規模なゲームは少ないので、需要は限られるのかなと思います。
それでも、ひみつのおるすばんに使って頂けただけで個人的には満足しています。
以上がソフトの簡単な紹介になります。
もし使ってみたい方がいる場合、または興味がある場合は、以下の環境構築手順や設定手順を見てみてください。
インストール・環境構築
一応、あまり知識がない方でもセットアップできるレベルで説明したいと思うのですが、抜けがあると思うので分からない部分は適時調べてください。
Robloxからの削除リクエストはWebhookという技術を使用します。
Webhookとは、特定のイベントが発生した際に、事前に設定された他のアプリケーションに通知を自動的に送信する仕組みのことです。
今回はRobloxがイベントを送信し、それをRoblox Auto Data Deleterが受信し、処理する流れになります。

Robloxからのイベントはいつ送られてくるか分からないので、24時間ずっと稼働し続ける必要があります。
もし1度でも(正確には同じタイミングで3回送られます)Webhookを正しく処理できなかった場合は、Robloxに「このWebhook設定は死んでる」と判定され、設定が無効になってしまいます。
そこで、安定してソフトを稼働するために、自前のPCなどではなく、サーバー(VPSなど)を借りることをおすすめしています。root権限が必要なので、レンタルサーバーなどは使えません。
「サーバー?」「VPS?」「root権限?」など意味が分からないかもしれませんが、たぶん大丈夫です。月700円程度あれば動かせます。
以下の記事で構築手順を紹介しているので、参考にしてみてください。
サーバー知識がある場合はこちらの記事でセットアップできます。
設定手順
上記の記事を参考に構築が完了したら、いよいよサイト上での設定に移ります。
Webhookの設定
上から順番にやっていきましょう。まず、Set Webhook Auth Keyを押して、適当なパスワードを入れます。頑丈なものにしてください。次に、Webhook URL: https://…/webhook/delete-request/となっていると思うので、これをコピーします。

Robloxの設定に行き、Webhookを追加します。
ちなみに、グループのゲームを対象にする場合は、グループの所有者が設定を行う必要があるので、注意してください。
https://create.roblox.com/settings/webhooks
①WebhookのURLには先ほどコピーしたURLを入れます。
②「秘密を入れる」にチェックを入れ、先ほど設定したパスワードを入力します。
③コンプライアンス->消去権に基づく要請 にチェックを入れます。
④「変更内容を保存」を押します。

データストアAPIキーの設定
次に、データストアのAPIキーを追加します。APIキーを使えば、Roblox外からデータストアのデータを操作することが可能です。
オープンクラウド->APIキー->APIキーを作成

名前と詳細は適当につけて、アクセス権限でuniverse-datastoresを選択

このように、対象のゲームを全て追加したあと、「特定のデータストア操作」で対象のデータストアを選び、deleteとread権限を付与します。

ここにはサーバーのIPアドレスを入れておきます。0.0.0.0/0でもいいのですが、セキュリティ的に怖いので念のため。

完了したら、キーを作成して、APIキーをコピーします。
Roblox Auto Data Deleterに戻り、APIキーを追加します。
Labelに識別用の名前を適当につけ、API Keyにコピーしたキーを貼り付け、Addを押して追加します。

これでAPIキーの登録は完了です!これをAPIキーの数だけ繰り返します。
バーチャル空間の設定
次に、その下のGameからゲーム(バーチャル空間)を追加します。
Labelは識別用の名前(ゲーム名)、Universe IDはユニバースID、Starts Place IDはプレースID、API Keyはそのゲームに対応するAPIキーを正しく選択します。

ユニバースIDや開始プレースIDはそれぞれクリエイターハブのバーチャル空間一覧からコピーできます。
混同しないように気をつけてください。

この作業を設定したいゲームの数だけ繰り返したら、次へ進みます。
ルールの追加
次に、データ削除のルールを追加します。キーパターンごとに設定する必要があります。
Game:ゲームを選択
Label:ルール名
Datastore Name:データストア名
Type:普通のデータストアか、並び替え済みデータストアか
Key Pattern:プレイヤーID部分を{playerId}に置き換える。例えば、プレイヤーIDそのものがキーなら「{playerId}」、接頭辞がplayer_なら、「player_{playerId}」と入力します。
Scope:スコープを入力します。省略できます。(その場合、デフォルトのスコープ値である「global」になります。)

この作業をキーパターンごとに繰り返してください。
以上で設定は完了です!あとは、削除リクエストが送られてくるまで待機するだけですね。
削除ログを確認する
Delete Historyタブで、削除履歴を確認することができます。

無事に削除に成功していたらOKです。おつかれさまでした!!
もし失敗した場合は、Roblox好きの集いDiscordのスタジオ雑談チャンネルで質問していただければ出来る範囲で対応します。
最後に
以上が、Roblox好きの集いが開発したOSS 「Roblox Auto Data Deleter」の紹介でした。どなたかのお役に立てたら幸いです。
このソフトに魅力を感じた方は、GitHubのStarをつけて頂けると、とても励みになります。
https://github.com/roblox-jp-dev/roblox-auto-data-deleter
ちなみに…今回のソフトウェアの開発に対して、ChocolateAntsさんから寄付を頂きました。
改めて本当にありがとうございます。
このような形でRobloxクリエイターのサポートができるのはとても有意義だと思っているので、今後も挑戦していきたいと思います。(なにかアイデアがあれば、いつでも連絡ください!)
それでは、この記事はここまで。最後までお読みいただきありがとうございました!