Configuration
Learn how to configure SCFD Changelog to match your server.
All resource configuration is located in data/configuration.lua.
SCFD Changelog is designed to be almost entirely data-driven. Most servers will only need to configure the display options and (optionally) Discord webhook support.
Configuration Structure
The configuration file is split into several sections:
- Display
- Themes
- Discord Webhook
- Debugging
Each section is explained below.
display
The display table controls how and when players see the changelog.
config.display = {
title = "Server Changelog",
subtitle = "Updates, fixes, and improvements",
onJoin = true,
joinDelay = 1500,
oncePerVersion = true,
defaultCategory = "All",
theme = "scuffed",
}title
The title displayed at the top of the changelog.
title = "Server Changelog"subtitle
Optional text displayed below the title.
subtitle = "Updates, fixes, and improvements"onJoin
Whether the newest changelog should automatically open when a player joins.
onJoin = trueIf disabled, players can still manually open the changelog using:
/changelogjoinDelay
The amount of time (in milliseconds) to wait after the player has loaded before opening the changelog.
joinDelay = 1500Increasing this delay can help avoid conflicts with other resources that open menus when players spawn.
oncePerVersion
Controls whether each changelog is only displayed once.
oncePerVersion = trueWhen enabled:
- Version 3.0.0 is shown once.
- Updating to 3.1.0 automatically shows the new changelog.
- Players can always reopen previous releases manually.
When disabled:
The changelog will open every time a player joins.
Player view history is stored locally using FiveM KVP storage.
defaultCategory
The category selected when the UI first opens.
defaultCategory = "All"This can be any category declared in your changelog.
Examples:
defaultCategory = "Police"defaultCategory = "Economy"If the category does not exist for the selected release, the UI automatically falls back to All.
theme
Controls the appearance of the NUI.
theme = "scuffed"Supported themes include:
| Theme | Description |
|---|---|
scuffed | Official Scuffed Labs theme |
neutral | Default dark shadcn theme |
blue | Blue accent |
green | Green accent |
orange | Orange accent |
rose | Rose accent |
violet | Violet accent |
Changing the theme requires restarting the resource.
Discord Webhook
SCFD Changelog can optionally publish release notes directly to Discord.
config.webhook = {
enabled = false,
}enabled
Enables Discord webhook publishing.
enabled = trueWhen disabled:
- No webhook requests are sent.
- The
publishchangelogcommand still reloads the changelog locally.
Webhook URL
For security reasons, the webhook URL is not stored inside the configuration file.
Instead, add it to your server.cfg.
set scfd_changelog:webhook "https://discord.com/api/webhooks/..."Never hardcode webhook URLs inside the resource.
Themes
Every built-in theme uses the same component layout.
Only the color palette changes.
Current themes:
Scuffed
Official Scuffed Labs branding.
Neutral
Standard shadcn dark theme.
Blue
Blue accent palette.
Green
Green accent palette.
Orange
Orange accent palette.
Rose
Pink / rose accent palette.
Violet
Purple accent palette.
Themes can also be extended if you're rebuilding the NUI yourself.
Automatic Opening
Automatic opening only occurs when all of the following are true:
display.onJoinis enabled- The player has not already viewed the current version (when
oncePerVersionis enabled) - The resource has finished initializing
- The NUI is not already open
This prevents duplicate changelog windows during login.
Localization
SCFD Changelog uses ox_lib localization.
Translations are stored in:
locales/The default language is:
locales/en.jsonAdditional languages can be added by creating new locale files.
Debugging
When debugging is enabled, the resource provides additional logging for:
- Changelog parsing
- Version detection
- Metadata parsing
- Discord publishing
- NUI communication
This can be useful while creating new changelog entries.
Example Configuration
config.display = {
title = "Server Changelog",
subtitle = "Latest Updates",
onJoin = true,
joinDelay = 2000,
oncePerVersion = true,
defaultCategory = "All",
theme = "blue",
}
config.webhook = {
enabled = true,
}Next Steps
Now that the resource has been configured, learn how to write release notes.
Changelog Format
Learn how to write releases, metadata, categories, and version history.
