Kartik Scripts

Dormant Owner Reclaim

The inactivity reclaim system automatically recovers citizen-owned homes whose owners have stopped playing, keeping the housing market liquid on long-running servers instead of letting properties sit locked forever behind absent owners.

This system reclaims real players' homes and is therefore disabled by default (Config.Inactivity.Enabled = false). Review the settings and grace period carefully before enabling it on a live server.


How it works

  1. Activity is tracked per owner, not per door. A player's last-seen time is stamped whenever they log in or enter any property. A player who owns five homes but visits only one stays active on all five.
  2. Dormant owners are flagged. When an owner hasn't been seen for DormantDays, their eligible properties become candidates for reclaim.
  3. Warn, then act. On the first sweep a dormant property is warned (a grace clock starts) rather than reclaimed. If the owner is still absent after WarnDays, the property is reclaimed on a later cycle.
  4. Returning clears everything. The moment a flagged owner logs in or enters any property, all dormancy warnings on their homes are lifted and they receive a "you're safe" notice.

The sweep runs from the billing maintenance cycle, so it inherits the same once-per-cycle scheduling as the rest of the economy.


What happens on reclaim

  • Belongings are protected. Every stash in the property is sealed into the impound system (exactly like an eviction or Tebex reclaim), so the former owner can still recover their items, nothing is destroyed out from under them.
  • Keys and leases are cleared. Property keys are dropped and any leases closed.
  • Outcome is configurable:
    • relist: the deed returns to the state agent and the property is put up for sale (at an appraised, original, or zero price).
    • delete: the property is destroyed outright.
  • Optional refund. If enabled, the owner is credited the property's last sale price on reclaim (paid even when the outcome is delete).

Properties that are never reclaimed

Certain properties are skipped regardless of owner activity:

  • Starter homes (when ExemptStarter is on).
  • Mortgaged / encumbered properties (would strand the lender).
  • Tenanted properties with an active lease (the home is in active use).
  • Frozen or public properties, and any owner listed in ExemptCids.

Configuration

Inactivity reclaim is configured in shared/inactivity.lua:

Config.Inactivity = {
    Enabled = false, -- OFF by default: this reclaims real players' homes

    DormantDays = 30, -- owner unseen this long -> eligible

    WarnDays = 7,     -- warn first; reclaim only after this grace. Return clears it. 0 = no grace

    Action      = 'relist',    -- 'relist' (back up for sale) | 'delete' (destroy outright)
    RelistPrice = 'appraised', -- 'appraised' | 'original' | 'zero'
    RefundOwner = false,       -- credit last sale price back to the owner on reclaim

    ExemptStarter = true,      -- don't reclaim starter homes
    ExemptCids    = {},        -- cids never touched (staff, event chars)
}

Notes

  • Because dormant owners are offline by definition, the warning is delivered as a staff-facing audit (forwarded to your webhook) and as the "you're safe" notice on the player's next login, the reclaim itself is also audited.
  • Reclaim mirrors the eviction and Tebex-reclaim flows, see Renting & Leases and Tebex Integration.

On this page