グリッドモード(UGRM)
From OpenSimulator
Contents |
Server の種類と起動順序
- 以下にサーバの起動順序を示す.停止させる場合は逆順で停止させる.なお ( ) 内はデフォルトで使用されるのTCPのポート番号.
- 0.6.7 では Asset Server と Inventory Server は Redesigned OpenSim Basic Universal Server Technology (ROBUST)Server として統合された.
1. MySQL Server (3306) データベースサーバ 2. User Server (8002) ユーザ(アバタ)の管理サーバ 3. Grid Server (8001) Region(SIM)の位置などを管理するサーバ 4. ROBUST Server (8003) オブジェクトとアバタの持ち物を管理するサーバ 5. Messaging Server (8006) メッセージ処理を行うサーバ 6. Region Server (9000) Region(SIM)そのものを管理するサーバ
Linux/Unix
MySQL Server
- MySQL で OpenSim用データベースを作成し,OpenSimの管理ユーザを登録しておく.
- 例:データベース名 opensim, OpenSim管理ユーザ openwim_user, OpenSim管理パスワード opensim_pass の場合.
$ mysql -u root -p Enter password: データベース全体の管理者のパスワード mysql> create database opensim; mysql> grant all on opensim.* to opensim_user identified by 'opensim_pass'; mysql> flush privileges; mysql> exit
- グループ理念などで日本語を表示できるようにするには,/etc/my.cnf を編集して文字コードを utf8 にする
# cat /etc/my.cnf [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8
User Server
起動
# cd OPENSIM_TOP_DIR/bin # mono OpenSim.Grid.UserServer.exe
初回起動時の設定
- 初回起動時に質問が表示され,その結果として UserServer_Config.xml が生成される.
- Connection String for Database には MySQL に設定したデータベースの情報を入力する.
- Connection String for Database などにわざと値を入力しないで OpenSim.Grid.UserServer.exe をクラッシュさせ,後で UserServer_Config.xml を手動で修正しても良い.
- Default Inventory Server URI のポート番号は,通常は ROBUST Server を使用するので 8003 に変更する.
USER SERVER: Default Startup Message [Welcome to OGS]: Welcome to TEST Grid USER SERVER: Default Grid Server URI [ http://127.0.0.1:8001/]: USER SERVER: Key to send to grid server [null]: USER SERVER: Key to expect from grid server [null]: USER SERVER: Default Inventory Server URI [ http://127.0.0.1:8004/]: http://127.0.0.1:8003/ USER SERVER: User Server (this) External URI for authentication keys [ http://localhost:8002/]: USER SERVER: Path to library control file [./inventory/Libraries.xml]: USER SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: USER SERVER: Connection String for Database []: Data Source=127.0.0.1;Database=opensim;User ID=opensim_user;Password=opensim_pass; USER SERVER: Http Listener port [8002]: USER SERVER: Use SSL? true/false [False]: USER SERVER: Known good region X [1000]: USER SERVER: Known good region Y [1000]: USER SERVER: Enable LLSD login support [Currently used by libsl based clients/bots]? true/false [True]: USER SERVER: Enable Hypergrid login support [Currently used by GridSurfer-proxied clients]? true/false [True]: USER SERVER: Minimum Level a user should have to login [0 default] [0]: USER SERVER: Remote console access user name [Default: disabled] []: USER SERVER: Remote console access password [Default: disabled] []:
bin/UserServer_Config.xml
- 初回設定時に上記のように入力した場合は,次のような UserServer_Config.xml が生成される.
<Root> <Config default_startup_message="Welcome to TEST Grid" default_grid_server="http://127.0.0.1:8001/" grid_send_key="null" grid_recv_key="null" default_inventory_server="http://127.0.0.1:8003/" default_authentication_server="http://localhost:8002/" library_location="./inventory/Libraries.xml" database_provider="OpenSim.Data.MySQL.dll" database_connect="Data Source=127.0.0.1;Database=opensim;User ID=opensim_user;Password=opensim_pass;" http_port="8002" http_ssl="False" default_X="1000" default_Y="1000" enable_llsd_login="True" enable_hg_login="True" default_loginLevel="0" console_user="" console_pass="" /> </Root>
Grid Server
起動
# cd OPENSIM_TOP_DIR/bin # mono OpenSim.Grid.GridServer.exe
初回起動時の設定
- 初回起動時に質問が表示され,その結果として GridServer_Config.xml が生成される.
- Connection String for Database には UserServer_Config.xmlと同様に MySQLに設定したデータベースの情報を入力する.
GRID SERVER: Default Asset Server URI [ http://127.0.0.1:8003/]: GRID SERVER: Key to send to asset server [null]: GRID SERVER: Key to expect from asset server [null]: GRID SERVER: Default User Server URI [ http://127.0.0.1:8002/]: GRID SERVER: Key to send to user server [null]: GRID SERVER: Key to expect from user server [null]: GRID SERVER: Key to send to a simulator [null]: GRID SERVER: Key to expect from a simulator [null]: GRID SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: GRID SERVER: Database connect string []: Data Source=127.0.0.1;Database=opensim;User ID=opensim_user;Password=opensim_pass; GRID SERVER: Http Listener port [8001]: GRID SERVER: Allow regions to register immediately upon grid server startup? true/false [True]: GRID SERVER: Remote console access user name [Default: disabled] []: GRID SERVER: Remote console access password [Default: disabled] []:
bin/GridServer_Config.xml
- 初回設定時に上記のように入力した場合は,次のような GridServer_Config.xml が生成される.
<Root> <Config default_asset_server="http://127.0.0.1:8003/" asset_send_key="null" asset_recv_key="null" default_user_server="http://127.0.0.1:8002/" user_send_key="null" user_recv_key="null" sim_send_key="null" sim_recv_key="null" database_provider="OpenSim.Data.MySQL.dll" database_connect="Data Source=127.0.0.1;Database=opensim;User ID=opensim_user;Password=opensim_pass;" http_port="8001" allow_forceful_banlines="TRUE" allow_region_registration="True" console_user="" console_pass="" /> </Root>
ROBUST Server
- 0.6.7 では Asset Server と Inventory Server は Redesigned OpenSim Basic Universal Server Technology (ROBUST)Server として統合された.
- Asset Server と Inventory Server を別々に起動することも可能だが,今後は "古い動作モード" とみなされる.
- 次期バージョン(0.6.8)では Grid Server も ROBUST Server に統合される.
設定
- OpenSim.Server.ini を作成する.
# cd OPENSIM_TOP_DIR/bin # cp OpenSim.Server.ini.example OpenSim.Server.ini # vi OpenSim.Server.ini
- OpenSim.Server.ini: 主に ConnectionString を設定する.
例) ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim_user;Password=opensim_pass;"
起動
# mono OpenSim.Server.exe
Messaging Server
起動
# cd OPENSIM_TOP_DIR/bin # mono OpenSim.Grid.MessagingServer.exe
初回起動時の設定
- 初回起動時に質問が表示され,その結果として MessagingServer_Config.xml が生成される.
- Connection String for Database には UserServer_Config.xmlと同様に MySQLに設定したデータベースの情報を入力する.
MESSAGING SERVER: Default User Server URI [ http://127.0.0.1:8002/]: MESSAGING SERVER: Key to send to user server [null]: MESSAGING SERVER: Key to expect from user server [null]: MESSAGING SERVER: Default Grid Server URI [ http://127.0.0.1:8001/]: MESSAGING SERVER: Key to send to grid server [null]: MESSAGING SERVER: Key to expect from grid server [null]: MESSAGING SERVER: Connection String for Database []: Data Source=127.0.0.1;Database=opensim;User ID=opensim_user;Password=opensim_pass; MESSAGING SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: MESSAGING SERVER: DLL for comms provider [OpenSim.Region.Communications.OGS1.dll]: MESSAGING SERVER: Http Listener port [8006]: MESSAGING SERVER: Use SSL? true/false [False]: MESSAGING SERVER: My Published IP Address [127.0.0.1]: 202.26.159.214 MESSAGING SERVER: Remote console access user name [Default: disabled] []: MESSAGING SERVER: Remote console access password [Default: disabled] []:
bin/MessageingServer_Config.xml
- 初回設定時に上記のように入力した場合は,次のような messagingServer_Config.xml が生成される.
<Root> <Config default_user_server="http://127.0.0.1:8002/" user_send_key="null" user_recv_key="null" default_grid_server="http://127.0.0.1:8001/" grid_send_key="null" grid_recv_key="null" database_connect="Data Source=127.0.0.1;Database=opensim;User ID=opensim_user;Password=opensim_pass;" database_provider="OpenSim.Data.MySQL.dll" region_comms_provider="OpenSim.Region.Communications.OGS1.dll" http_port="8006" http_ssl="False" published_ip="202.26.159.214" console_user="" console_pass="" /> </Root>
Region Server
設定
bin/OpenSim.ini
# cd OPENSIM_TOP_DIR/bin # cp OpenSim.ini.example OpenSim.ini # vi OpenSim.ini
- 最小限の変更例 (変更箇所のみ)
[Startup] gridmode = true ;storage_plugin = "OpenSim.Data.SQLite.dll" ;storage_connection_string="URI=file:OpenSim.db,version=3"; storage_plugin="OpenSim.Data.MySQL.dll" storage_connection_string="Data Source=localhost;Database=opensim;User ID=opensim_user;Password=opensim_pass;"; [Network] inventory_server_url = "http://127.0.0.1:8003" [Architecture] ;Include-Standalone = "config-include/Standalone.ini" Include-Grid = "config-include/Grid.ini"
- 他のサーバ類がリモートマシンで作動している場合には,各サーバのURIを指定する.
[Network] grid_server_url = "http://グリッドサーバの名前またはIPアドレス:8001" user_server_url = "http://ユーザサーバの名前またはIPアドレス:8002" asset_server_url = "http://ROBUSTサーバの名前またはIPアドレス:8003" inventory_server_url = "http://ROBUSTサーバの名前またはIPアドレス:8003" messaging_server_url = "http://メッセージングサーバの名前またはIPアドレス:8006"
bin/config-include/GridCommon.ini
# cd OPENSIM_TOP_DIR/bin # cp config-include/GridCommon.ini.example config-include/GridCommon.ini # vi config-include/GridCommon.ini
- GridCommon.iniの変更例 (ポート番号を8003にするのは ROBUST Server を使用するため)
AssetServerURI = "http://localhost:8003" InventoryServerURI = "http://localhost:8003"
- ROBUSTサーバがリモートマシンで作動している場合には,該当サーバのURIを指定する.
AssetServerURI = "http://ROBUSTサーバの名前またはIPアドレス:8003" InventoryServerURI = "http://ROBUSTサーバの名前またはIPアドレス:8003"
bin/config-include/FlotsamCache.ini
# cd OPENSIM_TOP_DIR/bin # cp config-include/FlotsamCache.ini.example config-include/FlotsamCache.ini
- 内容の変更は無し.
起動
# cd OPENSIM_TOP_DIR/bin # mono OpenSim.exe
初回起動時の設定
- 初回起動時のみ,リージョンの設定のために幾つかの質問が表示され,結果として bin/Regions/Regions.ini が生成される
- 事前に bin/Regions/Regions.ini を作成した場合は,質問は表示されない.
New region name []: TEST_SIM SIM の名前を入力. Region UUID [3afa2e4b-9dcd-4476-91a5-ca7f0046aa45]: SIM のUUID. 通常はデフォルト値を使う. Region Location [1000,1000]: SIM の位置.通常はデフォルト値を使う. Internal IP address [0.0.0.0]: 通常はデフォルト値を使う. 注1) Internal port [9000]: サーバのポート番号.通常はデフォルト値を使う. Allow alternate ports [False]: 他のポート.通常は使用しない(デフォルト値を使う) External host name [SYSTEMIP]: 202.26.159.214 サーバの名前(FQDN)またはIPアドレス 注1) Master Avatar UUID [00000000-0000-0000-0000-000000000000]: 管理用アバタのUUID.ここではデフォルト値(UUID無効)を使う.注2) Master Avatar first name (enter for no master avatar) []: TEST 管理用アバタのファーストネーム 注3) Master Avatar last name []: AVATAR 管理用アバタのセカンドネーム Master Avatar sandbox password []: 管理用アバタのパスワード.Grid Modeの場合は指定しても無意味
- 注1) NAT(NAPT)を利用して外部にサービスを提供する場合は以下のように設定する.ただし,NAT(NAPT)内部から接続する場合は,この設定を行ってはいけない.
- Internal IP address : サーバの(プライベート)IPアドレス
- External host name : NAT(NAPT)によって変換されるグローバルIPアドレス
- 注2) 管理用アバタのUUIDと名前の両方を指定した場合は UUIDの方が優先される.ただし,初回設定時はアバタのUUIDは不明であるので,名前の方を使用する.
- 注3) Grid Modeでは,ここに記述された管理アバタの名前は,自動的にはデータベースに登録されない.同じ名前のアバタを User Serverで登録する必要がある.
- 上記のように入力した場合,bin/Regions/Regions.ini が下記のように作られる.
[TEST_SIM] RegionUUID = 3afa2e4b-9dcd-4476-91a5-ca7f0046aa45 Location = 1000,1000 InternalAddress = 0.0.0.0 InternalPort = 9000 AllowAlternatePorts = False ExternalHostName = 202.26.159.214 MasterAvatarFirstName = TEST MasterAvatarLastName = AVATAR MasterAvatarSandboxPassword =
(管理)アバタの登録
- 少なくとも,bin/Regions/Regions.ini で指定した管理アバタを User Server から登録する必要がある.
User# create user First name [Default]: TEST Last name [User]: AVATAR Password Passwd Start Region X [1000]: Start Region Y [1000]: Email []:
Viewer(クライアント)の設定
Second Life™ の Viewerの場合
- Viewer のショートカットのプロパティを表示させ,「リンク先」にコマンドの引数として -loginuri http://サーバの名前またはIPアドレス:8002/ を追加する.
または
- Ctrl+Shift+g を入力すると,ログインボタンの横にグリッド指定用の入力フィールドが表示されるので,そこに 「サーバの名前またはIPアドレス:8002」 を入力し,ログインボタンをクリックする.(ただし入力字数制限あり)
MS Windows