FiveM Routing Bucket Planner
Routing buckets let you run multiple separate game worlds on one FiveM server. Players only see and interact with others in the same bucket. Plan your bucket layout, configure each instance, and generate the documentation block and Lua snippet.
How Routing Buckets Work
Bucket 0 = Main World
The default bucket all players spawn into. NPC traffic and ambient events are visible here.
Separate Worlds
Players in bucket 5 cannot see, hear, or interact with players in other buckets. Ideal for PvP arenas, minigames, and prison dimensions.
Lock Mode
Locked buckets suppress NPC spawning in that instance via SetRoutingBucketPopulationEnabled(id, false).
Interiors: Use Conceal
Do NOT use routing buckets for apartments/housing. OneSync docs advise client conceal natives (NetworkConcealPlayer) instead.
Bucket Configuration
Configure bucket IDs, purpose labels (e.g. PvP arena, racing minigame, prison), planned player capacity targets (planning only — non-enforced by FiveM engine), and NPC population lock states.
-- ============================================ -- ROUTING BUCKET PLAN -- Generated by DustBowl.Games Tools -- ============================================ -- -- Bucket | Label | Target Cap (Planning Only) | NPC Population -- -------+------------------------------+----------------------------+--------------- -- 0 | Main World | 64 (non-enforced) | Active (Enabled) -- 1 | Prison Dimension | 20 (non-enforced) | Disabled (Locked) -- 2 | PvP Arena | 16 (non-enforced) | Disabled (Locked) -- -- NOTE: FiveM routing buckets do NOT have native engine player limits. -- Target capacities are for server design/planning only unless -- custom admission enforcement logic is implemented in your scripts. -- Bucket 0 is the default main world for all connecting players. -- -- NOTE ON INTERIORS: Do NOT use routing buckets for apartment or building interiors. -- Per Cfx OneSync documentation, use client conceal natives (NetworkConcealPlayer) -- rather than routing buckets for interior instancing.
Routing Bucket & Conceal Reference
| Native / Convar | Scope & Purpose |
|---|---|
| SetPlayerRoutingBucket(source, id) | Server-side: move player to a separate game world (routing bucket). |
| GetPlayerRoutingBucket(source) | Server-side: returns the current bucket ID for a player. |
| SetEntityRoutingBucket(entity, id) | Server-side: move an entity (vehicle, prop, ped) to a bucket. |
| SetRoutingBucketPopulationEnabled(id, bool) | Server-side: enable/disable ambient NPC/AI traffic in a bucket (lock mode). Does NOT cap player count. |
| SetRoutingBucketEntityLockdownMode(id, mode) | Server-side: set lockdown mode: inactive, relaxed, or strict. |
| NetworkConcealPlayer(player, toggle, false) | Recommended for interiors / housing: Client-side native that conceals players at shared coordinates without bucket overhead. |
| NetworkConcealEntity(entity, toggle) | Client-side native that conceals specific entities/vehicles for interior instancing. |
