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 = trueBoth 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 mode | Block mode | |
|---|---|---|
Config.BlockSystem | false | true (default) |
| Who creates property | A realtor job (e.g. realestate) | Registered companies that own land blocks |
| Who owns unsold stock | The state / job society | The company treasury |
| Land market | ❌ None | ✅ Blocks drawn, priced, bought, sold, auctioned |
| Management hub | Job Hub (scoped by job + grade) | Company hub (scoped by role bitflags) |
| Money location | Job society account | Company treasury + ledger |
| Permissions | Framework job grades (kp_job_grade_perms) | Custom roles with bitflag perms (kp_company_roles) |
| Registering a business | ❌ N/A | ✅ Civilians apply, DOJ approves |
| Best for | Simple servers, a single agency | Player-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.Jobsgets 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(plusMANAGE_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/BuyerKey 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_PROPERTYpermission. - 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 rentSwitching 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:
- Creating Property: realtor job vs company builder
- Companies & Roles: Block mode only
- Job Hub (Classic): Classic mode only
- Buying, Selling & Auctions: land auctions are Block mode
- Starter Apartments: works in both, scoped to state or company stock
Everything else, furniture, security, utilities, stashes, cameras, garages, contracts, doorbell, Lumen behaves identically in both modes.