Installation
Install Weed
Beetle Studios · FiveM weed cultivation script (genetics, breeding, drying, processing, skill tree, reputation)
This guide walks server owners through installing bs_weed on a typical FiveM server. Adjust paths if your folder layout differs.
What you need first
Before installing, confirm you have:
| Requirement | Notes |
|---|---|
| MySQL database | Used for plants, players, strains, drying, lights, fans |
| oxmysql (recommended) | Script expects @oxmysql/lib/MySQL.lua in fxmanifest.lua |
| ox_lib | Required (@ox_lib/init.lua) |
| Target | Configure ox_target or qb-target in shared/config.lua (Config.Target) |
| Inventory | Configure ox_inventory or qb-inventory (Config.Inventory) |
| Framework | Configure esx, qbcore (includes Qbox-style qb-core), or standalone (Config.Framework) |
| Bzzz prop packs | Required for in-game models (see below) |
Required prop packs (Bzzz / BPB Mods)
bs_weed uses Bzzz weed and grow props. Stream these on your server per each pack’s instructions so props load correctly.
| Pack | Link |
|---|---|
| Colored Weed V2 | https://bzzz.tebex.io/package/5954200 |
| Dry Weeds | https://bzzz.tebex.io/package/6272961 |
| Seedlings (free) | https://bzzz.tebex.io/package/5073805 |
| Pots (free) | https://bzzz.tebex.io/package/6483978 |
Store: bzzz.tebex.io
Installation steps
1. Add the resource
- Copy the
bs_weedfolder into your server’sresourcesdirectory (for exampleresources/[standalone]/bs_weed). - Do not rename the resource folder unless you know how to update every reference and Tebex escrow expectations; keeping the folder name
bs_weedavoids confusion.
2. Start order in server.cfg
Ensure dependencies load before bs_weed. Typical order:
ensure oxmysqlensure ox_lib# your target resource, e.g.:ensure ox_target# your inventory, e.g.:ensure ox_inventory# your framework core if applicable, e.g.:ensure qb-coreensure bs_weed
Add object_gizmo only if you use precision placement (see Optional section).
3. Database
- Tables are created automatically on first start when your MySQL resource matches
Config.Databaseinshared/config.lua(defaultoxmysql). - For a manual reference or DBA review, use
schema.sqlin the resource root.
4. Configure the script
Edit shared/config.lua (this file is intended to stay editable; it is listed in escrow_ignore in fxmanifest.lua for Tebex builds).
Set at minimum:
Config.Framework—'qbcore','esx', or'standalone'Config.Database—'oxmysql'or'mysql-async'Config.Target—'ox_target','qb-target', or'standalone'Config.Inventory—'ox_inventory','qb-inventory', or'custom'
Tune economy, plant caps, theft, indoor unlocks, drying times, and debug there as needed for your server.
5. Items and inventory
ox_inventory
- Open
items/ox_inventory_items.luainsidebs_weed. - Merge those item definitions into your inventory’s items file (commonly
ox_inventory/data/items.lua). - Item names must match
Config.Itemsinshared/config.lua.
qb-inventory
Use the same item names and logic as a reference; adapt the item definitions to your qb-inventory format so keys still match Config.Items.
Important — weed_seed
If another resource registers the same item name with a different server export, players can see “Invalid seed item!” or wrong behavior. The weed_seed definition should use bs_weed’s server export (as in items/ox_inventory_items.lua). Merge after conflicting packs so bs_weed wins, or rename the conflicting item in the other resource.
6. Admin permissions (ACE)
For admin commands such as /setrep and /givexp, add:
add_ace group.admin cultivationrp.admin allow
Adjust group.admin to match your admin group in server.cfg.
Optional (but recommended): precision placement (object_gizmo)
If Config.UseObjectGizmoForPlacement is true in shared/config.lua, start the object_gizmo resource before or with your placement workflow so placeables (indoor pot, grow light, weed table, drying rack, rosin press) can use the 3D gizmo. Outdoor seed placement is unchanged.
https://github.com/dodibanScripts/object_gizmo
After install — quick checks
- Start the server with no script errors referencing
bs_weed,ox_lib, oroxmysql. - Join in-game and confirm Bzzz props appear (no invisible/missing models near plants or placeables).
- Open Pete’s (or your configured shop) and confirm shop items appear after the ox_inventory merge.
- Use weed seed from inventory and confirm planting flow works.
- Try
/skilltreeto confirm the NUI loads.
Useful reference (not full install)
| Topic | Where to look |
|---|---|
| Commands | /skilltree, /setrep, /givexp (admin ACE required for rep/XP) |
| Server exports (bulk dealers) | getBulkDealerState, bulkDealerFulfill in fxmanifest.lua |
| Lua exports | README in the resource documents exports['bs_weed']:... helpers |
| Database tables | README table + schema.sql |
Troubleshooting
Shop shows no items
- Items must exist in ox_inventory’s definitions. Re-merge
items/ox_inventory_items.luaand restart ox_inventory or the server. CheckConfig.PedStoreItemsandConfig.PedStoreBeginnerOnlyinshared/config.lua.
“Invalid seed item!”
- Another resource may own
weed_seed. Ensureserver = { export = 'bs_weed.seedItemCallback' }(or equivalent) wins for that item name.
Database errors
- Confirm oxmysql (or mysql-async) is running and connection string is correct. Confirm
Config.Databasematches what you use.
Version note
Script version is declared in fxmanifest.lua (version field). After Tebex updates, compare that version with your docs when reporting issues.