Saxonberg Server API
    Preparing search index...

    Variable AppSettingKeysConst

    AppSettingKeys: {
        bankingSalesTaxRate: "banking.salesTaxRate";
        bankingTreasuryAccount: "banking.treasuryAccount";
        bulletinBodyMaxLength: "bulletin.bodyMaxLength";
        bulletinHeadlineMaxLength: "bulletin.headlineMaxLength";
        bulletinMaxPins: "bulletin.maxPins";
        bulletinTickerWindow: "bulletin.tickerWindow";
        chargenNameMaxLength: "chargen.nameMaxLength";
        chargenNameMinLength: "chargen.nameMinLength";
        chatHistoryCap: "chat.historyCap";
        convictionBuildPeriodSeconds: "conviction.buildPeriodSeconds";
        defaultStartLocation: "defaultStartLocation";
        evacuationFallback: "evacuationFallback";
        forumsAntiSnowballMinMinutes: "forums.antiSnowball.minMinutes";
        forumsAntiSnowballMinVotes: "forums.antiSnowball.minVotes";
        influenceBandThresholds: "influence.bandThresholds";
        livestreamBroadcastSources: "livestream.broadcastSources";
        participationBucketSeconds: "participation.bucketSeconds";
        participationDecayHalfLife: "participation.decayHalfLife";
        producerBucketSeconds: "producer.bucketSeconds";
        producerDecayHalfLife: "producer.decayHalfLife";
        reactionsCadenceMs: "reactions.cadenceMs";
        reactionsSampleCap: "reactions.sampleCap";
        reactionsThreshold: "reactions.threshold";
        renownContextMultipliers: "renown.contextMultipliers";
        renownDecayHalfLives: "renown.decayHalfLives";
        renownQualityWeight: "renown.qualityWeight";
        renownReceptionValence: "renown.receptionValence";
        renownReceptionWindowS: "renown.receptionWindowS";
        residencyEvictionIdleThresholdMs: "residency.eviction.idleThresholdMs";
        residencyEvictionIntervalMs: "residency.eviction.intervalMs";
        residencyEvictionMode: "residency.eviction.mode";
        scriptMaxDepthPlatform: "script.maxDepth.platform";
        scriptMaxDepthPlayer: "script.maxDepth.player";
        scriptMaxDispatchPlatform: "script.maxDispatch.platform";
        scriptMaxDispatchPlayer: "script.maxDispatch.player";
        scriptMaxStepsPlatform: "script.maxSteps.platform";
        scriptMaxStepsPlayer: "script.maxSteps.player";
        scriptSliceSteps: "script.sliceSteps";
        socialBaselineRules: "social.baselineRules";
        socialDefaultColor: "social.defaultColor";
        socialIdleAfter: "social.idleAfter";
        statusMaxLength: "status.maxLength";
        traitsCompatibilityScale: "traits.compatibilityScale";
        traitsDecayHalfLifeDays: "traits.decayHalfLifeDays";
        traitsDefinedThreshold: "traits.definedThreshold";
        traitsEntrenchedThreshold: "traits.entrenchedThreshold";
        traitsPronouncedThreshold: "traits.pronouncedThreshold";
    } = ...

    The blessed application-setting keys. Consumers reference these constants (typo → compile error) instead of bare strings. The values themselves live in mud/config/app-settings.yaml; this is just the typed key vocabulary the engine reads.

    Type Declaration

    • ReadonlybankingSalesTaxRate: "banking.salesTaxRate"

      Banking — the demo sales-tax rate, a fraction of a purchase remitted to the placeholder treasury via the remittance-split seam. Authored and inert (recorded, not governed — the corpo-affiliation-edge precedent); live/legislated taxation is the cooperative build. See docs/subsystems/banking.md.

    • ReadonlybankingTreasuryAccount: "banking.treasuryAccount"

      Banking — the placeholder treasury account that demo tax accumulates in.

    • ReadonlybulletinBodyMaxLength: "bulletin.bodyMaxLength"

      Bulletin — max rendered length (chars) of a body.

    • ReadonlybulletinHeadlineMaxLength: "bulletin.headlineMaxLength"

      Bulletin — max rendered length (chars) of a headline.

    • ReadonlybulletinMaxPins: "bulletin.maxPins"

      Bulletin — max pinned bulletins held at the top of the window.

    • ReadonlybulletinTickerWindow: "bulletin.tickerWindow"

      Bulletin — max bulletins in the live ticker window.

    • ReadonlychargenNameMaxLength: "chargen.nameMaxLength"

      Char-gen — maximum length (chars) of a chosen character name token.

    • ReadonlychargenNameMinLength: "chargen.nameMinLength"

      Char-gen — minimum length (chars) of a chosen character name token.

    • ReadonlychatHistoryCap: "chat.historyCap"

      Chat — per-channel in-memory history ring cap (ChannelCatalogue).

    • ReadonlyconvictionBuildPeriodSeconds: "conviction.buildPeriodSeconds"

      Conviction — the linear build-up period in REAL seconds. A held position's weight ramps clamp01((now − heldSince) / buildPeriod); full conviction is reached after one period of unbroken hold. A flip resets the clock (the spend half of influence; no verb yet).

    • ReadonlydefaultStartLocation: "defaultStartLocation"

      Where a brand-new avatar's startLocation is initialized at mint time — the post-char-gen / guest / signup spawn default, and nothing else.

    • ReadonlyevacuationFallback: "evacuationFallback"

      Where an orphaned HasInteractive evacuates when its container destructs with no outer (Container.cleanupOnDestruct).

    • ReadonlyforumsAntiSnowballMinMinutes: "forums.antiSnowball.minMinutes"

      Forums anti-snowball — minutes-since-creation that reveals the score.

    • ReadonlyforumsAntiSnowballMinVotes: "forums.antiSnowball.minVotes"

      Forums anti-snowball (display-only) — the displayed vote score is suppressed until an entry has at least this many votes OR has aged forums.antiSnowball.minMinutes. Server ranking always uses true scores; this gates only the rendered number. See docs/subsystems/forums.md.

    • ReadonlyinfluenceBandThresholds: "influence.bandThresholds"

      Influence — JSON [{name, min}] band cutoffs mapping the influence scalar to its qualitative tier (display-only; register D6). Stock- agnostic — the same bands serve every stock.

    • ReadonlylivestreamBroadcastSources: "livestream.broadcastSources"

      Livestream — the operator-configured broadcast sources surfaced to the livestream-viewer cockpit embed. A JSON array of StreamSource ({platform:'twitch',channel} | {platform:'youtube',videoId}); the renown.decayHalfLives JSON-in-a-string precedent. Empty/absent → no broadcast configured (the embed shows nothing). See docs/subsystems/livestream.md / cockpit-layouts.

    • ReadonlyparticipationBucketSeconds: "participation.bucketSeconds"

      Participation — the active-bucket width in REAL seconds. A member is credited once per bucket in which they take a recognized action (anti-AFK: idle buckets score nothing; anti-spam: a burst credits one).

    • ReadonlyparticipationDecayHalfLife: "participation.decayHalfLife"

      Participation — the recency-decay half-life in REAL seconds (the divergence from renown's game-time decay: participation measures a human showing up). "Present and contributing now."

    • ReadonlyproducerBucketSeconds: "producer.bucketSeconds"

      Producer — the attributed-engagement bucket width in REAL seconds. An author is credited once per {author, actor, bucket} (anti-inflation: one player engaging one author's content can't pad a bucket).

    • ReadonlyproducerDecayHalfLife: "producer.decayHalfLife"

      Producer — the recency-decay half-life in REAL seconds (real-time, the participation divergence: production standing measures current draw).

    • ReadonlyreactionsCadenceMs: "reactions.cadenceMs"

      Reactions — the fixed-cadence flush window in ms (clamped 150–250).

    • ReadonlyreactionsSampleCap: "reactions.sampleCap"

      Reactions — cap on the per-recipient familiar-biased sample.

    • ReadonlyreactionsThreshold: "reactions.threshold"

      Reactions — at/above this many reactions on one act, the per-emote fan-out line is suppressed in favour of the batched counter. See docs/subsystems/reactions.md.

    • ReadonlyrenownContextMultipliers: "renown.contextMultipliers"

      Renown — JSON {tag: multiplier} context/act weighting (default 1).

    • ReadonlyrenownDecayHalfLives: "renown.decayHalfLives"

      Renown — JSON {esteem, notoriety} decay half-lives in game-seconds.

    • ReadonlyrenownQualityWeight: "renown.qualityWeight"

      Renown — scalar quality weight applied to the standing.

    • ReadonlyrenownReceptionValence: "renown.receptionValence"

      Renown — the per-listener worth of being heard (a passive reception). Small and positive; far below a reaction. The reception contribution to a scope is receptionValence × log(1 + Σ decayed receptions) — log-saturating, so the first public messages matter far more than the thousandth.

    • ReadonlyrenownReceptionWindowS: "renown.receptionWindowS"

      Renown — the per-(speaker, listener) dedup window in GAME-seconds: hearing the same speaker again within the window mints no new reception signal (reward reaching new people, not repetition / spam).

    • ReadonlyresidencyEvictionIdleThresholdMs: "residency.eviction.idleThresholdMs"

      Eviction — idle grace window (ms) before an object is a candidate.

    • ReadonlyresidencyEvictionIntervalMs: "residency.eviction.intervalMs"

      Eviction — sweep cadence in ms.

    • ReadonlyresidencyEvictionMode: "residency.eviction.mode"

      Eviction — observe (log only) | enforce (actually cull).

    • ReadonlyscriptMaxDepthPlatform: "script.maxDepth.platform"

      Scripting — recursion-depth ceiling, platform (large).

    • ReadonlyscriptMaxDepthPlayer: "script.maxDepth.player"

      Scripting — recursion-depth ceiling, player/inline (tight).

    • ReadonlyscriptMaxDispatchPlatform: "script.maxDispatch.platform"

      Scripting — lifetime dispatch-count ceiling, platform (large).

    • ReadonlyscriptMaxDispatchPlayer: "script.maxDispatch.player"

      Scripting — lifetime dispatch-count ceiling, player/inline (tight).

    • ReadonlyscriptMaxStepsPlatform: "script.maxSteps.platform"

      Scripting — lifetime step ceiling, platform-authored (large).

    • ReadonlyscriptMaxStepsPlayer: "script.maxSteps.player"

      Scripting — lifetime step ceiling, player/inline-authored (tight).

    • ReadonlyscriptSliceSteps: "script.sliceSteps"

      Scripting — preemption slice: yield the event loop every K steps.

    • ReadonlysocialBaselineRules: "social.baselineRules"

      Social-graph (attention management) — the reserved-baseline notify rules' default fields (deployment defaults, NOT code constants). JSON map keyed by reserved id (foes/friends/everyone-else/strangers) → the rule's display + notification + color fields. The engine ships the strict-ordered-first-match resolution; these are the seeded defaults the virtual baseline resolves to. See docs/subsystems/social-graph.md.

    • ReadonlysocialDefaultColor: "social.defaultColor"

      Social-graph — the neutral palette token a fresh custom rule inherits.

    • ReadonlysocialIdleAfter: "social.idleAfter"

      Social inspection — seconds of input inactivity after which a connected session is derived as idle (vs active) in who/profile. An operator knob, not a code constant; idle is computed on read, never stored. See docs/subsystems/social-graph.md (the inspection surface).

    • ReadonlystatusMaxLength: "status.maxLength"

      Status — max rendered length (chars) of a Character's status one-liner.

    • ReadonlytraitsCompatibilityScale: "traits.compatibilityScale"

      Traits — scalar mapping raw compatibility into the regard range.

    • ReadonlytraitsDecayHalfLifeDays: "traits.decayHalfLifeDays"

      Traits — evidence-weight decay half-life in GAME days.

    • ReadonlytraitsDefinedThreshold: "traits.definedThreshold"

      Traits — evidence mass at or above which an axis is defined.

    • ReadonlytraitsEntrenchedThreshold: "traits.entrenchedThreshold"

      Traits — evidence mass at or above which an axis is entrenched.

    • ReadonlytraitsPronouncedThreshold: "traits.pronouncedThreshold"

      Traits — |position| at or above which an axis counts as "defining".