2018年07月29日

VRChatパスワード入力式インスタンス移動システム(VRC Password Jumper)

*はじめに
この記事は、以下の記事を前提としています。

VRChat固定インスタンス間移動システム(VRC World Jumper)の設置方法 http://gpsnmeajp.sblo.jp/article/184041906.html

*概要
パスワード認証を実装してみました。

お試し用ワールド
https://vrchat.net/launch?worldId=wrld_30da4670-55de-4633-a2e3-b6d34ab1b5b1

jmpD.png



twitterに載せたところ割と評判が良かったので、差し替え用HTMLを配布します。
(このままページを開くとデモを試すことができます。パスワード=1234)
https://sabowl.sakura.ne.jp/gpsnmeajp/tool/vrcpass.htm

Quadの大きさや、WebPanelの描画の大きさは適時調整してください。
Scale X=1,Y=1と、W=800,H=800で動作確認しています。

*解説
WebPanel上で動作するjavascriptでパスワード認証を行い、照合に成功すると特定のインスタンスにジャンプします。
このインスタンスは、Ownerの居ないInviteOnlyになるため、誰もInviteできません。
つまり、正しいパスワードを入れた人しか入れません。

謎解きワールドなどに使えるかもしれません。
桁数の制限はありません。
他者の入力しているパスワードを見ることはできません。

ところで、パスワードによって飛ぶ先を変えたり、パスワード入れたらQRコード表示されたり、いろいろできます。やってみたいことありましたらコメント等にdiscordかtwitterのIDを添えてでお問い合わせください。

*注意
1. パスワード認証はかなり簡易的なものです。おもちゃとして取り扱ってください。
注意喚起のためあえて突破方法を案内します。
以下の方法で突破することができます。
・ワールド情報のぶっこ抜き→HTML内の閲覧
・ワールドIDを何らかの方法で引っこ抜いてからの直接GotoRoom
・総当たり攻撃
これらに対する対策は可能ですが、外部サーバーが必要になります。

2. この方法はVRChat公式の方法からは外れた方法です。
公式から提供されている機能を利用していますが、未保証な機能です。(理由はページ末へ)
将来的に使用できなくなる可能性があります。

3. この手法を用いたことによる損害等の責任は一切持ちません。

4. WebPanelが何らかの理由で動作不良になっている人は飛べません

5. 一度ワールドから蹴り出されると、戻るためには再びパスワードを入れるしかありません。

*苦労した点
まさかPC上でチャタリング対策を実装するとは思わなかったよね

*応用例
こんなふうに使えるかもしれません。
1. ワールドを作る。
2. ワールドに、このパスワードシステムを設置する。
 そして、このワールドのURLをSNSとか個人サイトに適当に貼る。
 (https://vrchat.net/launch?worldId=wrld_48cf80e6-15dd-4c17-8667-c5dc01baa5cb のように)
3. パスワード知ってる人は、公開されたワールドを経由して、
 「パスワード知ってる人用インスタンス」にいつでも入ることができる。
posted by gpsnmeajp at 20:01| Comment(0) | TrackBack(0) | 雑感
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/184045837
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック