【Minecraft BE】近接VCを学校のChromebookやAndroidでセットアップし、始めるまで

# 誰でも簡単！近接VCのセットアップ（Chromebook、Android用）
[Windows用](https://minecraft-mcworld.com/100739/)
### コメントでの質問は基本受け付けません。[よくある質問](https://minecraft-mcworld.com/101927/)や[サポートサーバー](https://discord.gg/bQcFBKnhSQ)を利用してください
## 初めに
1. [Google Play](https://play.google.com/store/apps/details?id=com.termux&hl=ja)からTermuxというアプリをインストールしてください
2. [クラフターズコロニー](https://minecraft-mcworld.com/100739/)からproximity_vc.zipをダウンロードし、解凍してください
## セットアップするための下準備
### Node.jsをインストール
Termuxを起動を起動しましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/803557a6-7904-537e-0815-9760c0a1cea4.png)
起動ができたら以下のコマンドを入力します。
```
pkg update
pkg upgrade
pkg i openssh
```
Continue? [Y/n]と聞かれた場合は、yを入力してエンターをタップしてください
次に以下のコマンドを入力してください
```
pkg i nodejs-lts
```
以下のコマンドを打ち、バージョンが表示されればインストール完了です
```
node -v
```
## サーバー側のセットアップ
### ①ストレージへのアクセス権限を与える
```
termux-setup-storage
```
![Screenshot_2024-10-11-02-34-02-04_fc704e6b13c4fb26bf5e411f75da84f2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/7ec9ea0a-08c5-6554-5e43-4ab329286c29.jpeg)
### ②バッググラウンドアビリティを許可する
設定→アプリリスト→Termux→バッテリー使用量→バッググラウンドアビリティを許可をオンにする
※端末によって場所が違う場合があります
![IMG_20241018_080933.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/20ee8a2e-163e-83c8-2ed2-1c6e1e6d0dbd.png)
### ③SkyWayに登録する＆プロジェクトとアプリケーションを作成
[SkyWayに登録](https://console.skyway.ntt.com/signup)
登録が終わったらログインをし、出てくるガイド通りにアプリケーションを作成してください
そうすると画面のようなページが出てきます
※アプリケーションIDとシークレットキーを後で使います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/c0152789-90b0-2190-cc64-9a8dc961509c.png)
### ④TCP Exposerに登録する
1. [こちら](https://www.tcpexposer.com/register/)のサイトに登録してログインしてください（パスワードは後で使うので必ず覚えておいてください）
2. マイページ→サブドメインを開いてください
3. New Sub Domainからお好きなサブドメインを1つ取得してください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/2294c811-6c7a-965b-51f7-2673d5777dd9.png)
### ⑤config.jsonを編集する
config.jsonを開いてください
2～3行目に先ほどの2つを入れます
4～6行目は使わないので無視
![スクリーンショット 2025-01-23 193234.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/469acab0-5901-2b45-f113-72b76cfda32a.png)
#### ⑥termuxの内部ファイルに移動
ダウンロードフォルダ内のままだとmoduleのインストール時にエラーがでてしまうため
```
cp -r /storage/emulated/0/Download/＜解凍したproximity_vc＞ ~/server_proximity_vc
```
### ⑦サーバー側フォルダにアクセスし、moduleをインストール
```
cd server_proximity_vc
npm i
```
これでセットアップは終了です。

## 近接VCの始め方（Android用）
### ①以下のコマンドを実行
```
cd server_proximity_vc
node proximity_voice_chat.js
```
### ②セッションを追加する
画面左側からスワイプをしてください
そうすると以下のような画面が出てくるので右下の「+」をタップしてください
![image0.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/448c936a-71fe-0281-b403-29502ab08dc9.jpeg)
そうすると初期のような画面になったと思います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/464cf644-aa83-81dd-4a2e-49a3ad5c26f1.png)
### ③sshコマンドを実行しlocalhostを公開
以下のコマンドを実行
```
ssh -i yourkey -R <TCP Exposerのサブドメイン>:80:localhost:<config.jsのweb_por(デフォルトは8080)> <TCP Exposerのアカウント名>@tcpexposer.com
```
入力すると以下のように聞かれるのでyesと入力してください
```
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
```
その後TCP Exposerのパスワードを入力してください
※これを実行すると文字を打てなくなったと勘違いする方が多いですが、入力したものが隠されて見えなくなっているだけです。その為、気にせずにパスワードを打ち込んでしまって大丈夫です
### ④マイクラと接続する
#### Termuxを実行している端末と同じ端末のマイクラと接続する場合
マイクラのチャットで以下のコマンドを打ってください
```
/connect localhost:<config.jsのport(デフォルトは19132)>
```
#### それ以外の端末のマイクラと接続する場合
##### ①二つ目のサブドメインを取得する
[TCP Exposer](https://www.tcpexposer.com/)のマイページ→サブドメインのNew Sub Domainからお好きなサブドメインをもう1つ取得してください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/b3e20011-9e3e-c067-f44e-3412ad8a9a1f.png)
##### ②もう一つのsshコマンドを打つ
```
ssh -i yourkey -R <サブドメイン2つ目>:80:localhost:<config.jsのport(デフォルトは19132)> <アカウント名>@tcpexposer.com
```
##### ③接続したいマイクラのチャットでconnectコマンドを打つ
```
/connect <サブドメイン2つ目>.tcpexposer.com
```
## 通話への入り方（ここは全員）
1. https://proximity-vc-mcbe.pages.dev/ にアクセス
[※Androidアプリ版はこちら](https://www.dropbox.com/scl/fi/hh6rb99ochkj0fgj76mtb/proximity_vc-2.1.1.apk?rlkey=yyqdvpodda15i92xebjf6181y&st=n7djogu7&dl=0)
2. ルームIDとVCname入力し、接続する
##### ルームID
TCP Exposerで取得したサブドメインと同じ
##### VCname
基本ゲーマータグだが、一部変わっている場合がある
※どちらもマイクラ内で!nameと打つとで確認できる

このような画面になっていれば接続完了
![スクリーンショット-2025-01-23-195107-b8d9638a-768x644.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3907132/ed4f42cf-87dc-9d52-03ec-306eeb66895c.jpeg)

## 現在判明している不具合と対処法
- 「音声が聞こえない」または、「離れてても聞こえる」なとの場合は一度退出し再度接続し直してください
- web通話とdiscordが同じスマホ端末の場合はdiscordを抜けてから入ってください

iphoneの場合、スリープモードになった時に不具合が起こる場合があります
- スリープにならないよう設定を変更する
- スリープになったら再度通話に接続する

一部の端末で通話に接続し同じ端末でマイクラを開くとマイクが入らなくなる
- iphoneの場合：通話をsafariではなくgoogleやchromeでする
- androidの場合：画面分割などで無理やり
## その他
### サーバーでの接続の仕方
server.propertiesってファイルに op-permission-level=4を追記してください
※サーバーのストップなどもコマンドでできるようになってしまいます
### 質問や不具合について
こちらのDiscordにてお願いします。
[サポートサーバー](https://discord.gg/bQcFBKnhSQ)