VRChatソーシャルバグ対策メモ


はじめに

皆さんこんにちは。
今回はVRChatにおける楽しみの一つ、イベントに参加するに当たって大きな壁となっている、ソーシャルバグについての私が行ってみた対策メモになります。
効果について保証は出来ませんし、別の不具合やセキュリティ面でのリスクもあるので、もし実施する場合は自己責任でお願いします。

VRChatにおけるソーシャルバグとは?

そもそも、VRChatのソーシャルバグってなに?という方もいるかと思い、簡単に解説します。
私が確認する限り、以下の不具合があります。

  1. VRChat内のソーシャル欄がVRChatWebと一致しない。

  2. フレンドのステータスが反映されない。

  3. inviteが届かない、受取れない。

  4. フレンドリクエストが届かない。

私の場合は上記1と2が特に酷く、都度Webを確認するなどしている状態でした。
こんな状態では人気の高いイベントに参加するのは厳しいため、解決できなか試行錯誤した結果のメモが今回の記事になります。

結論 ~とりあえず対策したい人向け~

で、いきなりなんですが、私が行った対策です。
以下の場所にある「hosts」というファイル、これは中身がテキストデータなのですが、これを管理者権限のあるテキストエディタで開きます。

◯編集する「hosts」の保管場所
C:\Windows\System32\drivers\etc\hosts

hostsファイルを開いたところ。

開くと、上の画像のような中身から始まります。
ここに以下の内容を書き込んで上書き保存すると、VRChat内のソーシャル欄が直ぐに更新されるようになる、かも。

◯「hosts」ファイルに書き込む内容
104.18.27.36 pipeline.vrchat.cloud
104.18.27.36 api.vrchat.cloud
104.18.7.156 packages.vrchat.com
185.199.110.153 vrchat-community.github.io
185.199.109.153 vrchat.github.io
104.18.27.36 vrcpm.vrchat.cloud

コピペで大丈夫です。
もし対策が有効であれば、上書きした時点から機能すると思われます。

続けて、もう1つ操作を行います。
コマンドプロンプトを管理者として実行し、
ipconfig /flushdns
と実行します。

Windowsキーを押してcmdと打てば出てくるはず
ipconfig /flushdns  と入力
入力後Enterキーで実行して、このように表示されたら完了

記事にする前に自分で試してソーシャルバグ"は"良くなりました。
実施することでどのような不具合が発生しても、私は責任をとれませんのであしからず。
この対策を実行後、VRChatを最初に起動する場合はロードにやたら時間がかかる可能性があるので、対策実施後に1回デスクトップモードで正常に遊べるか確認するのがオススメです。

確認できている不具合

今回の「hosts」への書込みを起因とするかまでは切り分けが出来ていませんが、私の環境では以下の不具合が発生しています。
追記:1については私の環境問題だったため訂正させて頂きます。2についても発生しない可能性が高いです。

  1. VRChat内の動画プレイヤーで動画が再生されない

  2. Unityでアバター&ワールドを更新する際、以前のサムネイルが表示されない(発生しないかもしれません)

といったものです。
不便ではありますが、致命的ではないので私は許容しました。
この辺許容できない人、何か起きても考えたり調べて自己解決できない人は今回紹介する内容はやらない方が良いです。
相変わらずUnityからVRChatSDKを開くと、アバターやワールドのサムネイルが表示(取得)出来ませんが、これも本対策に起因するか切り分け出来ていません。
公開早々で申し訳有りませんが、動画プレイヤー関連のエラーは私の環境(ルーターの設定)に起因する問題だったようなので、訂正させて頂きます。
また、サムネイルが取得できない件も一旦DNSクリアをしたら正常になったので、発生しない可能性が高いです。

対策の解説

では、ここからはちょっとした解説です。
なお、私は特にエンジニアとかではない素人なので、自分で調べて試してみた上での感覚的な中身になります。
正直蛇足なので、興味があって読むのに時間割いてやってもいいよ、という方だけお付き合い下さい。

そもそも「hosts」とは?

この辺読んでいただくのが分かりやすいです。
が、ネットに関する知識が少しはないと何言ってるのか分からない人もいるかも知れません。

併せてこちらも読んでおくと多少は分かる、かもしれません。

要約

まとめると次のようになります。

  • ネットワークに繋がっている端末(PC、スマートフォン問わず)はそれぞれ固有のIPアドレスを持っている

  • ネットワークを介して何らかのやり取りをする場合、必ずやり取りをする相手方端末がいる

  • 相手方を特定するのはIPアドレスだが、色々な理由や使い勝手などからIPアドレスをそのまま使っていない

  • そこでDNSという仕組みにより、特定の名称とIPアドレスの紐づけが行われる

  • hostsというファイルはOSにおけるDNS設定ファイルで、そこに書き込むことで特定の名称とIPアドレスの紐づけを自身で設定できる

こんな感じです。

対策の意味

では、なぜこのDNSによるIPアドレスと特定の名称による紐づけを行ってやることで、ソーシャルバグの対策になるのか?といった話です。

これは私も今回調べて初めて知ったのですが、VRChat(のサーバー)とやり取りをする中で、IPv6のルーティングに不具合があるとのこと。
なので、VRChatとのやり取りではIPv6を使わないように誘導してやる=hostsへの追記、となります。

PC全体の通信をIPv4優先にするとか、そもそもIPv6での通信を全部無効にするとかでもVRChatのソーシャルバグは解決するかも知れませんが、それ以外の多数の不具合を起こす可能性があります。

なお、今回の対策は以下の記事を拝見させて頂いた上で行ったものになります。詳しく書いて頂いてるので、是非御一読下さい。

上記の記事の内容を踏まえつつ、私の環境でもWireSharkを使って解析し、IPとドメインを追加でhostsへ記載したのが本記事の対策の内容です。

対策の無効化

対策をしてみたけど効果がなかった、あるいは効果はあったけど他の不具合が許容できない、などで「hosts」への書込みを戻したいこともあるかと思います。
その場合は、追記した部分を消しても良いのですが、それ以外に追記した部分の頭に「#」を追記することでも無効化出来ます。

#104.18.27.36 pipeline.vrchat.cloud

#を追記した場合はこのようになります。
なので、ソーシャルバグは改善されたが他の不具合を起こしている場合は、イベントなどの必要なシーンでだけ「#」を消して対策を有効に。
必要が無くなればまた「#」を追加して対策を無効にする。
というのが当たり障りない運用かと。

対策のリスク

当然あります。
これはVRChatに関する不具合というわけではなく、対策を行ったPCにおけるセキュリティ全般でのリスクです。
そもそも、DNSという仕組みは特定の名称からIPアドレスへの紐づけを行う、というものだと書きました。

ということは、意図的か誤りかは別として、IPアドレスの記載を間違えても相手先がいれば接続はされてしまうのです。

相手がVRChat(のサーバー)だと思ったら全然別の相手(のサーバー)だった、となるわけですね。
これは意図しない相手とのやり取りが発生してしまう、という点で非常にセキュリティリスクがあります。
なので、やらないで済むならやらないほうが良いです。

終わりに

記事の内容から文字ばかりになってしまいました。
万人に勧められるものでは有りませんが、どうしてもソーシャルバグをなんとかしたい、という方には向いてるかもしれません。

本記事について、お気づきのこと等有りましたら、随時頂けますと幸いです。
ここまでお付き合い頂きありがとうございました。

参考


この記事が気に入ったらサポートをしてみませんか?