server.cfg change what Element Labs products check at start and what they print
to the console. All five have defaults that suit a normal server; you change them to diagnose a
problem or to satisfy a network restriction.
Contract
Settings are declared inserver.cfg and read when a resource starts. Changing one takes effect at
the next start.
setr rather than set. setr makes the value visible to the game clients as well, which is
what enables the client side of the debug output. A plain set affects the server only.
Place these lines before the ensure lines for Element Labs resources.
Inputs
Channel names
A channel is the label in the second bracket of a log line. In this line the channel isconfig:
Release channels
el:versionChannel decides which published release your installed version is compared against:
Outputs
Debug output
Off by default, and safe to leave off: it is diagnostic detail, not information you need during normal operation. Turned on, it reports decisions products make at start, such as which of your resources each capability was matched to:The version check
Withel:versionCheck left at its default, the server makes one request to the public Element Labs
release catalogue shortly after the SDK starts, and compares the result with every installed Element
Labs resource. A resource that is behind is reported once:
raw.githubusercontent.com. If your firewall works from an allowlist, that is the
host to add.
Set el:versionCheck to false if your server has no outbound internet access, or if you do not
want the request made. Setting el:versionChannel to off silences the notice but still makes the
request; only el:versionCheck prevents it.
el:versionCatalog moves the request somewhere else: a mirror inside your own network, for instance.
Whatever answers must return the same document; anything else is reported as an invalid catalogue and
ignored.
The dependency check
Withel:dependencyCheck left at its default, a product refuses to start when the SDK is missing,
stopped or outside the versions it accepts. See SDK version requirements.
Setting it to false lets the product start anyway. This is a way to confirm that a version
mismatch is the cause of a problem, not a way to run a mismatched pair: a product started against an
SDK it was not built for fails later, in less obvious ways. Set it back afterwards.
Errors
The version check never blocks a start. When the catalogue cannot be reached or cannot be read, it reports one line and gives up until the next restart:0 usually means the request never left the machine: a firewall rule or a server with
no outbound access. Set el:versionCheck to false to stop the attempt.
Example
Aserver.cfg section for a server with no outbound internet access, diagnosing a configuration
problem: