Kartik Scripts

Operating Modes

icon: toggle-on

Operating Modes

Kartik Properties runs in one of two modes, chosen with a single switch in shared/mode.lua:

-- true  = Block mode  (land → companies → properties)
-- false = Classic mode (a realtor job creates & sells state property)
Config.BlockSystem = true

Both modes share the same tablet UI, same features (furniture, security, utilities, stashes, cameras, garages, contracts, doorbell, assistant…). What changes is who owns and creates property, and how management is scoped.


At a glance

Classic modeBlock mode
Config.BlockSystemfalsetrue (default)
Who creates propertyA realtor job (e.g. realestate)Registered companies that own land blocks
Who owns unsold stockThe state / job societyThe company treasury
Land market❌ None✅ Blocks drawn, priced, bought, sold, auctioned
Management hubJob Hub (scoped by job + grade)Company hub (scoped by role bitflags)
Money locationJob society accountCompany treasury + ledger
PermissionsFramework job grades (kp_job_grade_perms)Custom roles with bitflag perms (kp_company_roles)
Registering a business❌ N/A✅ Civilians apply, DOJ approves
Best forSimple servers, a single agencyPlayer-run real-estate economies

Classic mode

A single (or several) realtor job runs the housing market. There are no blocks and no land economy, a realtor simply creates a property anywhere and lists it. Unsold property is state-owned; money flows to the job's society account.

Configured in Config.Classic (shared/mode.lua):

Config.Classic = {
    Jobs = { realestate = 0 },        -- job name -> minimum grade allowed to sell
    AllowShells = true,               -- allow instanced shells
    AllowIpl = false,                 -- allow IPL interiors
    AllowWalkIn = false,              -- allow claiming existing MLOs/buildings
    Allotment = 100,                  -- global copies allowed per shell/interior
    ChargeConstruction = true,        -- bill the job society the build cost per unit
    Maintenance = 1500,               -- flat per-property maintenance per cycle
    TaxRate = 0.02,                   -- flat tax on rent income
    RevenueAccount = 'realestate',    -- society account receiving state revenue
    JobAccounts = {},                 -- society account overrides (default = job name)
    BossGrades = { realestate = 3 },  -- grade treated as boss (bypasses all perms)
    UnemployedJob = 'unemployed',
    FitoutCaps = { stashSlots = 120, stashWeight = 1200000, stashPieces = 6,
                   wardrobeSlots = 12, cameras = 2 },
}

Key facts

  • Multi-job: every job listed in Config.Classic.Jobs gets its own hub and its own society account (JobAccounts[job] or the job name).
  • Boss grade (highest framework grade, or BossGrades[job]) bypasses every permission check, it's the grade that configures the others.
  • Management is the Job Hub, dashboard, sales, customers, leases, statements, employees, roles, starters & allotments.
  • Only 6 permissions apply to jobs: VIEW_LEDGER, DEPOSIT, WITHDRAW, MANAGE_ROLES, HIRE, FIRE (plus MANAGE_STARTER, BUILD_PROPERTY).

Block mode (default)

Land is divided into blocks drawn on the map. Companies (registered by players, approved by the DOJ) buy blocks, build property on them, and run their own agencies. This is the full economy: land value by district × tier, land sales/auctions, company treasuries, roles, and customers.

The chain of ownership:

District  →  Block (land)  →  Company (owner)  →  Property (unit)  →  Tenant/Buyer

Key facts

  • Blocks are drawn in the in-game map editor, priced automatically by district multiplier × tier, and carry their own maintenance & tax rates. See Blocks, Districts & Land.
  • Companies are player-run with a treasury, a ledger, custom roles (bitflag permissions), staff, salaries and a customer directory. See Companies & Roles.
  • To create property you need a company with an active licence, ownership of the block you're standing on, and the BUILD_PROPERTY permission.
  • Management is the Company hub in the tablet.

Company economy config lives in shared/economy.lua:

Config.LicenceFee = 50000                -- business licence application fee
Config.LicenceDurationDays = 30          -- licence validity
Config.CompanyRegistrationOpen = true    -- civilians may apply
Config.MaxCompaniesPerPlayer = 1
Config.CompanyApprovalJobs = { doj = 0 } -- who approves applications
Config.PlatformTaxRate = 0.05            -- state cut on rent

Switching modes

Switch modes on a fresh setup, or plan a migration. Classic mode owns stock as state; Block mode owns it as company. If you flip Config.BlockSystem with existing data, some rows will be homed to a hub that isn't active.

There is a built-in tool for the Block → Classic direction: the Admin panel gains a "Company → Job Migration" item (classic-only) that re-homes company-owned property and leases onto a classic realtor job. See Admin Registry.


Which features change by mode?

Almost none of the feature set changes, only the management surface and ownership. These pages call out mode differences where they exist:

Everything else, furniture, security, utilities, stashes, cameras, garages, contracts, doorbell, Lumen behaves identically in both modes.

On this page