Per-place Daemon Configuration
You can store Daemon setting overrides inside Studio. This allows you to specify settings like push mappings that everyone on the project can use without manual setup.
This configuration lives in a ModuleScript at ServerStorage.Azul.Config. Use the plugin’s Open Place Configuration button to create it from a template, which comes with types (PlaceConfigTypes) so Studio can flag mistakes as you type.
The plugin sends the returned table to the Daemon when it connects, and azul push asks for it to read its push mappings.
Global options
Section titled “Global options”| Option | Type | Description |
|---|---|---|
pushMappings | table of push mappings | Pre-specify local-to-Studio push paths so azul push can run without manual -s/-d arguments. |
packOnExit | table | Packs the place into a sourcemap when you disconnect. See Pack on exit. |
deleteOrphansOnConnect | boolean | Overrides the Daemon’s deleteOrphansOnConnect for this place. |
debugMode | boolean | Overrides the Daemon’s debugMode while this place is connected. |
Push mapping options
Section titled “Push mapping options”Each push mapping supports the following options:
| Option | Type | Description |
|---|---|---|
source | string | File, folder or package to push, relative to the project root. Required. |
destination | { string } | Path to the destination instance, i.e. { "ReplicatedStorage", "Packages" }. Required. |
destructive | boolean | Wipes the destination’s children before pushing. |
rojoMode | boolean | Reads source as a Rojo-style project. |
fromSourcemap | string | Builds the push from this sourcemap (i.e. a pack), including non-script instances. |
Pack on exit
Section titled “Pack on exit”With packOnExit enabled, Azul packs the place into a sourcemap every time you stop syncing, so the packed sourcemap you commit always matches the place, without having to remember to run azul pack.
| Option | Type | Description |
|---|---|---|
enabled | boolean | Enables packing on exit. Required. |
outputPath | string | Where to write the packed sourcemap, relative to the project root. Defaults to game.sourcemap.json. |
The place is packed when you:
- Press Disconnect in the plugin.
- Stop the Daemon with
Ctrl+Cwhile Studio is connected.
Pressing either one again while packing skips it. If Studio disconnects without packing (i.e. Studio was closed or crashed), the Daemon warns you that the packed sourcemap may be out of date.
Example config
Section titled “Example config”-- ServerStorage.Azul.Config--!strictlocal Types = require(script.PlaceConfigTypes)
local config: Types.Config = { -- Keeps game.sourcemap.json up to date whenever you disconnect packOnExit = { enabled = true, outputPath = "game.sourcemap.json", },
-- When the plugin connects, delete files in the sync directory that are -- not mapped to any instances. Keeps the local mirror clean between sessions. deleteOrphansOnConnect = true,
-- Push mappings allow you to pre-specify local-to-Studio push paths so you can run `azul push` without manual `-s/-d` arguments. pushMappings = { -- Example Mapping 1: Packages from the tool "Wally", in Rojo mode { source = "./Packages", destination = { "ReplicatedStorage", "Packages" }, destructive = true, rojoMode = true, },
-- Example Mapping 2: A local "AzulPackages" folder that contains a folder of Azul Packages (azul.package.json) { source = "./AzulPackages", destination = { "ServerScriptService", "AzulPackages" }, destructive = true, }, },}
return config