mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-28 19:46:52 +02:00
773 lines
29 KiB
JSON
773 lines
29 KiB
JSON
{
|
|
"version": 1.4,
|
|
"settings": [
|
|
{
|
|
"name": "metaverse",
|
|
"label": "Metaverse / Networking",
|
|
"settings": [
|
|
{
|
|
"name": "access_token",
|
|
"label": "Access Token",
|
|
"help": "This is your OAuth access token to connect this domain-server with your High Fidelity account. <br/>It can be generated by clicking the 'Connect Account' button above.<br/>You can also go to the <a href='https://metaverse.highfidelity.com/user/security' target='_blank'>My Security</a> page of your account and generate a token with the 'domains' scope and paste it here.",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "id",
|
|
"label": "Domain ID",
|
|
"help": "This is your High Fidelity domain ID. If you do not want your domain to be registered in the High Fidelity metaverse you can leave this blank."
|
|
},
|
|
{
|
|
"name": "automatic_networking",
|
|
"label": "Automatic Networking",
|
|
"help": "This defines how other nodes in the High Fidelity metaverse will be able to reach your domain-server.<br/>If you don't want to deal with any network settings, use full automatic networking.",
|
|
"default": "disabled",
|
|
"type": "select",
|
|
"options": [
|
|
{
|
|
"value": "full",
|
|
"label": "Full: update both the IP address and port to reach my server"
|
|
},
|
|
{
|
|
"value": "ip",
|
|
"label": "IP Only: update just my IP address, I will open the port manually"
|
|
},
|
|
{
|
|
"value": "disabled",
|
|
"label": "None: use the network information I have entered for this domain at metaverse.highfidelity.com"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "local_port",
|
|
"label": "Local UDP Port",
|
|
"help": "This is the local port your domain-server binds to for UDP connections.<br/>Depending on your router, this may need to be changed to run multiple full automatic networking domain-servers in the same network.",
|
|
"default": "40102",
|
|
"type": "int",
|
|
"advanced": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"label": "Places / Paths",
|
|
"html_id": "places_paths",
|
|
"settings": [
|
|
{
|
|
"name": "paths",
|
|
"label": "Paths",
|
|
"help": "Clients can enter a path to reach an exact viewpoint in your domain.<br/>Add rows to the table below to map a path to a viewpoint.<br/>The index path ( / ) is where clients will enter if they do not enter an explicit path.",
|
|
"type": "table",
|
|
"can_add_new_rows": true,
|
|
"key": {
|
|
"name": "path",
|
|
"label": "Path",
|
|
"placeholder": "/"
|
|
},
|
|
"columns": [
|
|
{
|
|
"name": "viewpoint",
|
|
"label": "Viewpoint",
|
|
"placeholder": "/0,0,0"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "descriptors",
|
|
"label": "Description",
|
|
"help": "This data will be queryable from your server. It may be collected by High Fidelity and used to share your domain with others.",
|
|
"settings": [
|
|
{
|
|
"name": "description",
|
|
"label": "Description",
|
|
"help": "A description of your domain (256 character limit)."
|
|
},
|
|
{
|
|
"name": "maturity",
|
|
"label": "Maturity",
|
|
"help": "A maturity rating, available as a guideline for content on your domain.",
|
|
"default": "unrated",
|
|
"type": "select",
|
|
"options": [
|
|
{
|
|
"value": "unrated",
|
|
"label": "Unrated"
|
|
},
|
|
{
|
|
"value": "everyone",
|
|
"label": "Everyone"
|
|
},
|
|
{
|
|
"value": "teen",
|
|
"label": "Teen (13+)"
|
|
},
|
|
{
|
|
"value": "mature",
|
|
"label": "Mature (17+)"
|
|
},
|
|
{
|
|
"value": "adult",
|
|
"label": "Adult (18+)"
|
|
}
|
|
]
|
|
|
|
},
|
|
{
|
|
"name": "hosts",
|
|
"label": "Hosts",
|
|
"type": "table",
|
|
"help": "Usernames of hosts who can reliably show your domain to new visitors.",
|
|
"numbered": false,
|
|
"columns": [
|
|
{
|
|
"name": "host",
|
|
"label": "Username",
|
|
"can_set": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "tags",
|
|
"label": "Tags",
|
|
"type": "table",
|
|
"help": "Common categories under which your domain falls.",
|
|
"numbered": false,
|
|
"columns": [
|
|
{
|
|
"name": "tag",
|
|
"label": "Tag",
|
|
"can_set": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "security",
|
|
"label": "Security",
|
|
"settings": [
|
|
{
|
|
"name": "http_username",
|
|
"label": "HTTP Username",
|
|
"help": "Username used for basic HTTP authentication."
|
|
},
|
|
{
|
|
"name": "http_password",
|
|
"label": "HTTP Password",
|
|
"type": "password",
|
|
"help": "Password used for basic HTTP authentication. Leave this blank if you do not want to change it.",
|
|
"value-hidden": true
|
|
},
|
|
{
|
|
"name": "maximum_user_capacity",
|
|
"label": "Maximum User Capacity",
|
|
"help": "The limit on how many users can be connected at once (0 means no limit). Avatars connected from the same machine will not count towards this limit.",
|
|
"placeholder": "0",
|
|
"default": "0",
|
|
"advanced": false
|
|
},
|
|
{
|
|
"name": "standard_permissions",
|
|
"type": "table",
|
|
"label": "Domain-Wide User Permissions",
|
|
"help": "Indicate which users or groups can have which <a data-toggle='tooltip' data-html=true title='<p><strong>Domain-Wide User Permissions</strong></p><ul><li><strong>Connect</strong><br />Sets whether a user can connect to the the domain.</li><li><strong>Lock / Unlock</strong><br />Sets whether a user change the “locked” property of an entity (either from on to off or off to on).</li><li><strong>Rez</strong><br />Sets whether a user can create new entities.</li><li><strong>Rez Temporary</strong><br />Sets whether a user can create new entities with a finite lifetime.</li><li><strong>Write Assets</strong><br />Sets whether a user can make changes to the domain’s asset-server assets.</li><li><strong>Ignore Max Capacity</strong><br />Sets whether a user can connect even if the domain has reached or exceeded its maximum allowed agents.</li></ul><p>Note that permissions assigned to a specific user will supersede any parameter-level permissions that might otherwise apply to that user. Additionally, if more than one parameter is applicable to a given user, the permissions given to that user will be the sum of all applicable parameters. For example, let’s say only localhost users can connect and only logged in users can lock and unlock entities. If a user is both logged in and on localhost then they will be able to both connect and lock/unlock entities.</p>'>domain-wide permissions</a>.",
|
|
"caption": "Standard Permissions",
|
|
"can_add_new_rows": false,
|
|
|
|
"groups": [
|
|
{
|
|
"label": "User / Group",
|
|
"span": 1
|
|
},
|
|
{
|
|
"label": "Permissions <a data-toggle='tooltip' data-html='true' title='<p><strong>Domain-Wide User Permissions</strong></p><ul><li><strong>Connect</strong><br />Sets whether a user can connect to the the domain.</li><li><strong>Lock / Unlock</strong><br />Sets whether a user change the “locked” property of an entity (either from on to off or off to on).</li><li><strong>Rez</strong><br />Sets whether a user can create new entities.</li><li><strong>Rez Temporary</strong><br />Sets whether a user can create new entities with a finite lifetime.</li><li><strong>Write Assets</strong><br />Sets whether a user can make changes to the domain’s asset-server assets.</li><li><strong>Ignore Max Capacity</strong><br />Sets whether a user can connect even if the domain has reached or exceeded its maximum allowed agents.</li></ul><p>Note that permissions assigned to a specific user will supersede any parameter-level permissions that might otherwise apply to that user. Additionally, if more than one parameter is applicable to a given user, the permissions given to that user will be the sum of all applicable parameters. For example, let’s say only localhost users can connect and only logged in users can lock and unlock entities. If a user is both logged in and on localhost then they will be able to both connect and lock/unlock entities.</p>'>?</a>",
|
|
"span": 6
|
|
}
|
|
],
|
|
|
|
"columns": [
|
|
{
|
|
"name": "permissions_id",
|
|
"label": ""
|
|
},
|
|
{
|
|
"name": "id_can_connect",
|
|
"label": "Connect",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "id_can_adjust_locks",
|
|
"label": "Lock / Unlock",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_rez",
|
|
"label": "Rez",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_rez_tmp",
|
|
"label": "Rez Temporary",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_write_to_asset_server",
|
|
"label": "Write Assets",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_connect_past_max_capacity",
|
|
"label": "Ignore Max Capacity",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
}
|
|
],
|
|
|
|
"non-deletable-row-key": "permissions_id",
|
|
"non-deletable-row-values": ["localhost", "anonymous", "logged-in"]
|
|
},
|
|
{
|
|
"name": "permissions",
|
|
"type": "table",
|
|
"caption": "Permissions for Specific Users",
|
|
"can_add_new_rows": true,
|
|
|
|
"groups": [
|
|
{
|
|
"label": "User / Group",
|
|
"span": 1
|
|
},
|
|
{
|
|
"label": "Permissions <a data-toggle='tooltip' data-html='true' title='<p><strong>Domain-Wide User Permissions</strong></p><ul><li><strong>Connect</strong><br />Sets whether a user can connect to the the domain.</li><li><strong>Lock / Unlock</strong><br />Sets whether a user change the “locked” property of an entity (either from on to off or off to on).</li><li><strong>Rez</strong><br />Sets whether a user can create new entities.</li><li><strong>Rez Temporary</strong><br />Sets whether a user can create new entities with a finite lifetime.</li><li><strong>Write Assets</strong><br />Sets whether a user can make changes to the domain’s asset-server assets.</li><li><strong>Ignore Max Capacity</strong><br />Sets whether a user can connect even if the domain has reached or exceeded its maximum allowed agents.</li></ul><p>Note that permissions assigned to a specific user will supersede any parameter-level permissions that might otherwise apply to that user. Additionally, if more than one parameter is applicable to a given user, the permissions given to that user will be the sum of all applicable parameters. For example, let’s say only localhost users can connect and only logged in users can lock and unlock entities. If a user is both logged in and on localhost then they will be able to both connect and lock/unlock entities.</p>'>?</a>",
|
|
"span": 6
|
|
}
|
|
],
|
|
|
|
"columns": [
|
|
{
|
|
"name": "permissions_id",
|
|
"label": ""
|
|
},
|
|
{
|
|
"name": "id_can_connect",
|
|
"label": "Connect",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "id_can_adjust_locks",
|
|
"label": "Lock / Unlock",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_rez",
|
|
"label": "Rez",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_rez_tmp",
|
|
"label": "Rez Temporary",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_write_to_asset_server",
|
|
"label": "Write Assets",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "id_can_connect_past_max_capacity",
|
|
"label": "Ignore Max Capacity",
|
|
"type": "checkbox",
|
|
"editable": true,
|
|
"default": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "scripts",
|
|
"label": "Scripts",
|
|
"settings": [
|
|
{
|
|
"name": "persistent_scripts",
|
|
"type": "table",
|
|
"label": "Persistent Scripts",
|
|
"help": "Add the URLs for scripts that you would like to ensure are always running in your domain.",
|
|
"can_add_new_rows": true,
|
|
|
|
"columns": [
|
|
{
|
|
"name": "url",
|
|
"label": "Script URL"
|
|
},
|
|
{
|
|
"name": "num_instances",
|
|
"label": "# instances",
|
|
"default": 1
|
|
},
|
|
{
|
|
"name": "pool",
|
|
"label": "Pool"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "asset_server",
|
|
"label": "Asset Server (ATP)",
|
|
"assignment-types": [3],
|
|
"settings": [
|
|
{
|
|
"name": "enabled",
|
|
"type": "checkbox",
|
|
"label": "Enabled",
|
|
"help": "Assigns an asset-server in your domain to serve files to clients via the ATP protocol (over UDP)",
|
|
"default": true,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "assets_path",
|
|
"type": "string",
|
|
"label": "Assets Path",
|
|
"help": "The path to the directory assets are stored in.<br/>If this path is relative, it will be relative to the application data directory.<br/>If you change this path you will need to manually copy any existing assets from the previous directory.",
|
|
"default": "",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "max_bandwidth",
|
|
"type": "double",
|
|
"label": "Max Bandwidth Per User",
|
|
"help": "The maximum upstream bandwidth each user can use (in Mb/s).",
|
|
"placeholder": "10.0",
|
|
"default": "",
|
|
"advanced": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "audio_env",
|
|
"label": "Audio Environment",
|
|
"assignment-types": [0],
|
|
"settings": [
|
|
{
|
|
"name": "attenuation_per_doubling_in_distance",
|
|
"label": "Default Domain Attenuation",
|
|
"help": "Factor between 0 and 1.0 (0: No attenuation, 1.0: extreme attenuation)",
|
|
"placeholder": "0.18",
|
|
"default": "0.18",
|
|
"advanced": false
|
|
},
|
|
{
|
|
"name": "noise_muting_threshold",
|
|
"label": "Noise Muting Threshold",
|
|
"help": "Loudness value for noise background between 0 and 1.0 (0: mute everyone, 1.0: never mute)",
|
|
"placeholder": "0.003",
|
|
"default": "0.003",
|
|
"advanced": false
|
|
},
|
|
{
|
|
"name": "enable_filter",
|
|
"label": "Low-pass Filter",
|
|
"type": "checkbox",
|
|
"help": "Positional audio stream uses low-pass filter",
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "zones",
|
|
"type": "table",
|
|
"label": "Zones",
|
|
"help": "In this table you can define a set of zones in which you can specify various audio properties.",
|
|
"numbered": false,
|
|
"can_add_new_rows": true,
|
|
|
|
"key": {
|
|
"name": "name",
|
|
"label": "Name",
|
|
"placeholder": "Zone_Name"
|
|
},
|
|
"columns": [
|
|
{
|
|
"name": "x_min",
|
|
"label": "X start",
|
|
"can_set": true,
|
|
"placeholder": "-16384.0"
|
|
},
|
|
{
|
|
"name": "x_max",
|
|
"label": "X end",
|
|
"can_set": true,
|
|
"placeholder": "16384.0"
|
|
},
|
|
{
|
|
"name": "y_min",
|
|
"label": "Y start",
|
|
"can_set": true,
|
|
"placeholder": "-16384.0"
|
|
},
|
|
{
|
|
"name": "y_max",
|
|
"label": "Y end",
|
|
"can_set": true,
|
|
"placeholder": "16384.0"
|
|
},
|
|
{
|
|
"name": "z_min",
|
|
"label": "Z start",
|
|
"can_set": true,
|
|
"placeholder": "-16384.0"
|
|
},
|
|
{
|
|
"name": "z_max",
|
|
"label": "Z end",
|
|
"can_set": true,
|
|
"placeholder": "16384.0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "attenuation_coefficients",
|
|
"type": "table",
|
|
"label": "Attenuation Coefficients",
|
|
"help": "In this table you can set custom attenuation coefficients between audio zones",
|
|
"numbered": true,
|
|
"can_order": true,
|
|
"can_add_new_rows": true,
|
|
|
|
"columns": [
|
|
{
|
|
"name": "source",
|
|
"label": "Source",
|
|
"can_set": true,
|
|
"placeholder": "Zone_A"
|
|
},
|
|
{
|
|
"name": "listener",
|
|
"label": "Listener",
|
|
"can_set": true,
|
|
"placeholder": "Zone_B"
|
|
},
|
|
{
|
|
"name": "coefficient",
|
|
"label": "Attenuation coefficient",
|
|
"can_set": true,
|
|
"placeholder": "0.18"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "reverb",
|
|
"type": "table",
|
|
"label": "Reverb Settings",
|
|
"help": "In this table you can set reverb levels for audio zones. For a medium-sized (e.g., 100 square meter) meeting room, try a decay time of around 1.5 seconds and a wet/dry mix of 25%. For an airplane hangar or cathedral, try a decay time of 4 seconds and a wet/dry mix of 50%.",
|
|
"numbered": true,
|
|
"can_add_new_rows": true,
|
|
|
|
"columns": [
|
|
{
|
|
"name": "zone",
|
|
"label": "Zone",
|
|
"can_set": true,
|
|
"placeholder": "Audio_Zone"
|
|
},
|
|
{
|
|
"name": "reverb_time",
|
|
"label": "Reverb Decay Time",
|
|
"can_set": true,
|
|
"placeholder": "(in sec)"
|
|
},
|
|
{
|
|
"name": "wet_level",
|
|
"label": "Wet/Dry Mix",
|
|
"can_set": true,
|
|
"placeholder": "(in percent)"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "audio_buffer",
|
|
"label": "Audio Buffers",
|
|
"assignment-types": [0],
|
|
"settings": [
|
|
{
|
|
"name": "dynamic_jitter_buffer",
|
|
"type": "checkbox",
|
|
"label": "Dynamic Jitter Buffers",
|
|
"help": "Dynamically buffer client audio based on perceived jitter in packet receipt timing",
|
|
"default": true,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "static_desired_jitter_buffer_frames",
|
|
"label": "Static Desired Jitter Buffer Frames",
|
|
"help": "If dynamic jitter buffers is disabled, this determines the target number of frames maintained by the AudioMixer's jitter buffers",
|
|
"placeholder": "1",
|
|
"default": "1",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "max_frames_over_desired",
|
|
"label": "Max Frames Over Desired",
|
|
"help": "The highest number of frames an AudioMixer's ringbuffer can exceed the desired jitter buffer frames by",
|
|
"placeholder": "10",
|
|
"default": "10",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "use_stdev_for_desired_calc",
|
|
"type": "checkbox",
|
|
"label": "Stdev for Desired Jitter Frames Calc",
|
|
"help": "Use Philip's method (stdev of timegaps) to calculate desired jitter frames (otherwise Fred's max timegap method is used)",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "window_starve_threshold",
|
|
"label": "Window Starve Threshold",
|
|
"help": "If this many starves occur in an N-second window (N is the number in the next field), then the desired jitter frames will be re-evaluated using Window A.",
|
|
"placeholder": "3",
|
|
"default": "3",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "window_seconds_for_desired_calc_on_too_many_starves",
|
|
"label": "Timegaps Window (A) Seconds",
|
|
"help": "Window A contains a history of timegaps. Its max timegap is used to re-evaluate the desired jitter frames when too many starves occur within it.",
|
|
"placeholder": "50",
|
|
"default": "50",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "window_seconds_for_desired_reduction",
|
|
"label": "Timegaps Window (B) Seconds",
|
|
"help": "Window B contains a history of timegaps. Its max timegap is used as a ceiling for the desired jitter frames value.",
|
|
"placeholder": "10",
|
|
"default": "10",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "repetition_with_fade",
|
|
"type": "checkbox",
|
|
"label": "Repetition with Fade",
|
|
"help": "Dropped frames and mixing during starves repeat the last frame, eventually fading to silence",
|
|
"default": false,
|
|
"advanced": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "entity_server_settings",
|
|
"label": "Entity Server Settings",
|
|
"assignment-types": [6],
|
|
"settings": [
|
|
{
|
|
"name": "maxTmpLifetime",
|
|
"label": "Maximum Lifetime of Temporary Entities",
|
|
"help": "The maximum number of seconds for the lifetime of an entity which will be considered \"temporary\".",
|
|
"placeholder": "3600",
|
|
"default": "3600",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "persistFilePath",
|
|
"label": "Entities File Path",
|
|
"help": "The path to the file entities are stored in.<br/>If this path is relative it will be relative to the application data directory.<br/>The filename must end in .json.gz.",
|
|
"placeholder": "models.json.gz",
|
|
"default": "models.json.gz",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "persistInterval",
|
|
"label": "Save Check Interval",
|
|
"help": "Milliseconds between checks for saving the current state of entities.",
|
|
"placeholder": "30000",
|
|
"default": "30000",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "backups",
|
|
"type": "table",
|
|
"label": "Backup Rules",
|
|
"help": "In this table you can define a set of rules for how frequently to backup copies of your entites content file.",
|
|
"numbered": false,
|
|
"can_add_new_rows": true,
|
|
|
|
"default": [
|
|
{"Name":"Half Hourly Rolling","backupInterval":1800,"format":".backup.halfhourly.%N","maxBackupVersions":5},
|
|
{"Name":"Daily Rolling","backupInterval":86400,"format":".backup.daily.%N","maxBackupVersions":7},
|
|
{"Name":"Weekly Rolling","backupInterval":604800,"format":".backup.weekly.%N","maxBackupVersions":4},
|
|
{"Name":"Thirty Day Rolling","backupInterval":2592000,"format":".backup.thirtyday.%N","maxBackupVersions":12}
|
|
],
|
|
"columns": [
|
|
{
|
|
"name": "Name",
|
|
"label": "Name",
|
|
"can_set": true,
|
|
"placeholder": "Example",
|
|
"default": "Example"
|
|
},
|
|
{
|
|
"name": "format",
|
|
"label": "Rule Format",
|
|
"can_set": true,
|
|
"help": "Format used to create the extension for the backup of your persisted entities. Use a format with %N to get rolling. Or use date formatting like %Y-%m-%d.%H:%M:%S.%z",
|
|
"placeholder": ".backup.example.%N",
|
|
"default": ".backup.example.%N"
|
|
},
|
|
{
|
|
"name": "backupInterval",
|
|
"label": "Backup Interval in Seconds",
|
|
"help": "Interval between backup checks in seconds.",
|
|
"placeholder": 1800,
|
|
"default": 1800,
|
|
"can_set": true
|
|
},
|
|
{
|
|
"name": "maxBackupVersions",
|
|
"label": "Max Rolled Backup Versions",
|
|
"help": "If your backup extension format uses 'rolling', how many versions do you want us to keep?",
|
|
"placeholder": 5,
|
|
"default": 5,
|
|
"can_set": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "NoPersist",
|
|
"type": "checkbox",
|
|
"label": "Disable Persistence",
|
|
"help": "Don't persist your entities to a file.",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "NoBackup",
|
|
"type": "checkbox",
|
|
"label": "Disable Backup",
|
|
"help": "Don't regularly backup your persisted entities to a backup file.",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "statusHost",
|
|
"label": "Status Hostname",
|
|
"help": "Host name or IP address of the server for accessing the status page",
|
|
"placeholder": "",
|
|
"default": "",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "statusPort",
|
|
"label": "Status Port",
|
|
"help": "Port of the server for accessing the status page",
|
|
"placeholder": "",
|
|
"default": "",
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "persistFileDownload",
|
|
"type": "checkbox",
|
|
"label": "Persist File Download",
|
|
"help": "Includes a download link to the persist file in the server status page.",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "wantEditLogging",
|
|
"type": "checkbox",
|
|
"label": "Edit Logging",
|
|
"help": "Logging of all edits to entities",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "wantTerseEditLogging",
|
|
"type": "checkbox",
|
|
"label": "Edit Logging (Terse)",
|
|
"help": "Logging of all edits to entities",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "verboseDebug",
|
|
"type": "checkbox",
|
|
"label": "Verbose Debug",
|
|
"help": "Lots of debugging",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "debugReceiving",
|
|
"type": "checkbox",
|
|
"label": "Extra Receiving Debug",
|
|
"help": "Extra debugging on receiving",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "debugSending",
|
|
"type": "checkbox",
|
|
"label": "Extra Sending Debug",
|
|
"help": "Extra debugging on sending",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "debugTimestampNow",
|
|
"type": "checkbox",
|
|
"label": "Extra Timestamp Debugging",
|
|
"help": "Extra debugging for usecTimestampNow() function",
|
|
"default": false,
|
|
"advanced": true
|
|
},
|
|
{
|
|
"name": "clockSkew",
|
|
"label": "Clock Skew",
|
|
"help": "Number of msecs to skew the server clock by to test clock skew",
|
|
"placeholder": "0",
|
|
"default": "0",
|
|
"advanced": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "avatar_mixer",
|
|
"label": "Avatar Mixer",
|
|
"assignment-types": [1],
|
|
"settings": [
|
|
{
|
|
"name": "max_node_send_bandwidth",
|
|
"type": "double",
|
|
"label": "Per-Node Bandwidth",
|
|
"help": "Desired maximum send bandwidth (in Megabits per second) to each node",
|
|
"placeholder": 1.0,
|
|
"default": 1.0,
|
|
"advanced": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|