BitAspire Wiki
SIR+SIR+

Migration Guide

Migration reference for moving from Legacy SIR, Modern SIR, EssentialsX, or CMI into SIR+.

Supported migration sources in SIR+

SIR+ expands the migration matrix exposed by /sir migrate:

  • /sir migrate SIR
  • /sir migrate Essentials
  • /sir migrate CMI

The important detail is that SIR+ can detect both Legacy SIR and Modern SIR when you choose SIR.


Modern SIR -> SIR+

What gets copied directly

When the source folder is detected as a Modern SIR folder, SIR+ copies the existing structured data instead of trying to re-interpret it as Legacy.

The migration routine copies:

  • users/ignore.yml
  • users/mute.yml
  • users/chat-view.yml
  • users/chat-color.yml
  • config.yml
  • bossbars.yml
  • webhooks.yml
  • commands/lang.yml
  • commands/main/lang.yml

It also copies module directories for:

  • announcements
  • join-quit
  • advancements
  • motd
  • channels
  • tags
  • moderation
  • emojis
  • cooldowns
  • mentions
  • discord
  • vanish

And it carries forward:

  • modules/states.yml
  • commands/states.yml

Why this path is the safest upgrade

This is the cleanest migration path because the source and target already share the same modern split layout. In practice, you are adding:

  • addon runtime
  • addon state
  • provider override controls
  • SIR+ aliases and extra admin coverage

The original SIR folder is backed up into back-ups/.


Legacy SIR -> SIR+

If the SIR source folder is detected as Legacy instead of Modern, SIR+ falls back to the Legacy translation path.

That path behaves much like the base SIR legacy migration:

  • old command data goes into users/
  • bossbars.yml and webhooks.yml are carried forward
  • chat/ is split into modern chat-related modules
  • hook/ is split into discord, login, and vanish
  • module and command state are rebuilt into the modern files
  • the old source is backed up under back-ups/

The difference is that your final target is now the addon-capable branch, so once the core data is stable you can begin layering custom addons on top.


EssentialsX -> SIR+

SIR+ also supports the same Essentials-style migration family as base SIR.

From the implementation, this routine can bring over:

  • shared config pieces
  • chat-related behavior
  • spawn or onboarding-related data
  • Discord-related integration data
  • command states
  • user data such as ignore, mute, and nick information from userdata files

It also snapshots the original Essentials folder into back-ups/.

This is a good path if you want to land directly on SIR+ without doing an intermediate move through base SIR.


CMI -> SIR+

This is the migration path that only SIR+ adds.

The migrateCmi() routine is designed to pull SIR-relevant data out of a CMI installation and place it into the SIR+ structure.

Based on the implementation, it can migrate:

  • module state from Settings/Modules.yml
  • chat settings
  • config and messaging behavior
  • user ignore and mute data
  • join and quit related behavior
  • spawn-related data
  • MOTD-related data

The original CMI folder is backed up into back-ups/ before you continue.

Because CMI servers are often heavily customized, this is a path where manual review is especially important after the import.


Migration planning by source

SourceBest reason to choose this pathMain manual review items
Legacy SIRYou are still on 1.7.0 or belowsplit chat and hook behavior, permission renames
Modern SIRYou already run 2.0.0 and want addonsprovider overrides, addon rollout plan
EssentialsXYou want to jump straight from Essentials-style data to SIR+nickname formatting, placeholders, spawn behavior
CMIYou want to replace chat or interaction features from a CMI stackchat toggles, module states, MOTD, spawn assumptions

Post-migration checklist

No matter which source you pick, validate these before go-live:

  1. modules/states.yml
  2. commands/states.yml
  3. addons/states.yml
  4. users/ignore.yml
  5. users/mute.yml
  6. users/chat-view.yml
  7. users/chat-color.yml
  8. module folders such as channels, discord, moderation, and motd
  9. provider override behavior if you changed command conflicts

Only after the base import looks healthy should you start adding custom addons.

Last updated on

On this page