PATHeadless - LogiX-Educational-Institute/NeosVR-JP-Wiki GitHub Wiki
ヘッドレスクライアントはNeos VRのセッションをホストする専用のプログラム。
NeosVR本体とは別にヘッドレスクライアントでセッションを建てることで、自分がログアウトしてもセッションを継続できるようにしたり、常設セッションとして使用したりできる。
Neos VRのPatreonで月額12ドル以上のプランを支援し、Discord連携をしてheadless-clientチャンネルに参加する。
ピン留めにあるベータキーをSteamのベータタブに入力し、「headless-client」のベータを選択する。
Neos VRのフォルダ内に「HeadlessClient」が作成される。
HeadlessClient/Config/DefaultConfig.jsonをコピーしてConfig.jsonにリネームする。
以下を参考にCongih.jsonを編集し、HeadlessClient/Neos.exeを起動する。
()内は初期値
Intervalの単位は秒数(情報元1,2)
"tickRate": 1秒間に何回同期するか(60.0),
"maxConcurrentAssetTransfers": 同時セッションアセット転送の最大数。接続状況がいい場合は数を増やすとアセットの転送が早くなる。大きすぎるとネットワークが不安定になる場合がある(4),
"usernameOverride": ユーザー名を上書きする(null),
"loginCredential": ヘッドレス用のアカウントを用意している場合、そのメールアドレス(null),
"loginPassword": 同上のパスワード(null),
"startWorlds": [
{
"isEnabled": true,
"sessionName": セッション名(null),
"customSessionId": <userID>:<custom text>の形で任意のセッションIDを指定できる(null),
"description": null,
"maxUsers": 最大接続ユーザー数(32),
"accessLevel": セッションのアクセスレベルをAnyone,RegisteredUsers,Friends,Privateから指定する("Anyone"),
"hideFromPublicListing": Trueにするとセッションリストに表示されなくなる(null),
"tags": null,
"mobileFriendly": false,
"loadWorldURL": neosrec://から始まるワールドレコードURLを指定する(null),
"saveAsOwner": null,
"loadWorldPresetName": プリセットワールドを開く場合、テンプレート名を指定する。("SpaceWorld"),
"forcePort": null,
"keepOriginalRoles": false,
"defaultUserRoles": null,
"autoInviteUsernames": null,
"autoInviteMessage": null,
"autoRecover": true,
"idleRestartInterval": -1.0,
"forcedRestartInterval": -1.0,
"saveOnExit": false,
"autosaveInterval": -1.0,
"awayKickMinutes": -1.0,
"autoSleep": true
}
],
"dataFolder": null,
"cacheFolder": null,
"allowedUrlHosts": null,
"autoSpawnItems": null,
"metamovieRoles": null
}
ヘッドレスクライアントの起動後はコマンドラインで各種操作が可能。
| コマンド | 説明 | 使用法 |
|---|---|---|
| help | コマンド一覧を表示する | help |
| saveConfig | 現在の設定をconfigファイルに保存する | saveconfig <ファイル名>(optional, will save in place without) |
| login | Neosアカウントにログインする | login <ユーザー名/mailアドレス> <パスワード> |
| logout | Neosアカウントからログアウトする | logout |
| message | フレンドリストのユーザーにメッセージを送信する | message <ユーザー名> <メッセージ> |
| invite | フォーカスしているワールドにフレンドを招待する | invite <ユーザー名> |
| friendRequests | 着信した友達リクエストを一覧表示する | friendrequests |
| acceptFriendRequest | 友達リクエストを受け入れる | acceptfriendrequest <ユーザー名> |
| worlds | アクティブなワールドを一覧表示する | worlds |
| focus | ワールドにフォーカスする | focus <ワールド名か番号> |
| startWorldURL | URLから新しくワールドを開く | startworldurl <レコードURL> |
| startWorldTemplate | テンプレートから新しくワールドを開く | startworldtemplate <テンプレート名> |
| status | ワールドステータスを表示する | statsu |
| sessionUrl | 現在のセッションURLを出力する | sessionurl |
| sessionID | 現在のセッションIDを出力する | sessionid |
| copySessionURL | 現在のセッションURLをクリップボードにコピーする | copysessionurl |
| copySessionID | 現在のセッションIDをクリップボードにコピーする | copysessionid |
| users | ワールド内のユーザーを一覧表示する | users |
| close | フォーカスしているワールドを閉じる | close |
| save | フォーカスしているワールドを保存する | save |
| restart | 現在のワールドを再起動する | restart |
| kick | セッションからユーザーをキックする | kick <ユーザー名> |
| silence | セッションでユーザーをミュートにする | silence <ユーザー名> |
| unsilence | セッションでユーザーのミュートを解除する | unsilence <ユーザー名> |
| ban | サーバーがホストする全セッションからユーザーをバンする | ban <ユーザー名> |
| unban | ユーザーに設定したバンを解除する | unban <ユーザー名> |
| banByName | サーバーがホストする全セッションから指定するNeosユーザーをバンする | banbyname <Neosユーザー名> |
| unbanByName | サーバーがホストする全セッションからNeosユーザーで設定したバンを解除する | unbanbyname <Neosユーザー名> |
| banByID | サーバーがホストする全セッションから指定するNeosユーザーIDをバンする | banbyid <ユーザーID> |
| unbanByID | サーバーがホストする全セッションからNeosユーザーIDで設定したバンを解除する | unbanbyid <ユーザーID> |
| respawn | 指定するユーザーをリスポーンする | respawn <ユーザー名> |
| role | 指定するユーザーに権限を割り当てる | role <ユーザー名> <権限> |
| name | ワールド名を新しく設定する | name <新しいワールド名> |
| accesslevel | ワールドに入れる人を設定する | accesslevel |
| hideFromListing | ワールドをリストに表示するかどうかを設定する | hidefromlisting <true/false> |
| description | ワールドの説明を設定する | description <新しい説明> |
| maxUsers | ユーザー数の上限を設定する | maxusers <最大ユーザー数> |
| awayKickInterval | 自動AFKキック間隔を設定する | awaykickinterval <間隔(分)> |
| import | フォーカスしているワールドにアセットをインポートする | import <ファイルパスかURL> |
| dynamicImpulse | 指定したタグを待つdynamic impulseをルートに送信する | dynamicimpulse <タグ> |
| dynamicImpulseString | 指定したタグとstringを待つdynamic impulseをルートに送信する | dynamicimpulsestring <タグ> |
| dynamicImpulseInt | 指定したタグとintを待つdynamic impulseをルートに送信する | dynamicimpulseint <タグ> |
| dynamicImpulseFloat | 指定したタグとfloatを待つdynamic impulseをルートに送信する | dynamicimpulsefloat <タグ> |
| spawn | 保存したアイテムをインベントリからルートにスポーンする | spawn |
| gc | Forces full garbage collection | gc |
| shutdown | ヘッドレスクライアントを終了する | shutdown |
| tickRate | サーバーの最大シミュレーションレートを設定する | tickrate <1秒あたりのtick数> |
| log | 対話型シェルをログ出力に切り替える.もう一度Enterキーを押して対話型シェルに戻す | log |
ワールドテンプレート
SpaceWorld
Basic Empty
GridSpace
Microworld
Testing Scaling
ScratchSpace
ScratchSpace (mobile)
Instancing Test
Physical Locomotion Test
UIX Test
権限
Admin
Builder
Moderator
Guest
Spectator
アクセスレベル(ワールドに入れる人)
Anyone
RegisteredUsers
FriendsOfFriends
Friends
LAN
Private