Skip to content

Updating from Armour v3.x#

Overview#

Armour v4.x is a massive script overhaul from the v3.x releases, mainly to implement:

  • a separate namespace (to improve compatibility with other eggdrop scripts)
  • support for multiple channels in Armour

Warning

This overhaul also resulted in completely changing how configuration was stored, meaning v3.x configuration failes are not compatible with v4.x script code.

Armour v4.x will automatically migrate old v3.x DB files to the required v4.0 format. However, the Armour configuration file is not migrated. If loading a Armour v4.x TCL onto an existing bot running Armour v3.x, ensure:

  • a brand new armour configuration file is used, copying the armour.conf.sample from the v4.0 download
  • the bot is restarted and not rehashed. A rehash will not work and result in crashing the bot.

Updating from Armour v4.x Alpha#

Less issues occur here, but there are some configuration changes that need to manually be made against existing v4.x configuration files.

  1. Add the Update Settings section:

    # ------------------------------------------------------------------------------------------------
    # UPDATE SETTINGS
    # ------------------------------------------------------------------------------------------------
    
    # -- run hourly check for new script updates? (0|1) - [1]
    set cfg(update) 1
    
    # -- send notes to global 500 users when new script versions are found? (0|1) - [1]
    set cfg(update:notes) 1
    
    # -- automatically update script when new updates are found? (0|1) - [0]
    # -- notes are sent to global level 500 users when updates are found
    set cfg(update:auto) 0
    
    # -- github branch to check and apply updates from - [master]
    set cfg(update:branch) "4_0_beta"
    
    # -- automatically remove old script backups after N days - [7]
    set cfg(update:flush) 7
    
    # -- enable debug mode to download and stage new updates but do not execute (0|1) - 0
    set cfg(update:debug) 0
    

  2. Ensure the end of the configuration file after the Command Binds looks similar to this, with any necessary plugins uncommented:

    # ------------------------------------------------------------------------------------------------
    # end of command levels
    # ------------------------------------------------------------------------------------------------
    
    # -- optional plugins to load
    # -- to load plugins, uncomment their line after editing the config parameters in each file
    set files {
        # -- plugins (optional)
        #./armour/plugins/smsbot.tcl       # -- smsglobal plugin
        #./armour/plugins/trakka.tcl       # -- trakka plugin
        #./armour/plugins/tell.tcl         # -- tell plugin
        #./armour/plugins/push.tcl         # -- pushover plugin
        #./armour/plugins/email.tcl        # -- email plugin
        #./armour/plugins/quote/quote.tcl  # -- quote plugin
    }
    # ------------------------------------------------------------------------------------------------
    # end of configuration
    # ------------------------------------------------------------------------------------------------
    
    
    
    # ------------------------------------------------------------------------------------------------
    }
    # end of namespace; scripts must be loaded afterwards, to avoid nested namespaces 
    # ------------------------------------------------------------------------------------------------
    source ./armour/armour.tcl
    # ------------------------------------------------------------------------------------------------
    putlog "\[@\] Armour $arm::cfg(version) Loaded (empus@undernet.org)"
    # ------------------------------------------------------------------------------------------------
    

  3. Ensure your Armour directory is installed to ./armour inside the eggdrop installation directory
  4. Ensure your Armour *.tcl file is named ./armour/armour.tcl
  5. Rehash the bot!
  6. On IRC, run a forced update to merge configuration and automatically remove old & unused settings. Output will look similar to the below:
    @Empus | c update install -f
     @yolk | starting script upgrade to version: 4.0 (revision: 2022121400 -- branch: 4_0_beta)
     @yolk | Armour script v4.0 (revision: 2022121400) installation complete (runtime: 32 secs -- files: 110)
     @yolk | info: retained 47 non-default settings -- check 1 new config setting (dronebl:key)
     @yolk | info: found 1 available new RBL (rbl.undernet.org)
     @yolk | info: found 4 available new plugins (tell, smsbot, push, email)
       <-- | yolk (armour@armour.bot) has quit (Quit: Loading Armour v4.0 (revision: 2022121400))
       --> | yolk (armour@armour.bot) has joined #armour
    

Ongoing Updates#

Once upgraded to Armour v4.0 (or later), the script can handle subsequent updates.

For more information, see Update.