Custom Session IDs

From Resonite Wiki
Revision as of 06:30, 28 September 2024 by Bredo (talk | contribs) (Remove mention of being able to use Group IDs in session IDs; this doesn't work)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Custom Session IDs are a custom format for regular Session IDs, that can be easier to remember and work with.

Benefits

Custom Session IDs are

  • Static
    • Unlike regular session IDs which have randomized elements, custom session IDs are static. This lets you use them in other configuration items without needing to update them each time the session restarts.
  • Automatic
    • When used with the ressession:// url format, things like IP Addresses and ports are automatically resolved.

Format

Custom Session IDs have 3 components.

S-<User ID>:<custom text>

  • The S- this is automatically added when setting a custom session ID, but must be supplied when using a custom session ID.
  • A user ID, e.g. U-ProbablePrime
  • The custom text portion can be anything you'd like, but there are some restrictions.
    • Only Alphanumeric Characters, Dashes (-) and Underscores (_) can be used.

Combining everything together a full custom session ID example would be: S-U-ProbablePrime:CheeseLand.

Setting a Custom Session ID

In the Headless Server Software configuration

Remember to not include S- in this configuration file.

Within the Headless Server Software/Configuration_File startWorlds configuration. For example:

{
  "$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
  ... some other properties
  "startWorlds": [
    {
      "isEnabled": true,
      "customSessionId": "U-ProbablePrime:CheeseLand",
	  ... some other world properties
    }
  ],
  ... even more properties
}

Using a Custom Session ID

You can use a custom session ID, anywhere that expects a session ID, examples include:

When using it with the above methods, you'll need to ensure that it is used within a valid session url, there are a number of options:

  1. Use an LNL URL
    • For Example lnl-nat://aba6f27b-c51c-49ba-ac03-0bcc96cd97cc/S-U-ProbablePrime:CheeseLand.
  2. Use a ressession url
    • For Example ressession:///S-U-ProbablePrime:CheeseLand