ローカルストレージ化されたShow AvatarおよびHide Avatarの場所とファイルフォーマット

この記事は約4分で読めます。

2022/11/4未明、VRChatのサーバー負荷軽減のためShow AvatarおよびHide Avatarの設定がローカルストレージ化されました。
この設定はパソコン内に保存され、同期されることはありません。

現在はサーバーからローカルストレージへの移行の経過措置期間であり、2022/11/11頃にはこの措置も終了します。
そのため、現在VRChatをプレイしているプレイヤーがこの設定を維持するには2022/11/11頃までにPCでログインする必要があります。

経過措置期間であることから、既にサーバーへの新規のShow AvatarおよびHide Avatarの設定はなされなくなっています。
11/4時点での設定が、サーバーからローカルストレージへの片方向のみ同期されます。

設定ファイルの場所

ローカルストレージ化された後、Show AvatarとHide Avatarの設定は次の場所に保存されています。

%UserProfile%\AppData\LocalLow\VRChat\VRChat\LocalPlayerModerations

設定は次のファイル名で保存されます。VRChatにログインするユーザーIDごとに1ファイルが生成され、保存されます。

usr_********-****-****-****-************-show-hide-user.vrcset

Meta Questでも設定がローカルストレージ化されますが、Meta Questのアプリケーションデータを取り出す手段がないため、内容の確認やコピーができません。
Meta Questを初期化したり、VRChatのアンインストールやアプリケーションデータの消去を行うとこれらの設定がすべて消去されます。

ファイルフォーマット

中身はテキストファイルのため、テキストエディタでの閲覧や修正ができます。

ファイルフォーマットは次のようになっています。1行ごとに、1人のShow AvatarとHide Avatarの設定が書き込まれています。
1行あたり67バイトの固定長ファイルとなっています(改行文字は含みません)。

usr_********-****-****-****-************                        004
usr_********-****-****-****-************                        005

各行の最初の64バイトで、ユーザーIDを表現します。ただし、現在のVRChatのユーザーIDは40バイトであるため、残りの24バイトは空白(20h)でパディングされています。
公式ドキュメント上、ユーザーIDはUTF-8でエンコードされるとされていますが、ASCII文字列で表現できる範囲内ですので関係ありません。

次の3バイトで、相手に対して起こしたアクションを定義します。10進数で、先頭は0でパディングします。
現時点では、次の2つが定義されています。

004:Hide Avatar
005:Show Avatar

ファイルはASCIIフォーマットで、CRLF(0Dh0Ah)で改行されます。
UTF-8であったとしても、BOM(Byte order mark)はありません。

公式ドキュメントに沿って表現した場合、次のようになりますので参考にしてください。

<key> UTF-8 encoded key
VRChatのユーザーIDを、40バイトで表現します。

<padding> ‘ ‘ (padded by spaces up to 64)
ユーザーIDを表現して、64バイトに満たなかった24バイト分を半角スペースでパディングします。

<value> 3 bytes, human-readable decimal, 0-prefixed (e.g. 127, 004, 012)
ユーザーIDに対して行ったアクションを表現します。3桁の10進数で表現され、先頭は0埋めします。

<newline> “\r\n”
ファイルの改行文字です。CRLFで改行します。

公式ドキュメント

ローカルストレージに保存される設定の詳細については、公式ドキュメントをご覧ください。

Local VRChat Storage
VRChat stores many different things locally. This non-exhaustive list shows places where VRChat stores data, and what th...
タイトルとURLをコピーしました