Skip to main content
Awoken Chat splits its configuration across two places by design, so the file can’t lie about what the runtime is actually using:
The Category Manager is the single source of truth for channels. config.lua intentionally has no categories block - the in-code defaults (server/channels.lua’s AwokenChat.DEFAULT_CATEGORIES) are seeded into the DB on first start, then the DB takes over. To restore the defaults: TRUNCATE awoken_chat_categories; and restart.

config.lua at a glance

The file is sectioned top-to-bottom in the order a server owner usually touches things:
  1. Setup - branding, framework, permissions
  2. Player display - identity, tags, avatars
  3. Channels & 3D - categories pointer, 3D text, fun commands
  4. Moderation - antispam + blocked words, profanity escalation
  5. Logging - Discord webhooks (channels, violations, fun commands)
  6. Feature toggles - optional features, misc, boot-only defaults
config.lua
Every value below the section headers is documented inline in the file with one-line comments. The pages here are the longer-form explanation of why something is shaped the way it is.

Deep-dive pages

Each of the larger config areas has its own page so you can skim what you need without scrolling through the whole file:
  • Categories & channels - the Category Manager UI, per-channel flags (anonymous, 3D-only, bypass antispam, etc.), job/gang filters, the first-start seed.
  • Identity - nameSource (character vs account), format tokens, tags/badges.
  • Avatars - the initials/URL picker, allowlisted hosts, per-character storage.
  • Antispam & moderation - rate limiting, duplicate detection, blocked-words filter, profanity escalation ladder.
  • Webhooks - per-channel Discord archives, violation log, fun-command audit log.
  • Fun commands - /roll, /coinflip, /8ball, /random - 3D-only, proximity-filtered, webhook-audited.
  • 3D text - /me-style overhead rendering, per-channel duration / distance overrides, the 3D only flag.

Convars

Permissions

awoken_chat.admin automatically implies awoken_chat.staff + awoken_chat.clear. You only need to grant the highest-level permission per role. awoken_chat.bypass is intentionally NOT implied - it has to be granted explicitly.

Resetting to defaults

TRUNCATE awoken_chat_categories nukes any custom channels you’ve created via the Category Manager. Export anything bespoke first.