Skip to main content
Five settings in 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 in server.cfg and read when a resource starts. Changing one takes effect at the next start.
Use 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 is config:
Channel names are matched without regard to capitalisation:

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:
Turn it off again once you have the answer. It is verbose and it stays verbose.

The version check

With el: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:
The notice is informational. Nothing stops working and nothing updates itself. See Update a product or the SDK. The request goes to 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

With el: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:
A status of 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

A server.cfg section for a server with no outbound internet access, diagnosing a configuration problem: