Before You Begin#
Before installing Lumberjack Job, make sure your server meets the requirements. The database, the framework and the inventory are detected on their own; everything marked optional simply stands down when it is missing.
Requirement | Status | Notes |
|---|---|---|
| Required | Database access. The tables create themselves. |
| Required | Callbacks, interaction points, key binds and the schedules behind the leaderboards and tournaments. |
Framework | Required |
|
| Required | Included in the download: the trees, the three axes, the wood drops and the forest map edits. |
Inventory | Required |
|
Target | Optional |
|
Clothing | Optional |
|
Quasar add-ons | Optional |
|
The framework and the inventory are picked by looking at what is already running:
Layer | How it is chosen |
|---|---|
Framework |
|
Inventory |
|
Target | Set by hand: |
Integrations has the details for each layer.
github.comReleases · overextended/oxmysqlMySQL resource for FXServer.github.comReleases · overextended/ox_libA FiveM resource and script library for Lua and JS.Downloading Lumberjack Job#
After purchasing Lumberjack Job, the resource is automatically linked to your CFX Portal account.
Sign in to the CFX Portal using the same account used during checkout, open Granted Assets, and download Lumberjack Job. With a different account the asset does not appear.
After extracting the download, you should have the following folders:
[lumberjack]/
├── qs-lumberjack/ -- the script
│ ├── config/ -- what you may edit
│ ├── client/framework/ -- framework bridge (editable)
│ ├── server/framework/ -- framework and inventory bridge (editable)
│ ├── web/ -- the interface (leave as it is)
│ └── qs-Lumberjack-ESX.sql -- optional, the tables by hand
├── qs-lumberjack-props/ -- trees, axes, wood drops and the forest map
├── marker_props/ -- marker models
└── [qs-lumberjack-installation]/ -- item lists, item images and the optional SQLInstalling the Resource#
Move the [lumberjack] folder into your server's resources directory. It can live inside any category folder. The [qs-lumberjack-installation] folder holds no resource and can stay out of it.
resources/
└── [qs]/
├── qs-lumberjack/
├── qs-lumberjack-props/
└── marker_props/Then open your server.cfg and make sure the dependencies start before Lumberjack Job:
ensure oxmysql
ensure ox_lib
# Framework
ensure es_extended
# ensure qb-core
# ensure qbx_core
# Inventory and target
ensure ox_inventory
ensure ox_target
# Lumberjack Job
ensure qs-lumberjack-props
ensure marker_props
ensure qs-lumberjackThe order matters. The framework is detected the moment the resource loads, so a framework that starts after it is not found. Keep the props resource above the script, or the trees and axes have no model to spawn.
The Database#
There is no SQL file to import. Lumberjack Job creates its own tables on the first start, all prefixed qs_lumberjack, and adds any column an older install is missing.
Table | Holds |
|---|---|
| Each player's level and experience, plus the all-time, season and daily experience and earnings the leaderboards rank. |
| When the daily and season boards last reset, prizes banked for winners who were offline, and the last podium of each. |
| Trees felled per wood type, and missions finished — what the achievements measure. |
| Achievements earned and collected, and tournament wins per player. |
| Every setting saved from the admin panel. |
On MariaDB 11.4 and newer the framework's tables can use a different collation from these. The resource notices and aligns its
identifiercolumns to the framework's on start, so the leaderboard joins never fail. Runningqs-lumberjack.sqlfrom the installation folder by hand is optional and safe to repeat — every statement isIF NOT EXISTSorINSERT IGNORE.
The Lumberjack Job#
Anyone can open the foreman's panel to browse the shop and the leaderboard. Taking a mission, inviting a crew and joining rich groves and tournaments need one of the jobs in Config.LumberJackJob — lumberjack by default. Set Config.RequireJob = false to open the whole job to everyone.
Nothing to do. On every start the resource registers each job in Config.LumberJackJob that is missing from jobs, with a grade 0 called Novice in job_grades. The console says so the first time:
[qs-lumberjack] Registered the ESX job "lumberjack"QBCore keeps its jobs in a file rather than the database. Add this to qb-core/shared/jobs.lua:
['lumberjack'] = {
label = 'Lumberjack',
defaultDuty = true,
offDutyPay = false,
grades = {
['0'] = { name = 'Novice', payment = 10 },
},
},Add the job to qbx_core/shared/jobs.lua:
lumberjack = {
label = 'Lumberjack',
defaultDuty = true,
offDutyPay = false,
grades = {
[0] = { name = 'Novice', payment = 10 },
},
},More jobs can share the forest — add one line per job name to Config.LumberJackJob.
Adding the Items#
Every log, by-product, plank and axe is a real inventory item, and an item the inventory has never heard of cannot be handed out. Add them before the first player picks up an axe: Inventory Items has the list for each inventory, and the images are in [qs-lumberjack-installation]/images.
Claiming Admin Access#
The admin panel — /lumberjackadmin — edits every setting and starts events, so it is behind an ace. The default ace is command.lumberjack, and group.admin is always accepted too.
Usually nothing to do. The default ESX server.cfg already grants admins every command.* ace, which includes this one:
add_ace group.admin command allow
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.adminGrant only the lumberjack ace to a group of your own:
add_ace group.lumberjack command.lumberjack allow
add_principal identifier.fivem:1234567 group.lumberjackChange the ace, or the command, in config/config.lua. Setting Ace = false removes the check entirely — only do that on a test server.
Config.AdminPanel = {
Enabled = true,
Ace = 'command.lumberjack', -- false = anyone, nil = this default
ConfigCommand = 'lumberjackadmin', -- '' registers no command
}Ace lines in
server.cfgare read only when the server starts. Restarting the resource does not pick up a new one — type the same line in the server console instead, where it takes effect immediately.
Configuring the Resource#
Everything is configured in the config folder, and every value in config.lua can also be changed from the admin panel in game.
File | Contents |
|---|---|
| The job, the world, trees and wood, levels and missions, axes, the chopping block, leaderboard, achievements, rich groves, tournaments, the admin panel, the marker, debug and Discord webhooks. |
| The work outfit, one for male and one for female characters. |
| The language in use and every string in eleven languages. |
| The help line the admin panel shows under each setting. |
The values worth reviewing first:
Config.RequireJob = true -- false: anyone may take missions
Config.Target = false -- true: third-eye on the foreman and the stumps
Config.TargetScript = "ox" -- "ox" or "qb"
Config.InventoryAxe = true -- axes are inventory items
Config.Clothing = true -- the work outfit while on a mission
Config.MissionPayout = 'members' -- 'members' (full pay each) or 'split'
Config.Language = "en" -- in config/translations.lua
Config.Debug = false -- extra console outputA setting saved from the admin panel is stored in the database and laid over
config.luaon every start. Editing the file for a setting that was saved in game therefore changes nothing — use Back to the file's value in the panel first. Usage explains every section.
Verifying the Installation#
Restart the server and read the console. Nothing from [qs-lumberjack] should be red. On ESX the first start registers the job, and on newer MariaDB you may see the collation line:
[qs-lumberjack] Registered the ESX job "lumberjack"
[qs-lumberjack] aligned 6 identifier column(s) to utf8mb4_uca1400_ai_ci, matching users.identifier.Then join and work through the first loop:
Visit the foreman
Follow the Lumberjack Zone blip to the yard above Paleto Bay. Big Ray stands under a floating blue marker; press
Ebeside him and his panel opens.Buy and equip an axe
Shop → buy the Rusty Axe. Use it from your inventory and it appears in your hand.
Fell a tree
Walk to the pines, face a trunk and press the left mouse button four times. Walk over the wood that flies out to collect it, then sell it from the Shop.
Open the admin panel
/lumberjackadminopens every setting. From there, Usage covers the whole job.



