Skip to main content
The database schema lives entirely in sql/. Each table has its own .sql file. The schema uses utf8mb4 / utf8mb4_general_ci throughout. There are roughly 130 tables, organized into the functional groups below.
Tables that store player account data, authentication, and session state.
TableDescription
accountsCore account record: login, hashed password, email, status, privileges, expansions
accounts_bannedBan records linked to an account
accounts_sessionsActive session tracking
accounts_partiesParty membership persistence
accounts_totpTOTP two-factor authentication secrets
accounts_trust_tokensTrusted device tokens
account_ip_recordIP address history per account
ip_exceptionsIP allowlist/denylist overrides
help_deskIn-game GM help requests
Tables that store everything about a player character. These are the “protected” tables that dbtool.py never overwrites during updates.
TableDescription
charsCore character record: name, nation, position (zone, x/y/z), playtime, GM level, quests, keyitems, missions (stored as blobs)
char_lookRace, face, and equipment appearance
char_statsHP, MP, and base attribute values
char_jobsJob levels and experience
char_expExperience and limit point totals
char_job_pointsJob point accumulation
char_inventoryItem inventory contents and slots
char_equipCurrently equipped gear
char_equip_savedSaved equipment sets
char_spellsKnown spells
char_skillsWeapon and magic skill levels
char_meritMerit point allocations
char_effectsActive status effects
char_varsKey-value store for script variables
char_flagsBoolean flags (tutorial completion, etc.)
char_pointsCurrency totals (conquest points, sparks, etc.)
char_unlocksUnlocked abilities, weapon skills, etc.
char_profileBazaar message and other profile fields
char_storageMog locker and porter moogle storage
char_styleStyle lock appearance
char_petPersistent pet data
char_chocobosRaised chocobo records
char_monstrosityMonstrosity species/level data
char_historyLogin timestamps and historical stats
char_blacklistPer-character blacklist entries
char_fishing_contest_historyFishing contest participation history
char_recastAbility recast timers
Static game data tables describing all item types. These are imported from source SQL and are not player data.
TableDescription
item_basicBase item record: item ID, name, sort key, AH category, flags
item_equipmentEquipment slots, level, jobs, races, element
item_weaponWeapon-specific stats: damage, delay, skill
item_usableUsable item scripts and effects
item_furnishingFurnishing size and Mog House storage bonus
item_puppetAutomaton attachment data
item_modsItem stat modifiers
item_mods_petPet-specific item modifiers
item_latentsLatent effect conditions and modifiers
augmentsAugment stat definitions
Tables that define monsters, NPCs, and their behaviors.
TableDescription
mob_poolsMob template: family, model, jobs, combat stats, behavior flags
mob_spawn_pointsZone-specific spawn locations and rotations
mob_spawn_slotsGrouping of spawn points into spawn slots
mob_groupsGroupings of mob pools for a zone
mob_family_systemMob family definitions: resistances, aggro type
mob_family_modsStat modifiers per mob family
mob_pool_modsPer-pool stat modifier overrides
mob_resistancesElement/status resistance values per pool
mob_droplistItem drop tables with rates
mob_skill_listsWhich weapon skill lists a mob can use
mob_skillsIndividual mob weapon skill definitions
mob_spell_listsWhich spell lists a mob can use
npc_listNPC definitions: name, zone, position, model
pet_listSummonable pet definitions
pet_skillsPet ability definitions
pet_nameRandomly assigned pet name pools
instance_listInstanced content (BCNM, etc.) definitions
instance_entitiesMob/NPC spawns within instances
bcnm_infoBCNM-specific configuration
Tables that define world geography, routing, and zone configuration.
TableDescription
zone_settingsPer-zone configuration: zone ID, IP, port, music, tax rate, misc flags
zone_weatherWeather pattern definitions per zone
zonelinesZone transition connections and destination positions
transportShip/airship transport routes
water_pointsWater tile definitions for fishing
campaign_mapCampaign zone ownership data
campaign_nationNation-specific campaign stats
Tables covering magic, abilities, and job-specific systems.
TableDescription
spell_listMaster spell definitions: MP cost, cast time, recast, targets
blue_spell_listBlue Mage spell-specific data
blue_spell_modsBlue Mage spell stat modifier contributions
blue_traitsBlue Mage trait unlocks from spell sets
abilitiesJob ability definitions
abilities_chargesCharge-based ability configuration
automaton_abilitiesAutomaton ability definitions
automaton_spellsAutomaton spell definitions
status_effectsStatus effect definitions and flags
traitsPassive trait definitions
skill_capsWeapon/magic skill caps by job and level
skill_ranksSkill rank tiers by job
weapon_skillsWeapon skill definitions
skillchain_damage_modifiersSkillchain element multipliers
meritsMerit category and point cost data
job_pointsJob point category definitions
job_point_giftsMilestone gift rewards per job
despoil_effectsDespoil ability result table
Tables for the auction house, shops, and crafting systems.
TableDescription
auction_houseActive auction listings
auction_house_itemsHistorical sold item records
delivery_boxDelivery box item queue
guild_shopsGuild shop stock and prices
guildsGuild definitions and crafting ranks
guild_item_pointsGuild item point values
synth_recipesSynthesis crafting recipes
synergy_recipesSynergy crafting recipes
gardening_resultsGardening yield table
Tables for server-wide state, economy control, and GM audit logging.
TableDescription
server_variablesKey-value store for server-wide state (conquest tallies, event flags)
conquest_systemConquest region ownership data
unity_systemUnity accord state
fishing_contestActive fishing contest state
fishing_contest_entriesFishing contest participant entries
linkshellsLinkshell membership and rank data
audit_chatChat log for GM review
audit_tradeTrade transaction log
audit_bazaarBazaar purchase log
audit_dboxDelivery box transaction log
audit_vendorNPC vendor purchase log
audit_gmGM command log
cheat_typesCheat detection type definitions
Tables for leveling, skill progression, and experience tables.
TableDescription
exp_tableExperience points required per level
exp_baseBase experience point values
monstrosity_exp_tableMonstrosity species experience table
monstrosity_speciesMonstrosity playable species definitions
monstrosity_instinctsMonstrosity instinct ability definitions
monstrosity_instinct_modsMonstrosity instinct stat modifiers
Tables for the fishing system.
TableDescription
fishing_areaFishing area definitions
fishing_baitBait item definitions
fishing_bait_affinityBait-to-fish affinity mappings
fishing_catchCatch result table
fishing_fishFish species definitions
fishing_groupFishing group (NPC fishing group) data
fishing_mobMob catches from fishing
fishing_rodFishing rod definitions
fishing_zonePer-zone fishing configuration

Protected tables

The following tables contain player data and are never overwritten by dbtool.py update. They are only imported during a fresh database setup (when the table doesn’t yet exist): accounts, accounts_banned, accounts_totp, auction_house, auction_house_items, audit_bazaar, audit_dbox, audit_trade, audit_vendor, char_blacklist, char_chocobos, char_effects, char_equip, char_equip_saved, char_exp, char_fishing_contest_history, char_flags, char_history, char_inventory, char_jobs, char_job_points, char_look, char_merit, char_monstrosity, char_pet, char_points, char_profile, char_skills, char_spells, char_stats, char_storage, char_style, char_unlocks, char_vars, chars, conquest_system, delivery_box, fishing_contest, fishing_contest_entries, help_desk, ip_exceptions, linkshells, server_variables, unity_system.

Build docs developers (and LLMs) love