Skip to content

Advanced Azul Usage

Use these features when you want predictable team behavior across places and repeatable push workflows.

You can store daemon overrides inside Studio so collaborators get project-specific behavior automatically.

Create a ModuleScript at ServerStorage.Azul.Config that returns a table.

OptionTypeDescription
portnumberThe TCP port the daemon should listen on. Defaults to 8080.
debugModebooleanIf set to true, the daemon will emit extra debug logs during the Studio plugin/daemon handshake.
deleteOrphansOnConnectbooleanIf set to true, the daemon will delete files in the sync directory that are not mapped to any instances when it connects. This helps keep the local mirror clean between sessions.
rojoModebooleanIf set to true, enables Rojo compatibility mode for push operations.
pushMappingstable of configurationsPre-specify local-to-Studio push paths so azul push can run without manual -s/-d arguments.
-- ServerStorage/Azul/Config
-- Returned table is sent to the Azul daemon when it connects.
return {
-- TCP port the daemon should be listening on (defaults to 8080 in the CLI config).
port = 8080,
-- Emit extra debug logs from the Studio plugin/daemon handshake.
debugMode = false,
-- When the daemon connects, delete files in the sync directory that are
-- not mapped to any instances. Keeps the local mirror clean between sessions.
deleteOrphansOnConnect = true,
-- One or more push mappings.
pushMappings = {
-- Mapping 1: map "Packages" to ReplicatedStorage.Packages
{
source = "Packages",
destination = { "ReplicatedStorage", "Packages" },
destructive = true,
rojoMode = true,
},
-- Mapping 2: map "src/Server" to ServerScriptService.Server
{
source = "src/Server",
destination = { "ServerScriptService", "Server" },
destructive = false,
},
},
}

Use Rojo mode when importing from Rojo-based folder/project setups.

Terminal window
azul build --rojo --rojo-project default.project.json
azul push --rojo -s Packages -d ReplicatedStorage.Packages

In this mode, Azul reads default.project.json (or your override path) to interpret structure.

For package managers like Wally, use azul push to import packages into Studio.

Example:

Terminal window
azul push -s Packages -d ReplicatedStorage.Packages --destructive --rojo

Since Wally expects Rojo-style layouts, --rojo is usually required.

Add a push mapping in per-place config so you can run plain azul push:

-- Example push mapping for Wally packages in the per-place daemon configuration
pushMappings = {
{
source = "Packages",
destination = { "ReplicatedStorage", "Packages" },
destructive = true,
rojoMode = true,
},
}