- You can now pass any option to the underlying GameDig library when querying a server by setting msg.options object on the input. Can be used for example to set msg.options.guildId that is required for querying Discord servers. Note that this will override even the config settings from the UI.

- New option "Output options" that you can enable from config to output `msg.options` object that contains all options we passed to GameDig to query the server. This overrides all other options (whether set from the UI or from `msg.*` variables) so take note of that when chaining multiple server query nodes together with this enabled.
- Breaking Change: This node no longer returns `msg.max_attempts`, `msg.socket_timeout`, and `msg.attempt_timeout`, instead see "Output options" mentioned above if you need this.
This commit is contained in:
2023-05-10 22:12:26 -06:00
parent 8bdb043923
commit 787ee61c4e
3 changed files with 56 additions and 67 deletions

View File

@@ -14,7 +14,8 @@
given_port_only: { value: '' },
ip_family: { value: '0' },
debug: { value: '' },
request_rules: { value: '' }
request_rules: { value: '' },
output_options: { value: '' }
},
inputs:1,
outputs:1,
@@ -182,6 +183,18 @@
</div>
</div>
<div class="form-row">
<label for="node-input-output_options" style="vertical-align: top"><i class="fa fa-server"></i> Output options</label>
<div style="width: 50%;display: inline-block;">
<input
type="checkbox"
id="node-input-output_options"
style="width: auto; vertical-align: top"
/>
Outputs <code style="white-space: normal;">msg.options</code> as an object that contains all the options used to query the server using GameDig. Note: If you pass <code style="white-space: normal;">msg.options</code> as an input it will override all set options so make sure you unset it if chaining multiple server query nodes together unless that is what you want.
</div>
</div>
<div class="form-row">
<label for="node-input-ip_family"><i class="fa fa-server"></i> IP Rules</label>
<select
@@ -217,6 +230,11 @@
</dt>
<dd>Query port of the server. Ignored if configured on the node. Uses default query port for the server type if left empty.</dd>
<dt class="optional">
msg.options <span class="property-type">object | null</span>
</dt>
<dd>Set additional GameDig options. This overrides all other methods of setting options. Can be used for example to set <code style="white-space: normal;">msg.options.guildId</code> that is required for querying Discord servers.</dd>
<dt class="optional">
msg.max_attempts <span class="property-type">integer | null</span>
</dt>
@@ -286,18 +304,8 @@
<dd>Query port of the server. Ignored if configured on the node.</dd>
<dt>
msg.max_attempts <span class="property-type">integer</span>
msg.options <span class="property-type">object | undefined</span>
</dt>
<dd>Number of attempts to query server in case of failure. Ignored if configured on the node.</dd>
<dt>
msg.socket_timeout <span class="property-type">integer</span>
</dt>
<dd>Milliseconds to wait for a single packet. Beware that increasing this will cause many queries to take longer even if the server is online. Ignored if configured on the node.</dd>
<dt>
msg.attempt_timeout <span class="property-type">integer</span>
</dt>
<dd>Milliseconds allowed for an entire query attempt. This timeout is not commonly hit, as the socketTimeout typically fires first. Ignored if configured on the node.</dd>
<dd>Only set if configured to do so. Will return all the options passed to GameDig to query the server.</dd>
</dl>
</script>