Expand description

Versioned admins settings files.

Modules

  • legacy 🔒
  • v0 🔒
    This module represents a admins version that isn’t actually used. It is here and part of the migration process to provide an example for how to perform a migration for an old version; please use this as a reference when constructing new migrations.
  • v1 🔒

Structs

  • NOTE: Always replace this with the latest admins version. Then update the AdminsRaw, the TryFrom for Admins, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade. NOTE: This does not include info structs like other settings, because we (deliberately) provide no interface for creating new mods or admins except through the command line, ensuring that the host of the server has total control over these things and avoiding the creation of code paths to alter the admin list that are accessible during normal gameplay.
  • NOTE: Always replace this with the latest admins version. Then update the AdminsRaw, the TryFrom for Admins, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade. NOTE: Records should only be unavailable for cases where we are migration from a legacy version.

Enums

  • Versioned settings files, one per version (v0 is only here as an example; we do not expect to see any actual v0 settings files).
  • NOTE: Always replace this with the latest admins version. Then update the AdminsRaw, the TryFrom for Admins, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade. Important: even if the role we are storing here appears to be identical to one used in another versioned store (like banlist::Role), we must have our own versioned copy! This ensures that if there’s an update to the role somewhere else, the conversion function between them will break, letting people make an intelligent decision.

Type Aliases