landsandboat/modules
2026-06-19 01:16:49 -04:00
..
abyssea [modules] rework module structure 2026-06-19 01:16:49 -04:00
custom Fold PacketGuard into the general C2S system 2026-04-15 20:51:02 -06:00
era/lua [modules] rework module structure 2026-06-19 01:16:49 -04:00
example Move utilities to their own folder and audit some 2025-09-26 01:37:05 +02:00
rov/sql [modules] rework module structure 2026-06-19 01:16:49 -04:00
soa/sql [modules] rework module structure 2026-06-19 01:16:49 -04:00
testing/lua Moves min/max levels to mob_spawn_points sql 2026-01-24 21:48:47 -05:00
toau/sql [modules] rework module structure 2026-06-19 01:16:49 -04:00
tools/packetcap PacketCap module to save clients packets 2026-01-28 13:28:20 -07:00
wotg/sql [modules] rework module structure 2026-06-19 01:16:49 -04:00
init.txt
module_utils.lua [modules] rework module structure 2026-06-19 01:16:49 -04:00
README.md [modules] rework module structure 2026-06-19 01:16:49 -04:00

Modules

Please see init.txt for how to load modules.

Please see the module guide on the wiki for a comprehensive guide on how to write and use Lua, C++, and SQL modules.

Era Accuracy Modules

Lua era-accuracy modules live under era/lua/ and mirror the main scripts/ tree where practical. These modules should use xi.module.isContentEnabled(contentTag) to decide whether an era override should register. If the relevant content is enabled, return a data-only table such as { name = moduleName }.

Common content tags are:

  • COP : Chains of Promathia (September 2004 - March 2006)
  • TOAU : Treasures of Aht Urhgan (April 2006 - October 2007)
  • WOTG : Wings of the Goddess (November 2007 - May 2010)
  • ABYSSEA : Abyssea Add-ons (June 2010 - February 2013)
  • SOA : Seekers of Adoulin (March 2013 - April 2015)
  • ROV : Rhapsodies of Vana'diel (May 2015 - July 2020)
  • TVR : The Voracious Resurgence (August 2020 - Present)

For example, if a Lua module reverts a December 2010 change, place it in the matching mirrored path under era/lua/ and guard its override with not xi.module.isContentEnabled('ABYSSEA').