VirtualBoxでOPEN SIM



OPEN SIMを立つ上げる勉強のため、取り組んだことをまとめました。

VirtualBoxで、ビューアが動かないので検索していたら、この記事を見つけました。
ビデオRAMの容量を増やすとビューアを使えるようになるようです。

https://happydreamforyou.com/opensim/linuxubuntu-virtualbox-secondlifeopensimulator-server-%ef%bc%88%ef%bc%91%ef%bc%89/

VirtualBoxを使っているホストで、ターミナルと起動して

```bash
vboxmanage modifyvm "hoge" --vram 256
```

と入力してください。
Macは、このままできます。
Windowsは、パスがと言っていないので、上記の記事を参考にしてください。


## UbuntuでOpensimulatorを使う

https://happydreamforyou.com/opensim/linuxubuntu-virtualbox-secondlifeopensimulator-server-3opensimulator-server/

## MacでOpensimulatorをビルド
あらかじめMONOをインストールします。

OPENSIMのビルドの方をダウンロードして解凍します。

http://opensimulator.org/wiki/Main_Page

![スクリーンショット 2022-03-20 10.23.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/e94e1e8b-4718-def3-4f75-877e3223ed53.png)

フォルダ名をopensimのみに、変更する。

homeに、フォルダを移動します。
ディレクトリをopensim/bin/に、変更します。

```bash
mono opensim.exe
```
で、起動できます。

既にポート９０００を使っていると。このようなエラーが出ます。

```bash
10:04:20 - [BASE HTTP SERVER]: Starting HTTP server on port 9000
10:04:20 - [BASE HTTP SERVER]: Error - Address already in use
10:04:20 - [BASE HTTP SERVER]: Tip: Do you have permission to listen on port 9000?
```

"Error - Address already in use"は、既にポートを使っていますよ？
みたいなエラーのようです。

```bash
lsof -i :9000
```
でポート９０００が使われているプロセスを確認します。

私の場合は、
```bash
COMMAND    PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
VirtualBo 3125        hoge   31u  IPv4 0x100d8ee78fe6d7cb      0t0  TCP *:cslistener (LISTEN)
VirtualBo 3125        hoge   32u  IPv4 0x100d8ef12781d393      0t0  UDP *:cslistener
```
と見つかりました。


```bash
kill 3125
```
で、対応しました。

```bash
Currently selected region is root
Region (root) # 
```

opensim.exeを起動すると、上記の状態となってしまい、必要な基本情報を入力できないです。
これは、SQliteのライブラリがMacOSのセキュリティの関係で開くことができないとエラーが出てしまい、起動のプロセスが中断してしまうことが原因なのでは？と推測しています。
でも、このファイルを許可するようにしても、改善されないです。
![スクリーンショット 2022-03-20 11.40.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/f44cea65-094f-a525-457c-b45f455476f0.png)

警告が出ている時にキャプチャを撮り忘れてしまい、セキュリテイとブライバシーの設定の場所が分かるように、画像を掲載します。

## UbntuにMONOをインストール

https://www.mono-project.com/download/stable/#download-lin

## opensimulator をUbuntuで起動
起動手順自体は、Macでご説明した手順と同じです。

```bash
~/opensim/bin$ mono OpenSim.exe
```
このようにディレクトリを移動させてから、実行してください。

## ビューアのSingularityを起動

http://www.singularityviewer.org/downloads

からダウンロードします。
解凍したフォルダをホームに移動した方が、起動が楽です。

![VirtualBox_Ubuntu0319_20_03_2022_15_11_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/f3f02e43-77a2-2c5b-734f-53593d78d5c2.png)

### singularityの起動の書き方

```bash
~/Singularity$ ./singularity
```

### opensimの起動の書き方

```bash
~/opensim/bin$ mono OpenSim.exe
```

## Ubuntuでポートが開いているか確認
こちらの記事を参考にしました。

https://qiita.com/siida36/items/be21d361cf80d664859c

```bash
~$  sudo ufw status
[sudo] hoge のパスワード: 
状態: アクティブ

To                         Action      From
--                         ------      ----
9000                       ALLOW       Anywhere                  
9000 (v6)                  ALLOW       Anywhere (v6)             
```

全体の流れ

```bash
~$ sudo ufw allow 9000/udp
ルールを追加しました
ルールを追加しました (v6)
~$ sudo ufw reload
ファイアウォールを再読込しました
~$ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
9000                       ALLOW       Anywhere                  
9000/udp                   ALLOW       Anywhere                  
9000 (v6)                  ALLOW       Anywhere (v6)             
9000/udp (v6)              ALLOW       Anywhere (v6)             

:~$ sudo ufw allow 9000/tcp
ルールを追加しました
ルールを追加しました (v6)
~$ sudo ufw reload
ファイアウォールを再読込しました
~$ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
9000                       ALLOW       Anywhere                  
9000/udp                   ALLOW       Anywhere                  
9000/tcp                   ALLOW       Anywhere                  
9000 (v6)                  ALLOW       Anywhere (v6)             
9000/udp (v6)              ALLOW       Anywhere (v6)             
9000/tcp (v6)              ALLOW       Anywhere (v6)             

~$ 
```
### VirtualBoxも、ポートの設定が必要です。

ポートフォワーディングの設定が、必要です。

![スクリーンショット 2022-03-20 16.35.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/141858b7-8e38-0da5-f958-a2e2e75b361e.png)

ホストでも、TCPとUDPの９０００が通るようにしましょう。
![スクリーンショット 2022-03-20 15.36.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/684a10be-8473-8a19-c316-671393fff682.png)

## Ubuntuで自分のIPアドレスを知る方法
こちらの記事を参考に、自分のIPアドレスを調べました。

https://news.mynavi.jp/techplus/article/20190825-883094/


## OPEN GL 系をインストール
ビューアの表示が改善されないと、singularityの起動時にエラーが出ますので、下記のページを参考にインストールしました。

https://www.webcyou.com/?p=9639

https://doc.ubuntu-fr.org/opensim

でも、改善されませんでした。
私が、VirtualBoxで使っているため、プロセッサの数やグラフィックの関係で改善されないかも知れないです。

##解像度を落として対応

![OPENSIM-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/b0cde669-208e-f2c1-1108-0fc5037f2ad5.png)

このレベルを変えることで、レンダリングの具合を調整できます。
パーティクルを表示できるようになったり、遠くが見えるようになったりします。

この画像のように、レンダリングのレベルを下げたら服が表示されなくなりました。
でも、オブジェクトをRezできたので、物作りができます。
この動作が、懐かしかったです。
![VirtualBox_Ubuntu0319_20_03_2022_16_50_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/6b2a6ac3-e0e5-6d96-fd24-9aae05776ee7.png)


##  Windowsのバッチファイルみたいに起動するファイル
### シェルスクリプトファイルを作りました。

こちらの記事を参考にしました。

https://qiita.com/waokitsune/items/aad8f1b1f5b7272cfe86


```bash
#!/bin/bash
cd ./opensim/bin/
mono OpenSim.exe
```
もう一つ
```bash
#!/bin/bash
#ビューア起動
cd ./Singularity
./singularity
```

## Windows11でも
おまけで、Windows11で試した結果の画像を掲載します。
![VirtualBox_Win11_20_03_2022_19_00_29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/20977/500b3c00-67f0-5f52-c43b-f4a4adb763fb.png)