RESTRICT_CONTENT setting and the content_tag column present in many SQL tables.
The RESTRICT_CONTENT setting
In settings/main.lua, set RESTRICT_CONTENT to 1 to enable expansion-locked content filtering:
RESTRICT_CONTENT = 0 (the default), all content is loaded regardless of which expansion toggles are set. Content appears in-game even if the corresponding expansion is disabled.
With RESTRICT_CONTENT = 1, content whose content_tag matches a disabled expansion is excluded from loading.
The content_tag column
Many SQL tables include a content_tag column that associates a row with a specific expansion. When RESTRICT_CONTENT is enabled, the server reads this column and skips rows whose tag corresponds to a disabled expansion.
Examples of tables with content_tag:
- NPC spawn data
- Item shop listings
- Quest and mission data
- Zone content flags
Tag values
Tag values correspond to expansion identifiers that map to theENABLE_* settings:
content_tag value | Expansion | Setting |
|---|---|---|
COP | Chains of Promathia | ENABLE_COP |
TOAU | Treasures of Aht Urhgan | ENABLE_TOAU |
WOTG | Wings of the Goddess | ENABLE_WOTG |
ACP | A Crystalline Prophecy | ENABLE_ACP |
AMK | A Moogle Kupo d’Etat | ENABLE_AMK |
ASA | A Shantotto Ascension | ENABLE_ASA |
ABYSSEA | Abyssea | ENABLE_ABYSSEA |
SOA | Seekers of Adoulin | ENABLE_SOA |
ROV | Rhapsodies of Vana’diel | ENABLE_ROV |
TVR | The Voracious Resurgence | ENABLE_TVR |
content_tag value (or a tag matching an enabled expansion) are always loaded.
What gets disabled
WhenRESTRICT_CONTENT = 1 and an expansion is disabled:
- NPCs with a matching
content_tagare not spawned. Players will not see expansion-specific NPCs in the world. - Items in NPC shops with a matching tag are removed from shop inventories.
- Quests and missions associated with the disabled expansion are not offered.
- Zone-specific content flagged with the tag is excluded.
Items that already exist in a player’s inventory are not removed. Content restriction only applies at the loading and availability stage, not retroactively to existing character data.
Partial implementation status
Era accuracy beyond content tags
RESTRICT_CONTENT handles content availability (what appears), not behavioral accuracy (how things work). For era-accurate mechanics — such as pre-ToAU combat formulas, older skill-up rates, or removed content tweaks — you need the module system.
The era accuracy modules in modules/era-accuracy provide opt-in behavioral changes that revert specific mechanics to match earlier eras of the game. These are separate from the content_tag system and can be used independently.
See Era accuracy modules for the full list of available reversions.