Added parser to button for argument

This commit is contained in:
Tom Bloor 2019-08-25 17:37:26 +01:00
parent 5aa89b0524
commit 9f21b0bd3b
Signed by: TBSliver
GPG key ID: 4657C7EBE42CC5CC
2 changed files with 318 additions and 87 deletions

View file

@ -27,6 +27,7 @@
<a id="nav-travel-data" class="nav-item nav-link" data-toggle="tab" href="#tab-travel-data">Travel Data</a> <a id="nav-travel-data" class="nav-item nav-link" data-toggle="tab" href="#tab-travel-data">Travel Data</a>
<a id="nav-shared-log" class="nav-item nav-link" data-toggle="tab" href="#tab-shared-log">Shared Log</a> <a id="nav-shared-log" class="nav-item nav-link" data-toggle="tab" href="#tab-shared-log">Shared Log</a>
<a id="nav-databases" class="nav-item nav-link" data-toggle="tab" href="#tab-databases">Databases</a> <a id="nav-databases" class="nav-item nav-link" data-toggle="tab" href="#tab-databases">Databases</a>
<a id="nav-servers" class="nav-item nav-link" data-toggle="tab" href="#tab-servers">Servers</a>
</div> </div>
<div class="tab-content" id="tab-content"> <div class="tab-content" id="tab-content">
<div class="tab-pane fade show active" id="tab-config"> <div class="tab-pane fade show active" id="tab-config">
@ -41,13 +42,16 @@
<div class="form-group row"> <div class="form-group row">
<label for="BaseServerArgs" class="col-sm-2 col-form-label">Base Server Args</label> <label for="BaseServerArgs" class="col-sm-2 col-form-label">Base Server Args</label>
<div class="col-sm-10"> <div class="col-sm-10">
<textarea id="BaseServerArgs" data-bind="value: BaseServerArgs" rows="3" class="form-control"></textarea> <textarea id="BaseServerArgs" data-bind="value: BaseServerArgs" rows="3"
class="form-control"></textarea>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="AdditionalCmdLineParams" class="col-sm-2 col-form-label">Additional CLI Params</label> <label for="AdditionalCmdLineParams" class="col-sm-2 col-form-label">Additional CLI
Params</label>
<div class="col-sm-10"> <div class="col-sm-10">
<textarea id="AdditionalCmdLineParams" data-bind="value: AdditionalCmdLineParams" rows="3" class="form-control"></textarea> <textarea id="AdditionalCmdLineParams" data-bind="value: AdditionalCmdLineParams" rows="3"
class="form-control"></textarea>
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -56,7 +60,8 @@
<div class="form-group row"> <div class="form-group row">
<label for="WorldFriendlyName" class="col-sm-2 col-form-label">Friendly Name</label> <label for="WorldFriendlyName" class="col-sm-2 col-form-label">Friendly Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="WorldFriendlyName" data-bind="value: WorldFriendlyName" type="text" class="form-control"> <input id="WorldFriendlyName" data-bind="value: WorldFriendlyName" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
@ -68,7 +73,8 @@
<div class="form-group row"> <div class="form-group row">
<label for="WorldAtlasPassword" class="col-sm-2 col-form-label">Password</label> <label for="WorldAtlasPassword" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="WorldAtlasPassword" data-bind="value: WorldAtlasPassword" type="text" class="form-control"> <input id="WorldAtlasPassword" data-bind="value: WorldAtlasPassword" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -77,25 +83,29 @@
<div class="form-group row"> <div class="form-group row">
<label for="gridSize" class="col-sm-2 col-form-label">Grid Size</label> <label for="gridSize" class="col-sm-2 col-form-label">Grid Size</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="gridSize" data-bind="numericValue: gridSize" type="number" step="0.1" class="form-control"> <input id="gridSize" data-bind="numericValue: gridSize" type="number" step="0.1"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="coordsScaling" class="col-sm-2 col-form-label">Coords Scaling</label> <label for="coordsScaling" class="col-sm-2 col-form-label">Coords Scaling</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="coordsScaling" data-bind="value: coordsScaling" type="number" step="0.000000000001" class="form-control"> <input id="coordsScaling" data-bind="value: coordsScaling" type="number"
step="0.000000000001" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="totalGridsX" class="col-sm-2 col-form-label">No. Grids X</label> <label for="totalGridsX" class="col-sm-2 col-form-label">No. Grids X</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="totalGridsX" data-bind="numericValue: totalGridsX" type="number" class="form-control"> <input id="totalGridsX" data-bind="numericValue: totalGridsX" type="number"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="totalGridsY" class="col-sm-2 col-form-label">No. Grids Y</label> <label for="totalGridsY" class="col-sm-2 col-form-label">No. Grids Y</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="totalGridsY" data-bind="numericValue: totalGridsY" type="number" class="form-control"> <input id="totalGridsY" data-bind="numericValue: totalGridsY" type="number"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -104,13 +114,15 @@
<div class="form-group row"> <div class="form-group row">
<label for="backgroundImgPath" class="col-sm-2 col-form-label">Background Image</label> <label for="backgroundImgPath" class="col-sm-2 col-form-label">Background Image</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="backgroundImgPath" data-bind="value: backgroundImgPath" type="text" class="form-control"> <input id="backgroundImgPath" data-bind="value: backgroundImgPath" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="discoZonesImagePath" class="col-sm-2 col-form-label">Discovery Zones Image</label> <label for="discoZonesImagePath" class="col-sm-2 col-form-label">Discovery Zones Image</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="discoZonesImagePath" data-bind="value: discoZonesImagePath" type="text" class="form-control"> <input id="discoZonesImagePath" data-bind="value: discoZonesImagePath" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -147,19 +159,22 @@
<div class="form-group row"> <div class="form-group row">
<label for="bUseUTCTime" class="col-sm-2 col-form-label">Use UTC Time</label> <label for="bUseUTCTime" class="col-sm-2 col-form-label">Use UTC Time</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="bUseUTCTime" data-bind="checked: bUseUTCTime" type="checkbox" class="form-control"> <input id="bUseUTCTime" data-bind="checked: bUseUTCTime" type="checkbox"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="columnUTCOffset" class="col-sm-2 col-form-label">UTC Offset</label> <label for="columnUTCOffset" class="col-sm-2 col-form-label">UTC Offset</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="columnUTCOffset" data-bind="numericValue: columnUTCOffset" type="number" step="0.1" class="form-control"> <input id="columnUTCOffset" data-bind="numericValue: columnUTCOffset" type="number"
step="0.1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="lastImageOverride" class="col-sm-2 col-form-label">Day Zero</label> <label for="lastImageOverride" class="col-sm-2 col-form-label">Day Zero</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="lastImageOverride" data-bind="value: lastImageOverride" type="text" class="form-control"> <input id="lastImageOverride" data-bind="value: lastImageOverride" type="text"
class="form-control">
<small class="text-muted">Format: YYYY-mm-DDTHH:MM:SS - Note different to Day Zero!</small> <small class="text-muted">Format: YYYY-mm-DDTHH:MM:SS - Note different to Day Zero!</small>
</div> </div>
</div> </div>
@ -169,25 +184,29 @@
<div class="form-group row"> <div class="form-group row">
<label for="showServerInfo" class="col-sm-2 col-form-label">Show Server Info</label> <label for="showServerInfo" class="col-sm-2 col-form-label">Show Server Info</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="showServerInfo" data-bind="checked: showServerInfo" type="checkbox" class="form-control"> <input id="showServerInfo" data-bind="checked: showServerInfo" type="checkbox"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="showDiscoZoneInfo" class="col-sm-2 col-form-label">Show Discovery Zone Info</label> <label for="showDiscoZoneInfo" class="col-sm-2 col-form-label">Show Discovery Zone Info</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="showDiscoZoneInfo" data-bind="checked: showDiscoZoneInfo" type="checkbox" class="form-control"> <input id="showDiscoZoneInfo" data-bind="checked: showDiscoZoneInfo" type="checkbox"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="showShipPathsInfo" class="col-sm-2 col-form-label">Show Ship Path Info</label> <label for="showShipPathsInfo" class="col-sm-2 col-form-label">Show Ship Path Info</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="showShipPathsInfo" data-bind="checked: showShipPathsInfo" type="checkbox" class="form-control"> <input id="showShipPathsInfo" data-bind="checked: showShipPathsInfo" type="checkbox"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="showIslandNames" class="col-sm-2 col-form-label">Show Island Names</label> <label for="showIslandNames" class="col-sm-2 col-form-label">Show Island Names</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="showIslandNames" data-bind="checked: showIslandNames" type="checkbox" class="form-control"> <input id="showIslandNames" data-bind="checked: showIslandNames" type="checkbox"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
@ -199,7 +218,8 @@
<div class="form-group row"> <div class="form-group row">
<label for="showBackground" class="col-sm-2 col-form-label">Show Background</label> <label for="showBackground" class="col-sm-2 col-form-label">Show Background</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="showBackground" data-bind="checked: showBackground" type="checkbox" class="form-control"> <input id="showBackground" data-bind="checked: showBackground" type="checkbox"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -214,19 +234,22 @@
<div class="form-group row"> <div class="form-group row">
<label for="LocalS3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label> <label for="LocalS3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="LocalS3AccessKeyId" data-bind="value: LocalS3AccessKeyId" type="text" class="form-control"> <input id="LocalS3AccessKeyId" data-bind="value: LocalS3AccessKeyId" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="LocalS3SecretKey" class="col-sm-2 col-form-label">Secret Key</label> <label for="LocalS3SecretKey" class="col-sm-2 col-form-label">Secret Key</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="LocalS3SecretKey" data-bind="value: LocalS3SecretKey" type="text" class="form-control"> <input id="LocalS3SecretKey" data-bind="value: LocalS3SecretKey" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="LocalS3BucketName" class="col-sm-2 col-form-label">Bucket Name</label> <label for="LocalS3BucketName" class="col-sm-2 col-form-label">Bucket Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="LocalS3BucketName" data-bind="value: LocalS3BucketName" type="text" class="form-control"> <input id="LocalS3BucketName" data-bind="value: LocalS3BucketName" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
@ -241,25 +264,30 @@
<div class="form-group row"> <div class="form-group row">
<label for="globalGameplaySetup" class="col-sm-2 col-form-label">Gameplay Setup</label> <label for="globalGameplaySetup" class="col-sm-2 col-form-label">Gameplay Setup</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="globalGameplaySetup" data-bind="value: globalGameplaySetup" type="text" class="form-control"> <input id="globalGameplaySetup" data-bind="value: globalGameplaySetup" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="shipPathsIdGenerator" class="col-sm-2 col-form-label">Ship Paths ID Generator</label> <label for="shipPathsIdGenerator" class="col-sm-2 col-form-label">Ship Paths ID
Generator</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="shipPathsIdGenerator" data-bind="numericValue: shipPathsIdGenerator" type="number" step="1" class="form-control"> <input id="shipPathsIdGenerator" data-bind="numericValue: shipPathsIdGenerator"
type="number" step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="idGenerator" class="col-sm-2 col-form-label">ID Generator</label> <label for="idGenerator" class="col-sm-2 col-form-label">ID Generator</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="idGenerator" data-bind="numericValue: idGenerator" type="number" step="1" class="form-control"> <input id="idGenerator" data-bind="numericValue: idGenerator" type="number" step="1"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="regionsIdGenerator" class="col-sm-2 col-form-label">Regions ID Generator</label> <label for="regionsIdGenerator" class="col-sm-2 col-form-label">Regions ID Generator</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="regionsIdGenerator" data-bind="numericValue: regionsIdGenerator" type="number" step="1" class="form-control"> <input id="regionsIdGenerator" data-bind="numericValue: regionsIdGenerator" type="number"
step="1" class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -272,31 +300,36 @@
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-MaxRedisEntries" class="col-sm-2 col-form-label">Max Redis Entries</label> <label for="Tribe-MaxRedisEntries" class="col-sm-2 col-form-label">Max Redis Entries</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-MaxRedisEntries" data-bind="numericValue: $data.MaxRedisEntries" type="number" step="1" class="form-control"> <input id="Tribe-MaxRedisEntries" data-bind="numericValue: $data.MaxRedisEntries"
type="number" step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-BackupMode" class="col-sm-2 col-form-label">Backup Mode</label> <label for="Tribe-BackupMode" class="col-sm-2 col-form-label">Backup Mode</label>
<div class="col-sm-10"> <div class="col-sm-10">
<select id="Tribe-BackupMode" data-bind="options: ['off', 'on'], value: $data.BackupMode" class="form-control"></select> <select id="Tribe-BackupMode" data-bind="options: ['off', 'on'], value: $data.BackupMode"
class="form-control"></select>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-MaxFileHistory" class="col-sm-2 col-form-label">Max File History</label> <label for="Tribe-MaxFileHistory" class="col-sm-2 col-form-label">Max File History</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-MaxFileHistory" data-bind="numericValue: $data.MaxFileHistory" type="number" step="1" class="form-control"> <input id="Tribe-MaxFileHistory" data-bind="numericValue: $data.MaxFileHistory"
type="number" step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-HttpBackupURL" class="col-sm-2 col-form-label">Backup URL</label> <label for="Tribe-HttpBackupURL" class="col-sm-2 col-form-label">Backup URL</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-HttpBackupURL" data-bind="value: $data.HttpBackupURL" type="text" class="form-control"> <input id="Tribe-HttpBackupURL" data-bind="value: $data.HttpBackupURL" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-HttpAPIKey" class="col-sm-2 col-form-label">API Key</label> <label for="Tribe-HttpAPIKey" class="col-sm-2 col-form-label">API Key</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-HttpAPIKey" data-bind="value: $data.HttpAPIKey" type="text" class="form-control"> <input id="Tribe-HttpAPIKey" data-bind="value: $data.HttpAPIKey" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -311,25 +344,29 @@
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-S3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label> <label for="Tribe-S3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-S3AccessKeyId" data-bind="value: $data.S3AccessKeyId" type="text" class="form-control"> <input id="Tribe-S3AccessKeyId" data-bind="value: $data.S3AccessKeyId" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-S3SecretKey" class="col-sm-2 col-form-label">Secret Key</label> <label for="Tribe-S3SecretKey" class="col-sm-2 col-form-label">Secret Key</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-S3SecretKey" data-bind="value: $data.S3SecretKey" type="text" class="form-control"> <input id="Tribe-S3SecretKey" data-bind="value: $data.S3SecretKey" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-S3BucketName" class="col-sm-2 col-form-label">Bucket Name</label> <label for="Tribe-S3BucketName" class="col-sm-2 col-form-label">Bucket Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-S3BucketName" data-bind="value: $data.S3BucketName" type="text" class="form-control"> <input id="Tribe-S3BucketName" data-bind="value: $data.S3BucketName" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Tribe-S3KeyPrefix" class="col-sm-2 col-form-label">Key Prefix</label> <label for="Tribe-S3KeyPrefix" class="col-sm-2 col-form-label">Key Prefix</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Tribe-S3KeyPrefix" data-bind="value: $data.S3KeyPrefix" type="text" class="form-control"> <input id="Tribe-S3KeyPrefix" data-bind="value: $data.S3KeyPrefix" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -342,25 +379,29 @@
<div class="form-group row"> <div class="form-group row">
<label for="Travel-BackupMode" class="col-sm-2 col-form-label">Backup Mode</label> <label for="Travel-BackupMode" class="col-sm-2 col-form-label">Backup Mode</label>
<div class="col-sm-10"> <div class="col-sm-10">
<select id="Travel-BackupMode" data-bind="options: ['off', 'on'], value: $data.BackupMode" class="form-control"></select> <select id="Travel-BackupMode" data-bind="options: ['off', 'on'], value: $data.BackupMode"
class="form-control"></select>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Travel-MaxFileHistory" class="col-sm-2 col-form-label">Max File History</label> <label for="Travel-MaxFileHistory" class="col-sm-2 col-form-label">Max File History</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Travel-MaxFileHistory" data-bind="numericValue: $data.MaxFileHistory" type="number" step="1" class="form-control"> <input id="Travel-MaxFileHistory" data-bind="numericValue: $data.MaxFileHistory"
type="number" step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Travel-HttpBackupURL" class="col-sm-2 col-form-label">Backup URL</label> <label for="Travel-HttpBackupURL" class="col-sm-2 col-form-label">Backup URL</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Travel-HttpBackupURL" data-bind="value: $data.HttpBackupURL" type="text" class="form-control"> <input id="Travel-HttpBackupURL" data-bind="value: $data.HttpBackupURL" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Travel-HttpAPIKey" class="col-sm-2 col-form-label">API Key</label> <label for="Travel-HttpAPIKey" class="col-sm-2 col-form-label">API Key</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Travel-HttpAPIKey" data-bind="value: $data.HttpAPIKey" type="text" class="form-control"> <input id="Travel-HttpAPIKey" data-bind="value: $data.HttpAPIKey" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -375,25 +416,29 @@
<div class="form-group row"> <div class="form-group row">
<label for="Travel-S3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label> <label for="Travel-S3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Travel-S3AccessKeyId" data-bind="value: $data.S3AccessKeyId" type="text" class="form-control"> <input id="Travel-S3AccessKeyId" data-bind="value: $data.S3AccessKeyId" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Travel-S3SecretKey" class="col-sm-2 col-form-label">Secret Key</label> <label for="Travel-S3SecretKey" class="col-sm-2 col-form-label">Secret Key</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Travel-S3SecretKey" data-bind="value: $data.S3SecretKey" type="text" class="form-control"> <input id="Travel-S3SecretKey" data-bind="value: $data.S3SecretKey" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Travel-S3BucketName" class="col-sm-2 col-form-label">Bucket Name</label> <label for="Travel-S3BucketName" class="col-sm-2 col-form-label">Bucket Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Travel-S3BucketName" data-bind="value: $data.S3BucketName" type="text" class="form-control"> <input id="Travel-S3BucketName" data-bind="value: $data.S3BucketName" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Travel-S3KeyPrefix" class="col-sm-2 col-form-label">Key Prefix</label> <label for="Travel-S3KeyPrefix" class="col-sm-2 col-form-label">Key Prefix</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Travel-S3KeyPrefix" data-bind="value: $data.S3KeyPrefix" type="text" class="form-control"> <input id="Travel-S3KeyPrefix" data-bind="value: $data.S3KeyPrefix" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -406,49 +451,61 @@
<div class="form-group row"> <div class="form-group row">
<label for="Shared-FetchRateSec" class="col-sm-2 col-form-label">Fetch Rate (Seconds)</label> <label for="Shared-FetchRateSec" class="col-sm-2 col-form-label">Fetch Rate (Seconds)</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-FetchRateSec" data-bind="numericValue: $data.FetchRateSec" type="number" step="1" class="form-control"> <input id="Shared-FetchRateSec" data-bind="numericValue: $data.FetchRateSec" type="number"
step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-SnapshotCleanupSec" class="col-sm-2 col-form-label">Snapshot Cleanup (Seconds)</label> <label for="Shared-SnapshotCleanupSec" class="col-sm-2 col-form-label">Snapshot Cleanup
(Seconds)</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-SnapshotCleanupSec" data-bind="numericValue: $data.SnapshotCleanupSec" type="number" step="1" class="form-control"> <input id="Shared-SnapshotCleanupSec" data-bind="numericValue: $data.SnapshotCleanupSec"
type="number" step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-SnapshotRateSec" class="col-sm-2 col-form-label">Snapshot Rate (Seconds)</label> <label for="Shared-SnapshotRateSec" class="col-sm-2 col-form-label">Snapshot Rate
(Seconds)</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-SnapshotRateSec" data-bind="numericValue: $data.SnapshotRateSec" type="number" step="1" class="form-control"> <input id="Shared-SnapshotRateSec" data-bind="numericValue: $data.SnapshotRateSec"
type="number" step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-SnapshotExpirationHours" class="col-sm-2 col-form-label">Snapshot Expiration (Hours)</label> <label for="Shared-SnapshotExpirationHours" class="col-sm-2 col-form-label">Snapshot Expiration
(Hours)</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-SnapshotExpirationHours" data-bind="numericValue: $data.SnapshotExpirationHours" type="number" step="1" class="form-control"> <input id="Shared-SnapshotExpirationHours"
data-bind="numericValue: $data.SnapshotExpirationHours" type="number" step="1"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-BackupMode" class="col-sm-2 col-form-label">Backup Mode</label> <label for="Shared-BackupMode" class="col-sm-2 col-form-label">Backup Mode</label>
<div class="col-sm-10"> <div class="col-sm-10">
<select id="Shared-BackupMode" data-bind="options: ['off', 'on'], value: $data.BackupMode" class="form-control"></select> <select id="Shared-BackupMode" data-bind="options: ['off', 'on'], value: $data.BackupMode"
class="form-control"></select>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-MaxFileHistory" class="col-sm-2 col-form-label">Max File History</label> <label for="Shared-MaxFileHistory" class="col-sm-2 col-form-label">Max File History</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-MaxFileHistory" data-bind="numericValue: $data.MaxFileHistory" type="number" step="1" class="form-control"> <input id="Shared-MaxFileHistory" data-bind="numericValue: $data.MaxFileHistory"
type="number" step="1" class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-HttpBackupURL" class="col-sm-2 col-form-label">Backup URL</label> <label for="Shared-HttpBackupURL" class="col-sm-2 col-form-label">Backup URL</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-HttpBackupURL" data-bind="value: $data.HttpBackupURL" type="text" class="form-control"> <input id="Shared-HttpBackupURL" data-bind="value: $data.HttpBackupURL" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-HttpAPIKey" class="col-sm-2 col-form-label">API Key</label> <label for="Shared-HttpAPIKey" class="col-sm-2 col-form-label">API Key</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-HttpAPIKey" data-bind="value: $data.HttpAPIKey" type="text" class="form-control"> <input id="Shared-HttpAPIKey" data-bind="value: $data.HttpAPIKey" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -463,25 +520,29 @@
<div class="form-group row"> <div class="form-group row">
<label for="Shared-S3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label> <label for="Shared-S3AccessKeyId" class="col-sm-2 col-form-label">Access Key ID</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-S3AccessKeyId" data-bind="value: $data.S3AccessKeyId" type="text" class="form-control"> <input id="Shared-S3AccessKeyId" data-bind="value: $data.S3AccessKeyId" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-S3SecretKey" class="col-sm-2 col-form-label">Secret Key</label> <label for="Shared-S3SecretKey" class="col-sm-2 col-form-label">Secret Key</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-S3SecretKey" data-bind="value: $data.S3SecretKey" type="text" class="form-control"> <input id="Shared-S3SecretKey" data-bind="value: $data.S3SecretKey" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-S3BucketName" class="col-sm-2 col-form-label">Bucket Name</label> <label for="Shared-S3BucketName" class="col-sm-2 col-form-label">Bucket Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-S3BucketName" data-bind="value: $data.S3BucketName" type="text" class="form-control"> <input id="Shared-S3BucketName" data-bind="value: $data.S3BucketName" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="Shared-S3KeyPrefix" class="col-sm-2 col-form-label">Key Prefix</label> <label for="Shared-S3KeyPrefix" class="col-sm-2 col-form-label">Key Prefix</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input id="Shared-S3KeyPrefix" data-bind="value: $data.S3KeyPrefix" type="text" class="form-control"> <input id="Shared-S3KeyPrefix" data-bind="value: $data.S3KeyPrefix" type="text"
class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
@ -492,35 +553,177 @@
<!-- ko foreach: DatabaseConnections --> <!-- ko foreach: DatabaseConnections -->
<form> <form>
<fieldset> <fieldset>
<legend>DB Connection: <span data-bind="text: $data.Name"></span> <button class="btn btn-danger pull-right" data-bind="click: removeDatabase">Remove Database</button></legend> <legend>DB Connection: <span data-bind="text: $data.Name"></span>
<button class="btn btn-danger pull-right" data-bind="click: removeDatabase">Remove Database
</button>
</legend>
<div class="form-group row"> <div class="form-group row">
<label data-bind="attr: { for: $index() + '-DB-Name' }" class="col-sm-2 col-form-label">Name</label> <label data-bind="attr: { for: $index() + '-DB-Name' }"
class="col-sm-2 col-form-label">Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input data-bind="attr: { id: $index() + '-DB-Name' }, value: $data.Name" type="text" class="form-control"> <input data-bind="attr: { id: $index() + '-DB-Name' }, value: $data.Name" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label data-bind="attr: { for: $index() + '-DB-URL' }" class="col-sm-2 col-form-label">URL</label> <label data-bind="attr: { for: $index() + '-DB-URL' }"
class="col-sm-2 col-form-label">URL</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input data-bind="attr: { id: $index() + '-DB-URL' }, value: $data.URL" type="text" class="form-control"> <input data-bind="attr: { id: $index() + '-DB-URL' }, value: $data.URL" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label data-bind="attr: { for: $index() + '-DB-Port' }" class="col-sm-2 col-form-label">Port</label> <label data-bind="attr: { for: $index() + '-DB-Port' }"
class="col-sm-2 col-form-label">Port</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input data-bind="attr: { id: $index() + '-DB-Port' }, numericValue: $data.Port" type="text" class="form-control"> <input data-bind="attr: { id: $index() + '-DB-Port' }, numericValue: $data.Port" type="text"
class="form-control">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label data-bind="attr: { for: $index() + '-DB-Password' }" class="col-sm-2 col-form-label">Password</label> <label data-bind="attr: { for: $index() + '-DB-Password' }" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input data-bind="attr: { id: $index() + '-DB-Password' }, value: $data.Password" type="text" class="form-control"> <input data-bind="attr: { id: $index() + '-DB-Password' }, value: $data.Password"
type="text" class="form-control">
</div> </div>
</div> </div>
</fieldset> </fieldset>
</form> </form>
<!-- /ko --> <!-- /ko -->
</div> </div>
<div class="tab-pane fade" id="tab-servers">
<button class="btn btn-primary" data-bind="click: addServer">Add Server</button>
<div class="row" data-bind="foreach: servers">
<div class="col-3 m-1">
<a class="btn btn-success" data-bind="attr: { href: '#server-tab-' + $index() }">
<span data-bind="text: $data.name "></span> - (<span data-bind="text: $data.gridX "></span>,
<span data-bind="text: $data.gridY "></span>)
</a>
</div>
</div>
<!-- ko foreach: servers -->
<div class="row">
<div class="col">
<a data-bind="attr: { id: 'server-tab-' + $index() }"><h2><span data-bind="text: $data.name "></span> - (<span data-bind="text: $data.gridX "></span>,
<span data-bind="text: $data.gridY "></span>)</h2></a>
<form>
<fieldset>
<legend>Basic Data</legend>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-name-' + $index() }"
class="col-sm-2 col-form-label">Name</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-name-' + $index() }, value: $data.name"
type="text"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-serverTemplateName-' + $index() }"
class="col-sm-2 col-form-label">Template Name</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-serverTemplateName-' + $index() }, value: $data.serverTemplateName"
type="text"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-ip-' + $index() }"
class="col-sm-2 col-form-label">IP</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-ip-' + $index() }, value: $data.ip"
type="text"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-port-' + $index() }"
class="col-sm-2 col-form-label">Port</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-port-' + $index() }, numericValue: $data.port"
type="number"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-gamePort-' + $index() }"
class="col-sm-2 col-form-label">Game Port</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-gamePort-' + $index() }, numericValue: $data.gamePort"
type="number"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-seamlessDataPort-' + $index() }"
class="col-sm-2 col-form-label">Seamless Data Port</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-seamlessDataPort-' + $index() }, numericValue: $data.seamlessDataPort"
type="number"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-gridX-' + $index() }"
class="col-sm-2 col-form-label">Grid X</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-gridX-' + $index() }, numericValue: $data.gridX"
type="number"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-gridY-' + $index() }"
class="col-sm-2 col-form-label">Grid Y</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-gridY-' + $index() }, numericValue: $data.gridY"
type="number"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-MachineIdTag-' + $index() }"
class="col-sm-2 col-form-label">Machine ID Tag</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-MachineIdTag-' + $index() }, value: $data.MachineIdTag"
type="text"
class="form-control">
</div>
</div>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-isHomeServer-' + $index() }"
class="col-sm-2 col-form-label">Is Home Server</label>
<div class="col-sm-10">
<input data-bind="attr: { id: 'Server-isHomeServer-' + $index() }, checked: $data.isHomeServer"
type="checkbox"
class="form-control">
</div>
</div>
</fieldset>
<fieldset>
<legend>Biome Options</legend>
<div class="form-group row">
<label data-bind="attr: { for: 'Server-GlobalBiomeSeamlessServerGridPreOffsetValues-' + $index() }"
class="col-sm-2 col-form-label">Offset Values</label>
<div class="col-sm-10">
<div class="input-group">
<input data-bind="attr: { id: 'Server-GlobalBiomeSeamlessServerGridPreOffsetValues-' + $index() }, value: $data.GlobalBiomeSeamlessServerGridPreOffsetValues"
type="text"
class="form-control" disabled>
<div class="input-group-append">
<button class="btn btn-outline-primary" data-bind="click: deparseEdit.bind($data, 'GlobalBiomeSeamlessServerGridPreOffsetValues')">Edit</button>
</div>
</div>
<small class="form-text text-muted">GlobalBiomeSeamlessServerGridPreOffsetValues</small>
</div>
</div>
</fieldset>
</form>
</div>
</div>
<!-- /ko -->
</div>
</div> </div>
</div> </div>

View file

@ -21,6 +21,12 @@ var editor = ace.edit("config-editor");
editor.setTheme("ace/theme/monokai"); editor.setTheme("ace/theme/monokai");
editor.session.setMode("ace/mode/javascript"); editor.session.setMode("ace/mode/javascript");
var parser;
$.get('js/atlas.pegjs', function(data) {
parser = PEG.buildParser(data);
});
var viewmodel = ko.mapping.fromJS({ var viewmodel = ko.mapping.fromJS({
// Server Argument Section // Server Argument Section
"BaseServerArgs": "", "BaseServerArgs": "",
@ -162,24 +168,33 @@ var viewmodel = ko.mapping.fromJS({
} }
], ],
// Servers Tab
"servers": [ "servers": [
{ {
"gridX": 4, // Basic Data
"gridY": 5, "name": "Server Name",
"MachineIdTag": "", "serverTemplateName": "No Build PVE",
"ip": "51.68.68.225", "ip": "127.0.0.1",
"name": "The Crystal Sea", "port": 29145,
"port": 29145, "gamePort": 3045,
"gamePort": 3045, "seamlessDataPort": 31029,
"seamlessDataPort": 31029, "gridX": 0,
"isHomeServer": false, "gridY": 0,
"AdditionalCmdLineParams": "", "MachineIdTag": "",
"OverrideShooterGameModeDefaultGameIni": {}, "isHomeServer": false,
"floorZDist": 0,
"AdditionalCmdLineParams": "",
"floorZDist": 0,
"utcOffset": 0, "utcOffset": 0,
"transitionMinZ": 0, "transitionMinZ": 0,
"GlobalBiomeSeamlessServerGridPreOffsetValues": "(BiomeZoneName=\"Temperate At Land\",PreOffsetMaxDistanceFromShore=100000.000000,PreOffsetTemperatureMultiplier=1.000000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.000000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-9.000000,PreOffsetTemperatureAddition=0.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Temperate Open Water\",BiomeZoneNameAltDistanceAmount=0.000000)",
"GlobalBiomeSeamlessServerGridPreOffsetValuesOceanWater": "(BiomeZoneName=\"Temperate Ocean Water\",PreOffsetMaxDistanceFromShore=17500.000000,PreOffsetTemperatureMultiplier=1.000000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.000000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-31.000000,PreOffsetTemperatureAddition=-5.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Temperate Deep Ocean\",BiomeZoneNameAltDistanceAmount=0.500000)", // Biome Options
"GlobalBiomeSeamlessServerGridPreOffsetValues": "(BiomeZoneName=\"Temperate At Land\",PreOffsetMaxDistanceFromShore=100000.000000,PreOffsetTemperatureMultiplier=1.000000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.000000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-9.000000,PreOffsetTemperatureAddition=0.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Temperate Open Water\",BiomeZoneNameAltDistanceAmount=0.000000)",
"GlobalBiomeSeamlessServerGridPreOffsetValuesOceanWater": "(BiomeZoneName=\"Temperate Ocean Water\",PreOffsetMaxDistanceFromShore=17500.000000,PreOffsetTemperatureMultiplier=1.000000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.000000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-31.000000,PreOffsetTemperatureAddition=-5.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Temperate Deep Ocean\",BiomeZoneNameAltDistanceAmount=0.500000)",
// Override Options
"OceanDinoDepthEntriesOverride": "", "OceanDinoDepthEntriesOverride": "",
"OceanEpicSpawnEntriesOverrideValues": "(NPCSpawnEntries=((NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_Character_BP.MeanWhale_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000)),(NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_SeaMonster_Character_BP.MeanWhale_SeaMonster_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000))),NPCSpawnLimits=,MaxDesiredNumEnemiesMultiplier=4.000000)", "OceanEpicSpawnEntriesOverrideValues": "(NPCSpawnEntries=((NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_Character_BP.MeanWhale_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000)),(NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_SeaMonster_Character_BP.MeanWhale_SeaMonster_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000))),NPCSpawnLimits=,MaxDesiredNumEnemiesMultiplier=4.000000)",
"oceanFloatsamCratesOverride": "", "oceanFloatsamCratesOverride": "",
@ -187,10 +202,14 @@ var viewmodel = ko.mapping.fromJS({
"oceanEpicSpawnEntriesOverrideTemplateName": "", "oceanEpicSpawnEntriesOverrideTemplateName": "",
"NPCShipSpawnEntriesOverrideTemplateName": "", "NPCShipSpawnEntriesOverrideTemplateName": "",
"regionOverrides": "", "regionOverrides": "",
// Style Options
"waterColorR": 0.0, "waterColorR": 0.0,
"waterColorG": 0.0, "waterColorG": 0.0,
"waterColorB": 0.0, "waterColorB": 0.0,
"skyStyleIndex": 0, "skyStyleIndex": 0,
"serverIslandPointsMultiplier": 1.0, "serverIslandPointsMultiplier": 1.0,
"sublevels": [ "sublevels": [
{ {
@ -389,7 +408,9 @@ var viewmodel = ko.mapping.fromJS({
} }
], ],
"spawnRegions": [], "spawnRegions": [],
"serverTemplateName": "No Build PVE"
// ???
"OverrideShooterGameModeDefaultGameIni": {}
} }
], ],
"spawnerOverrideTemplates": [], "spawnerOverrideTemplates": [],
@ -435,10 +456,17 @@ function removeDatabase(obj) {
viewmodel.DatabaseConnections.remove(obj); viewmodel.DatabaseConnections.remove(obj);
} }
var parser; function addServer() {
console.log('boo');
}
$.get('js/atlas.pegjs', function(data) { function removeServer() {
console.log('boo2');
}
function deparseEdit(key, data, event) {
console.log('boop');
console.log(data); console.log(data);
parser = PEG.buildParser(data); console.log(key);
console.log(parser.parse(viewmodel.servers()[0].GlobalBiomeSeamlessServerGridPreOffsetValues())); console.log(parser.parse(data[key]()));
}); }