For the complete documentation index, see llms.txt. This page is also available as Markdown.

Installation

Step-by-step guide to install the Multiplayer Builder Job (tw-builderjob) on your FiveM server.


Prerequisites

Before installing, make sure you have:

Requirement
Description

Framework

QBCore, QBox, ESX, vRP, TMC, or Standalone

ox_lib

Required — hard dependency

oxmysql

Required — hard dependency

FiveM Server

Build 2802 or higher recommended


Step 1: Download the Script

  1. Navigate to Granted Assets

  2. Find tw-builderjob in your purchased scripts

  3. Click Download to get the latest version

From Tebex

  1. Log in to your Tebex account

  2. Go to your purchases

  3. Download the script package


Step 2: Extract Files

Extract the downloaded archive. You will find four folders — all four are required:

Folder
What it is

tw-builderjob

The main script

tw-builder-stream

Map 1 — the construction sites themselves

tw-builder-map

Map 2 — the company HQ: office, changing room and garage interiors

tw-builder-vehicles

The custom machines (crane, pump, excavator, haulers)

Place all four folders in your server's resources directory.

About the two maps

The job ships two separate map resources. They cover different places and you need both.

Resource
What it builds

tw-builder-stream

Every construction site — the buildings under construction, scaffolding, piles, props and collisions for all 12 regions

tw-builder-map

The company HQ — the office interior, the changing room and the garage where players start the job, rent machines and change into work clothes

Step 3: Database Setup


Step 4: Configure the Script

Open config/config.lua. The most important keys are at the top:

For the three built-in styles (badge, text, oxlib) focus, distance and the E key are identical — only where the prompt is drawn changes. Pick 'oxlib' or one of the target modes if you want the job to match your server's existing interaction look.

Leave auto alone unless you need to override it. Framework, inventory, vehicle keys and the item image path all detect the resources running on your server. A value you type by hand always wins.

See the Configuration page for all available options.


Step 5: Set Your Admins

Field tools, the admin panel and the site builder all check this list:

Run /cranesiteid in-game to print your own identifier in the right format.

This one list gates both /builderadmin (the admin panel) and /tw_bp (the site builder) — see Interface.


Step 6: Discord Logging (Optional)

URLs and the bot token belong in config/secrets/discord.lua, which is loaded only as a server_script:

Leaving everything empty is fine — no URL means no request is ever made, and the in-game log page (/builderadmin → Logs) works either way.

Which events fire is set separately in config/config.lua:

Prefer to keep secrets out of the resource folder entirely? Use convars in server.cfg instead — see Step 8. A convar that is set always wins over the table above.


Step 7: Turn On the Release Profile

This one switch force-disables Debug, DebugCommands, DebugZoneDraw, DebugZones, DebugTowerScenery, RopeProbe, Profiler, FastTest and SoloTest, and plays every region at full size. Read the value — don't trust a note.


Step 8: Add to server.cfg

Order matters. Your framework, oxmysql and ox_lib must be running first, and all three asset resources must load before the script:

Optional: Discord secrets as convars

If you would rather keep webhook URLs out of the resource folder (git, backups, a shared file server), set them here instead of in config/secrets/discord.lua:


Step 9: Restart Server

  1. Save all configuration changes

  2. Restart your server completely

  3. Check the server console for any errors


Verification

After starting the server, verify the installation:

Check Console

  • Database tables created successfully (first run only)

  • No error messages related to tw-builderjob

  • No streaming errors from tw-builder-stream or tw-builder-map

In-Game Test

  1. Go to the builder job location and look for the job blip

  2. Confirm the construction site is built in the world and the HQ interior is furnished (both maps are loading)

  3. Interact with the NPC to open the job menu

  4. Create a lobby and pick a region

  5. Rent a vehicle — from the company lot, or from the rental clerk NPC if rentalMode = 'npc'

  6. Drive to the site and complete the first task


Troubleshooting

"The tool cannot be placed" — Anti-Cheat

Some anti-cheats delete the custom construction props the script uses. In-game that shows up as "The tool cannot be placed". This was reported with HUNK-AC.

A ready whitelist with 251 model hashes ships in the package:

Add those models to your anti-cheat's allowed props list, or turn off its prop whitelist check.

The same fix applies to any anti-cheat that policies spawned props — the file is a plain hash list, not HUNK-specific.

Script Won't Start

  1. Confirm ox_lib and oxmysql are started before tw-builderjob

  2. Check the resource folder is named exactly tw-builderjob (case-sensitive on Linux)

  3. Check for syntax errors in your edited config files

Site or HQ Missing / Empty Field / Props Not Loading

  1. Make sure both tw-builder-stream (sites) and tw-builder-map (HQ) are in your resources folder

  2. Verify both are ensured in server.cfg before tw-builderjob

  3. Confirm neither folder was renamed and both stream/ folders are intact

  4. Check the server console for DLC_ITYP_REQUEST or streaming errors

HQ Building Loads But the Rooms Are Empty

  1. Confirm tw-builder-map/client.lua is present and untouched — it enables the interior props

  2. Restart tw-builder-map, then rejoin; interior props are applied on resource start

Vehicles Missing or Spawning as a Default Car

  1. Make sure tw-builder-vehicles is started

  2. Confirm the meta files were not modified

Rewards Not Paid / Items Not Given

  1. Verify Config.Inventory matches your inventory (or leave auto)

  2. On ESX servers a leftover qb_inventory value silently gives nothing

Framework Not Detected

  1. Leave Config.Framework = 'auto', or set it explicitly

  2. Verify the framework resource starts before tw-builderjob

No Discord Logs

  1. Check the URL is in config/secrets/discord.lua (or a set tw_builder_webhook_* convar), not in config.lua

  2. Confirm Config.Discord.enabled = true and the event is on

  3. An empty category falls back to default; if default is empty too, that category is off


Need Help?

Having installation issues? Join our Discord server and open a support ticket with:

  • Server console errors

  • Your Config.Framework and Config.Inventory settings

  • Screenshots of any issues

Last updated