Skip to main content
The settings/default/map.lua file configures the xi_map process: game administration, zone behavior, combat math, mob tuning, crafting, and more. All values live under xi.settings.map.

Packet and SQL

MAX_TIME_LASTUPDATE
number
default:"60"
Maximum time (in seconds) between packet updates before the server considers a connection stale.
SETVAR_RETRY_MAX
number
default:"3"
Maximum retries when verifying a written server variable via serverutils::PersistServerVar().
PACKETGUARD_ENABLED
boolean
default:"true"
Block and report packets that aren’t on the allow-list for a player’s current state.
LIGHTLUGGAGE_BLOCK
number
default:"4"
Minimum number of 0x3A packets used to detect light-luggage exploits. Set to 0 to disable detection.

Item handling

LEAK_EXT_DATA_ON_ITEM_MOVE
boolean
default:"true"
Leak item extdata to the client when moving items between inventory containers, matching retail behavior. Useful for edge cases like weapon skill points.
ENABLE_ITEM_RECYCLE_BIN
boolean
default:"true"
Enable the recycle bin so items are held briefly before permanent deletion. Set to false for immediate drops.

Self-unstuck

SELF_UNSTUCK_ENABLED
boolean
default:"false"
Enable the self-unstuck command, which sends the player to their homepoint via the Help Desk.
SELF_UNSTUCK_COOLDOWN
number
default:"86400"
Cooldown in seconds between uses of the self-unstuck command. Default is 24 hours.

Auction house

AH_BASE_FEE_SINGLE
number
default:"1"
Base fee in gil to list a single-item auction.
AH_BASE_FEE_STACKS
number
default:"4"
Base fee in gil to list a stacked auction.
AH_TAX_RATE_SINGLE
float
default:"1.0"
Tax rate multiplier for single-item auctions.
AH_TAX_RATE_STACKS
float
default:"0.5"
Tax rate multiplier for stack auctions.
AH_MAX_FEE
number
default:"10000"
Maximum auction house fee in gil.
AH_LIST_LIMIT
number
default:"7"
Maximum number of open listings per player. 0 removes the limit. Settings above 7 may require a client-side plugin.

Enmity

ENMITY_CAP
number
default:"30000"
Total enmity cap per entity on the enmity table. Approximately matches current retail. Lower values cause mobs to bounce between targets more easily.

Experience points

EXP_RATE
float
default:"1.0"
Experience point multiplier. Also influenced by the conf setting.
EXP_LOSS_RATE
float
default:"1.0"
Multiplier for experience points lost on death.
EXP_RETAIN
float
default:"0"
Fraction of experience normally lost that is retained on death. 0 = full loss, 1 = no loss.
EXP_LOSS_LEVEL
number
default:"31"
Minimum level at which experience can be lost on death.
EXP_PARTY_GAP_PENALTIES
boolean
default:"true"
Apply experience penalties for wide level gaps within a party.
EXP_PARTY_GAP_NO_EXP
number
default:"0"
Level difference threshold above which a party member receives zero experience. 0 disables nullification regardless of gap.
CAPACITY_RATE
float
default:"1.0"
Capacity point multiplier.

Level sync and gear

LEVEL_SYNC_ENABLE
boolean
default:"true"
Enable Level Sync.
DISABLE_GEAR_SCALING
boolean
default:"false"
Prevent equipping higher-level gear while under a level cap or sync effect.

Time and world

VANADIEL_TIME_EPOCH
number
default:"0"
Unix timestamp defining the Vana’diel time epoch. 0 defaults to the SE epoch (JP midnight 1 January 2002, timestamp 1009810800). Safe range: 1 to the current Unix timestamp.
MINIMUM_LEVEL_CONQUEST_INFUENCE_LOSS
number
default:"6"
Minimum level at which a player loses regional Conquest influence on death. Level 5 and below never lose influence.

Movement speed

SettingDefaultDescription
BASE_SPEED50Base player movement speed
SPEED_LIMIT80Player movement speed cap
MOUNT_SPEED80Mount speed (can exceed SPEED_LIMIT)
ANIMATION_SPEED_DIVISOR1.0Player movement animation speed divisor — raise to increase animation speed
MOB_RUN_SPEED_MULTIPLIER2.5Multiplier for engaged mob speed when their target is out of melee range

Combat and skills

FAME_MULTIPLIER
float
default:"1.00"
Fame gain multiplier. Use 0.25 for the older fame calculation.
SKILLUP_CHANCE_MULTIPLIER
float
default:"1.0"
Multiplier for the constant in the skill-up rate formula. Significantly affects how often skills increase.
SKILLUP_AMOUNT_MULTIPLIER
number
default:"1"
Multiplier for skill-up amounts. Values above 1 break the 0.5 cap, raising it to 0.9. Set to 5 for maximum skill-up amounts.
SKILLUP_BLOODPACT
boolean
default:"true"
Enable skill-ups from blood pacts.
DISABLE_TREASURE_HUNTER_PROCS
boolean
default:"false"
Disable Treasure Hunter procs. Enable for era-accurate behavior.
WS_POINTS_BASE
number
default:"5"
Weapon skill point base (before skillchain bonus) for breaking a latent. Retail value is 5.
WS_POINTS_SKILLCHAIN
number
default:"2"
Weapon skill points granted per skillchain level. Retail value is 2.
ABILITY_RECAST_MULTIPLIER
float
default:"1.0"
Multiplier for ability recast timers.
BLOOD_PACT_SHARED_TIMER
boolean
default:"false"
Enable a shared recast timer across all blood pacts.
PREVENT_UNENGAGED_WS
boolean
default:"false"
Prevent players from performing weapon skills while unengaged via packet injection.

Parry, block, and guard skill-up style

SettingDefaultDescription
PARRY_OLD_SKILLUP_STYLEfalseRequire the action to fully resolve for a parry skill-up
BLOCK_OLD_SKILLUP_STYLEfalseRequire the action to fully resolve for a block skill-up
GUARD_OLD_SKILLUP_STYLEfalseRequire the action to fully resolve for a guard skill-up

Mob settings

HP and MP multipliers

Valid range: 0.1 to 2.0.
SettingDefaultApplies to
NM_HP_MULTIPLIER1.0Named monsters
MOB_HP_MULTIPLIER1.0Regular mobs
ALTER_EGO_HP_MULTIPLIER1.0Trusts and fellows
NM_MP_MULTIPLIER1.0Named monsters
MOB_MP_MULTIPLIER1.0Regular mobs
ALTER_EGO_MP_MULTIPLIER1.0Trusts and fellows

Stat multipliers

Adjust base stats (STR, VIT, etc.). Valid range: 0.1 to 2.0.
SettingDefaultApplies to
NM_STAT_MULTIPLIER1.0Named monsters
MOB_STAT_MULTIPLIER1.0Regular mobs
ALTER_EGO_STAT_MULTIPLIER1.0Trusts and fellows
ALTER_EGO_SKILL_MULTIPLIER1.0Trust and fellow skill caps

TP multipliers

SettingDefaultApplies to
MOB_TP_MULTIPLIER1.0Regular mobs
PET_TP_MULTIPLIER1.0Pets (including charmed)
PLAYER_TP_MULTIPLIER1.0Players
TRUST_TP_MULTIPLIER1.0Trusts
FELLOW_TP_MULTIPLIER1.0Fellows

Drop rates and gil

DROP_RATE_MULTIPLIER
float
default:"1.0"
Global mob drop rate multiplier.
MOB_GIL_MULTIPLIER
float
default:"1.0"
Multiplier for gil naturally dropped by mobs. Does not affect the ALL_MOBS_GIL_BONUS bonus.
ALL_MOBS_GIL_BONUS
number
default:"0"
Extra gil per mob level dropped by every mob, even those with no natural gil drop.
MAX_GIL_BONUS
number
default:"9999"
Maximum bonus gil that can be dropped. Default is 9,999 gil.

Despawn behavior

MOB_NO_DESPAWN
boolean
default:"false"
Allow mobs to walk back to their home position instead of despawning after losing aggro.
MOB_ADDITIONAL_TIME_TO_DEAGGRO
number
default:"0"
Extra seconds added to the mob de-aggro timer. Base timer is 25 seconds.

Subjobs

SJ_MP_DIVISOR
float
default:"2.0"
Divisor controlling how much MP a subjob provides. Retail is half, so default is 2.
SUBJOB_RATIO
number
default:"1"
Subjob-to-main-job level ratio. 0 = no subjob, 1 = 1/2 (retail default: 75/37, 99/49), 2 = 2/3, 3 = equal levels.
INCLUDE_MOB_SJ
boolean
default:"false"
Apply SUBJOB_RATIO adjustments to monster subjobs as well.

Crafting

CRAFT_CHANCE_MULTIPLIER
float
default:"1.0"
Multiplier for the skill-up chance formula in crafting.
CRAFT_AMOUNT_MULTIPLIER
number
default:"1"
Multiplier for crafting skill-up amounts.
CRAFT_MODERN_SYSTEM
boolean
default:"true"
Use current retail skill-up rates and margins. Retail allows skill-ups at or under 10 levels above the recipe level.
CRAFT_COMMON_CAP
number
default:"700"
Craft level at which specialization points begin to count. Retail = 700; Level 75 era = 600.
CRAFT_SPECIALIZATION_POINTS
number
default:"400"
Points available for crafts above CRAFT_COMMON_CAP. Retail = 400. Setting all skills to max requires 3200.
CRAFT_HQ_CHANCE_MULTIPLIER
float
default:"1.0"
Multiplier for high-quality craft chance.

Gardening

By default all gardening factors are disabled to match retail behavior. Only change these if you have verifiable proof that retail uses them.
SettingDefault
GARDEN_DAY_MATTERSfalse
GARDEN_MOONPHASE_MATTERSfalse
GARDEN_POT_MATTERSfalse
GARDEN_MH_AURA_MATTERSfalse

Fishing

FISHING_ENABLE
boolean
default:"false"
Enable all fishing functionality, including quests. Enable at your own risk.
FISHING_MIN_LEVEL
number
default:"1"
Minimum character level required to fish.
FISHING_SKILL_MULTIPLIER
float
default:"1.0"
Multiplier for fishing skill-up chance. Default is very hard to skill up.

Battlefields

BATTLE_CAP_TWEAK
number
default:"0"
Adjust all battlefield level caps by this many levels globally.
LV_CAP_MISSION_BCNM
boolean
default:"false"
Enable level caps stored in the database for mission battlefields.
BCNM_ENABLE_EXPERIMENTAL
boolean
default:"true"
Allow players to enter BCNMs flagged as experimental.
MAX_MERIT_POINTS
number
default:"30"
Maximum merit points a player can hold. Classic era is 10; Abyssea era is 30.

Healing

HEALING_TICK_DELAY
number
default:"10"
Seconds between healing ticks while resting.

Pets

KEEP_JUGPET_THROUGH_ZONING
boolean
default:"false"
Keep jug pets when the player zones.
DESPAWN_JUGPETS_BELOW_MINIMUM_LEVEL
boolean
default:"false"
Despawn jug pets whose minimum summon level exceeds the zone’s level restriction. Note: this is retail-accurate but raises balance concerns (e.g., 1000 Needles at low level).

Chat and audit

YELL_COOLDOWN
number
default:"30"
Minimum seconds between uses of the /yell command.
BLOCK_TELL_TO_HIDDEN_GM
boolean
default:"false"
Prevent players from sending /tell to a hidden GM. GMs can still receive tells from other GMs.
AUDIT_GM_CMD
boolean
default:"false"
Log GM commands to the audit log. Commands issued to non-GMs are never logged.

Chat audit

Each channel can be audited independently:
SettingDefaultChannel
AUDIT_CHATfalseAll chat (global toggle)
AUDIT_SAYfalse/say
AUDIT_SHOUTfalse/shout
AUDIT_TELLfalse/tell
AUDIT_YELLfalse/yell
AUDIT_LINKSHELLfalseLinkshell
AUDIT_UNITYfalseUnity chat
AUDIT_PARTYfalseParty chat
AUDIT_BALLISTAfalseBallista
AUDIT_ASSISTEfalseAssist channel (English)
AUDIT_ASSISTJfalseAssist channel (Japanese)

Item transaction audit

SettingDefaultWhat is logged
AUDIT_PLAYER_TRADESfalsePlayer-to-player trades
AUDIT_PLAYER_BAZAARfalseBazaar purchases
AUDIT_PLAYER_DBOXfalseDelivery box transactions
AUDIT_PLAYER_VENDORfalseNPC vendor purchases

Error reporting

REPORT_LUA_ERRORS_TO_PLAYER_LEVEL
number
default:"6"
Minimum GM level required to receive Lua stack traces in-game after a caught error. The max GM level is 5, so the default of 6 disables this for everyone. Set to 0 to enable for all players.
ENABLE_AUTO_ATTACK_LUA
boolean
default:"false"
Calculate auto attack damage in Lua instead of C++.

Build docs developers (and LLMs) love