ヘッドレスクライアント/コンフィグファイル
ヘッドレスクライアントには利用可能な設定がたくさんあります。これを実現するために、コンフィグファイルが使用されます。コンフィグファイルはJSONで記述されています。
標準のコンフィグファイル
標準の構成ファイルは、ヘッドレスクライアントのインストールディレクトリのConfig
サブディレクトリにあります。 DefaultConfig.json
という名前です。ファイルが存在しない場合は、ヘッドレスを実行してファイルを生成してください。
独自のコンフィグファイルの作成
設定を開始するには、DefaultConfig.json
ファイルをConfig.json
という新しいファイルにコピーします。これは、ヘッドレスクライアントを実行すると自動的に取得されます。コピーしたら、comment
プロパティをこのファイルの機能を説明するものに編集することをお勧めします。デフォルトファイルの値が正しくないため、使用する目的を反映したコメントを付けてください。
コンフィグファイルフォーマットに従って、コンフィグファイルの編集に進むことができます。
複数のコンフィグファイルを使用する
Neos.exeを実行する場合、コマンドラインオプション-c
を使用して構成ファイルを指定できます。これにより、複数のプロジェクトやイベントの複数の構成ファイルを維持できます。たとえば、作成して使用する:
Neos.exe -c Config/CoolConvention.json
- 大規模なコンベンションまたはイベントの場合Neos.exe -c Config/SeriousBusinessMeeting.json
- 非常に真面目なビジネス会議用
それはあなた次第ですが、好きなだけファイルを書いて使用してください。
ファイル形式
ヘッドレスコンフィグファイルには多くのオプションがあり、それらのほとんどはオプションです。
名前 | 型 | 説明 | 必須か |
---|---|---|---|
comment | string
|
このファイルのオプションの自由形式のコメント。構成の識別に使用されます。 | いいえ |
loginCredential | string
|
このヘッドレスサーバーが使用するNeosユーザー名。 | ✓ はい |
loginPassword | string
|
ヘッドレスサーバーが使用するNeosユーザーパスワード。 | ✓ はい |
startWorlds | #Start_Worldsを参照 | このヘッドレスサーバーの起動時に開始/作成するワールド/セッションの配列。 | ✓ はい |
universeId | string
|
オプションで、このヘッドレスサーバーが存在するユニバースを指定します。詳細については、ユニバースを参照してください。 | No |
tickRate | number
|
1秒あたりに発生するティック(更新)の数を構成します。標準は60です。 | いいえ |
maxConcurrentAssetTransfers | integer
|
このヘッドレスサーバーの最大同時アセット転送数を指定します。デフォルトは4です。 | いいえ |
usernameOverride | string
|
ワールドブラウザなどで、LoginCredentialを上書きするユーザー名を設定します。 | いいえ |
dataFolder | string
|
オプションで、Neosがこのヘッドレスサーバーのデータを保存するために使用するフォルダーを上書きします。 | いいえ |
cacheFolder | string
|
オプションで、Neosがこのヘッドレスサーバーのキャッシュを保存するために使用するフォルダーをオーバーライドします。 | いいえ |
logsFolder | tring
|
オプションで、Neosがこのヘッドレスサーバーのログを保存するために使用するフォルダーをオーバーライドします。 | いいえ |
allowedUrlHosts | string array
|
Neosないの HTTP / WebSocket操作で自動的に許可されるホストのリスト | いいえ |
autoSpawnItems | string array
|
ワールドが開始したときにスポーンするアイテムURIのリスト。 | いいえ |
metamovieRoles | object
|
MetaMovieプロジェクトのレガシーコンテンツ。無視してかまいません | いいえ |
Start Worlds
コンフィグファイル内には、startWorlds
という配列があります。この配列は、ヘッドレスクライアントの起動時に開始する必要があるワールドのリストです。単一のヘッドレスクライアントで、必要な数のワールドを実行できます。このオプションの形式は次のとおりです。:
... "startWorlds":[ { ...world 1 config }, { ...world 2 config } ] ...
With each start world having the following properties:
名前 | 型 | 説明 | 必須か | 例 |
---|---|---|---|---|
sessionName | null,string`
|
ワールド/セッションブラウザに表示されるセッションの名前 | いいえ | "チーズ" |
customSessionId | string
|
このセッションのオプションのカスタムセッションID。実行時にS- の接頭辞が付けられます。
|
いいえ | U-ProbablePrime:CheeseLand |
description | string
|
ワールド/セッションブラウザ内に表示される、このセッションのオプションの説明。 | いいえ | チーズの国 |
maxUsers | integer
|
このセッションに参加できるユーザーの最大数。標準:32 | はい | 42 |
accessLevel | any
|
このセッションのアクセスレベルの詳細については、#セッションアクセスレベルを参照してください。 | いいえ | Anyone |
hideFromPublicListing | boolean,null
|
このセッションをワールド/セッションブラウザから非表示にするかどうかを決定します。 | いいえ | |
tags | array,null
|
セッションの検索を支援するための、JSON String配列形式のリスト。 | いいえ | ["cheese","world","game"] |
mobileFriendly | boolean
|
このセッションがモバイル/クエストユーザーにとって友好的であるかどうかを判断します。 | いいえ | |
loadWorldURL | null,string
|
ワールドURLが提供されると、このワールドをロードします。neosrec:/// で始まるURLを使用します。
|
いいえ | neosrec:///U-ProbablePrime/R-ABC123-CHEESE-MOOO
|
loadWorldPresetName | null,string
|
有効な場合、指定されたワールドプリセットをロードします。 | いいえ | Space |
overrideCorrespondingWorldId | any
|
このセッションのワールドIDをオーバーライドして、このワールドIDを持つ他のセッションとグループ化して表示できるようにします。 | いいえ | |
forcePort | integer,null
|
オプション。指定した場合、このセッションを特定のネットワークポートで強制的に実行します。 | いいえ | 4242 |
keepOriginalRoles | boolean
|
オプション。指定した場合、元のロール(権限)はワールドに保存されたままになります。 | いいえ | |
defaultUserRoles | null,object
|
ユーザー名とアクセス許可のペアのリストが提供されると、それらのユーザーが参加するときに、リストされたアクセス許可が付与されます。 | いいえ | { "ProbablePrime":"Admin", "Frooxius":"Guest" } |
roleCloudVariable | null,string
|
このユーザーの役割を決定するために使用するクラウド変数のオプションの名前。 詳細については、Cloud Variables#Rolesを参照してください。 | いいえ | |
allowUserCloudVariable | null,string
|
このユーザーがセッションで許可されているかどうかを判断するために使用するクラウド変数のオプションの名前。詳細については、Cloud Variables#Allowing User'sAccessを参照してください。 | いいえ | |
denyUserCloudVariable | null,string
|
このユーザーがセッションへのアクセスを拒否されているかどうかを判断するために使用するクラウド変数のオプションの名前。詳細については、Cloud Variables#Denying User'sAccessを参照してください。 | いいえ | |
requiredUserJoinCloudVariable | null,string
|
このユーザーがセッションへのアクセスを拒否されているかどうかを判断するために使用するクラウド変数のオプションの名前。詳細については、Cloud Variables#JoiningControlを参照してください。 | いいえ | |
requiredUserJoinCloudVariableDenyMessage | null,string
|
値が使用されるクラウド変数の名前。ユーザーがRequiredUserJoinCloudVariableによってアクセスを拒否されると、このメッセージが存在する場合に表示されます。 詳細については、Cloud Variables#JoiningControlを参照してください。 | いいえ | |
awayKickMinutes | number
|
ユーザーがキックされる前に、ユーザーがワールドから離れる(シェルアウトされる)ことができる分数を構成します。 これを-1に設定すると、このオプションが無効になります。 | いいえ | |
isEnabled | boolean
|
falseに設定すると、このワールドエントリの開始が無効になります。 これは、ワールドをオンまたはオフにするのに役立ちます。 | いいえ | |
saveAsOwner | any
|
この世界が保存されるときに、誰がこの世界を保存するかを制御します。 詳細については、#SaveAsOwnerを参照してください。 | いいえ | |
autoInviteUsernames | array,null
|
このリスト内のユーザーは、開始時に自動的にこの世界に招待されます。 | いいえ | ["ProablePrime","Frooxius","kazzypoof"] |
parentSessionIds | array,null
|
このセッションの親セッションIDのリストを提供します。 詳細については、Parent Sessionsを参照してください。 | いいえ | |
autoInviteMessage | null,string
|
AutoInviteUsernamesリストのユーザーに招待とともに送信される自動メッセージ。 | いいえ | Come and play! |
autoRecover | boolean
|
No | ||
idleRestartInterval | number
|
これが設定されていて(>0)、ワールドに誰もいない場合、指定した秒数で定期的にワールドを再起動します。 | いいえ | |
forcedRestartInterval | number
|
これが設定されている場合(>0)、指定した秒数で定期的に再起動します。 | いいえ | |
saveOnExit | boolean
|
trueに設定すると、終了時にこのワールドが保存されます。 | いいえ | |
autosaveInterval | number
|
これが設定されている場合(>0)、指定した秒数で自動的にワールドが保存されます。 | いいえ | |
autoSleep | boolean
|
trueに設定すると、空の(または離れたユーザーでいっぱいの)ワールドが完全な更新サイクルを定期的に実行できなくなります。 | いいえ |
セッションアクセスレベル(セッションに入れる人)
SessionAccessLevelは、セッションのアクセスレベルを制御します。 可能な値は次のとおりです:
- Private
- LAN
- Friends
- FriendsOfFriends
- RegisteredUsers
- Anyone
これらは、ゲームで表示される通常のセッションアクセスレベルと一致します。
SaveAsOwner
Save as ownerは、ヘッドレスクライアントが実行しているワールドを保存する方法を制御します。可能な値は次のとおりです。
- LocalMachine - ワールドをローカルマシンに保存します。
- CloudUser - "ログインクレデンシャル"を介してログインしたクラウドユーザーとしてワールドを保存します
NULL以外の値にすると、ダッシュメニューの「セッション」タブにある「名前を付けて保存...」に類似した動作で、保存のたびに新しいレコードが作成されます。
可能な値は次のとおりです。
- LocalMachine - ローカルマシンとしてワールドを保存します。
- CloudUser - "ログイン資格情報 "でログインしたクラウド・ユーザーとしてワールドを保存します。
- null - ロードされた場所にワールドを保存しようとします。"セッション" タブの "変更を保存" オプションと同様です。
サンプルファイル
これらのコンフィグファイルがいかに気が遠くなるように見えるかを理解しているので、いくつかのサンプルファイルを用意しました。
- Headless Client/Example Configurations#Default - インストールからのデフォルトの構成ファイル
- TODO
JSONスキーマ
ヘッドレスクライアント構成ファイルについては、JSONスキーマを実験しています。 JSONスキーマは、JSONファイルのレイアウトとスキーマを記述するファイルです。 これらを使用して、コードの生成、JSONの検証などを行うことができます。サポートされているエディターで構成ファイルを編集すると、構成ファイルのエラーなどが自動的に検証されます。
詳細については、スキーマのリポジトリを参照してください。