概要
マインクラフト統合版で、プレイヤー同士の「距離」に応じて音量が変化する近接ボイスチャット(Proximity VC)を導入できるツール&アドオンです。
専用のDiscordサーバーや重い外部ソフトは不要! ホストが立ち上げたサーバーに、プレイヤーがブラウザでアクセスするだけで、ゲーム内の位置と連動したリアルな会話が楽しめます。
主な機能
距離減衰・次元対応: 近くの人の声は大きく、遠くの人は小さく。別次元にいる人の声は聞こえなくなります。
スマホ対応UI: PCはもちろん、スマホからブラウザを開いて参加することも可能です。
観戦者モード対応: 観戦者は近くの人の声を聞けるなど、ゲームモードに合わせた音量設定が可能(人狼ゲーム等に最適!)。
低遅延通信: WebRTC(PeerJS)を利用しているため、ラグの少ない会話が可能です。
コマンド
コマンドで設定ができます。利用可能なコマンドは以下の通りです。
- /vc:template <name:string> 設定のテンプレを利用できます。none,jinroが利用可能です。
- /vc:dict <distance:float>話せる距離を設定します。デフォは30です。
- /vc:spectator <mode:string>スぺクの時の設定です。noneは一切話せない、allは距離関係なく、nearは近くの人のみです。
- /vc:setting上記の設定をフォームで一括でできます。
導入方法(ホスト向け)
※このアドオンは .mcaddon の他に、Node.jsをPCで動かす必要があります。
※PC必須
Node.jsのインストール: PCに Node.js をインストールしてください。
プログラムの準備:コマンドプロンプトでweb-serverに含まれる
server.jsを実行します。(cd web-serverのpath)(node server.js)トンネリング設定: ポート開放で外部に公開します。この時、ポート開放が望ましいですが、
ngrokやplayit.ggなどトンネリングサービスでもOKです。アドオンの適用: 付属のアドオンをワールドに適用して起動!
- マイクラから接続:マイクラで/connect localhost:8080を打ってください。
- マイクラの設定:websocketを有効にして、暗号化の要求を無効にしてください。
ブラウザで接続: 発行されたURLを参加者に共有し、ほかの参加者の自分の名前を選択して「開始」を押すだけ!
ファイル構成を以下のようにしてください
参加者(ゲスト)向け
ホストから送られてきたURLをブラウザ(Chrome/Safari推奨)で開く。
自分のマインクラフトのIDを選択。
「ボイスチャットを開始」を押してマイクを許可するだけ!
注意事項
ホスト(サーバーを立てる人)はWindows PCが必要です。
ブラウザの「自動再生ブロック」により、画面を一度タップしないと音が聞こえない場合があります。
- mcaddonがバクってるのか、機能しないので、zipで公開しておきました。自分でフォルダ見つけていれてください。
- /connectは起動のたびに打ち直してください。
技術的な注意事項
上記の構成でないと実行が難しいです。マイクラは用意が悪いので、/connectでは暗号化通信が使えません。なので外部にrenderなどでホストしても、セキュリティにはじかれます。ただVPSではいけるらしい?ので、それもポート開放がどうしてもできなくて、ngrockも使いたくない人はぜひ試してみてください。
※補足
PCなしでもVPSというサービスを使えばできないこともないです。
ただ、それを使うにはある程度知識が必要なのと、基本有料です。
なので、お金があって、ある程度知識があるならPCなしでできます。
ですがこれらに当てはまる人は非常に少ないと思ったので、PC必須と書きました。
仕組み
簡単に
scriptAPIで情報を送信
↓
server.jsからhtmlに送信、
↓
htmlで全員に発信して、音量調整。
詳しく
そもそも、マイクラ内で完結させるのは絶対無理だってわかってたので、server.jsをnode.jsで起動して、それとマイクラをつなげる方法をとっています。その方法が限られており、実質、超不便な/connectを使うかしかありません。そのうえ/connectで送れる情報は限られており、まともに使えるのはプレイヤーが動いたことを検知するやつ、プレイヤーのチャット情報を送る奴です。しかしこれらはあくまでクライアントに紐づけなので、一人の情報しか送れません。なので、プレイヤーのチャット情報を送る奴は全員のは送れません。なのでチャットで常に位置などの情報をおくり、jsonuiでそれを消すことで、送ったという情報を消さずに、サーバーへ送信しています。
change_logs
v1.0.3-・スマホ版で音量調整が無視される問題を修正
・観戦者を追加
・挙動を改善
v1.0.2-接続してもデータが送信できない問題を修正
v1.0.1-再接続uiを作成。挙動を改善。
利用規約
二次配布: 禁止
改造: 個人利用の範囲でOK(改造したものを配布する場合は要相談)
動画配信・紹介: 大歓迎です!説明文に本ページのリンクを貼ってください。使ったら本ページのコメントに残してくれると嬉しいです。





コメント
レルムズ使えますか?
PCなしでいけませんか??返信のほどよろしくお願いします
Windows必須ですね…
リモートPCサービス使うか友達に借りてください…
技術的な注意事項に書きましたが、PCなしでもVPSというサービスを使えばできないこともないです。
ただ、それを使うにはある程度知識が必要なのと、基本有料です。
なので、お金があって、ある程度知識があるならPCなしでできます。
ですがこれらに当てはまる人は非常に少ないと思ったので、PC必須と書きました。
アドオンじゃなくてリソースパックでいけますか?よければ作って欲しいです!
できませんねぇ
レルムズでも行けると思います。
レルムズでも行けると思いますが、実際使ったことないので、保証はできません。
ホストはPC必須です。
アドオンじゃなくてリソースパックでいけますか?->これは無理だと思います。
スマホだけでやりたいです。スマホだけでできるようにできませんか?
今のところ難しいです。できるようになったら更新するので、待っていてください。
わかりました、できれば早めにお願いします
コメント失礼しますそちらのサービス用のサーバーを無償で提供させていただけないでしょうか。
また既存のものをサーバー専用に作らせていただきます
いいんですか?!ぜひお願いしたいです!もし完成したらここにurl書いてほしいです。あとここのurlを配布ページに乗せておいてください。
もしよかったらサーバー用でそのままデプロイできるように作りましょうか?