What goes wrong most often, what it actually means, and what to do about it. Most of these are setup, not faults — and the script says exactly what it refused, to the player and in the server console. When something is unclear, set Config.Debug = true and the console and F8 explain each step as it happens.
Installation and Access#
The server console freezes after the resource starts
The folder was renamed. The console prints You have renamed the script! and then halts on purpose. Stop the server, rename the folder back to qs-lumberjack and start again.
There is no foreman, no blip or no trees
qs-lumberjack-propsis not started, or starts after the script — the trees and axes have no model. The console prints Drop prop … never loaded when this happens.The framework starts after
qs-lumberjackand was not detected. Move itsensureabove.The trees only exist within 500 metres of the yard. That is by design.
The blip is hidden from non-lumberjacks when
Config.Locations.lumberjackZoneBlip.publicis false, and tree blips only show during a mission.
"You are not allowed to open that." on /lumberjackadmin
The player has neither command.lumberjack nor group.admin. Ace lines in server.cfg are read only when the server starts — restarting the resource is not enough. Type the line in the server console to apply it now. Also check that Config.AdminPanel.Enabled is true. See Installation.
"You are not a lumberjack"
Taking a mission, inviting a crew or accepting an invitation needs a job from Config.LumberJackJob. Give the player the job — on ESX it is registered for you; on QBCore and Qbox it must be in shared/jobs.lua — or set Config.RequireJob = false to open the job to everyone.
I edited config.lua and nothing changed
Either the resource has not been restarted, or that setting was saved from the admin panel — a saved setting is stored in the database and wins over the file. Open the panel, find the setting (it is marked as changed) and press Back to the file's value, then restart.
I saved a setting in the admin panel and nothing changed
Correct behaviour: saves take effect on the next restart of the resource, and the panel shows a banner until then. Only the Events tab acts immediately.
Items and Axes#
"This item does not exist: …"
The item named in the message is not in your inventory's item list. The server console names it too, with the config entry that uses it. Add it from Inventory Items and restart the inventory. Nothing was taken from the player — an axe is not charged, a log is not consumed.
Buying an axe says the inventory is full
The bag has no room or is over its weight limit. The axe is delivered before the money is taken, so the purchase was refused and the player was not charged.
Using the axe does nothing
ox_inventory: the item needs
client = { export = 'qs-lumberjack.toggleAxe' }.qs-inventory:
['useable'] = trueandclient = { export = 'qs-lumberjack.toggleAxeQuasar' }.QBCore and ESX: the axe must exist as an item when
qs-lumberjackstarts, because that is when it registers the usable items. On QBCore it also needsuseable = true.The axe's name must match a key in
Config.AxeLevelexactly.
Swinging at a tree does nothing
Stand right at the trunk and face it; a swing at anything else is a miss.
The stand needs a level: oak at 3, maple at 10 — the player is told the level required.
The axe must be in hand and in the inventory; the server only accepts swings from an axe it can see the player owns.
The swing is a FiveM key binding on the left mouse button. If the player moved it, or another resource took the button, check Settings → Key Bindings → FiveM.
The axe's durability comes back after reconnecting
On inventories without per-item metadata, durability is kept for the player's session. ox_inventory stores it on the item itself, so it survives reconnects and is separate for every axe.
The wood disappeared when I walked over it
The inventory had no room, and the player was told so — wood that does not fit is lost and pays no experience. Wood also belongs to the player who felled the tree for its first ten seconds, and uncollected wood vanishes after five minutes.
The Chopping Block#
"You need to have a axe in your hand"
Take the axe out first by using it from the inventory, then press E at the stump.
"You don't have any logs to chop"
Only the logs in Config.ChopWood.Drops can be split — pine_wood, oak_wood and maple_wood. Resin, bark and the rest go straight to the shop.
A swing gives no plank
The plank did not fit and the log was handed back, or the plank item does not exist (the message names it). Swings faster than one per second, or from more than a few metres away from the stump, are ignored.
Missions and Crews#
The mission will not start because of a member's level
Every member of the crew must meet the mission's levelRequired, the leader included. Pick an easier mission, or remove the member. The message is NOT_ENOUGH_LEVEL_MEMBERS in the translations.
An invitation is refused
Message | Means |
|---|---|
The player is too far away | Further than |
You have already invited this player | The same player can be invited once every 20 seconds. |
Wait a moment before sending another invitation | One invitation per second. |
You are not a lumberjack | Both sides need the job. |
An accepted invitation lasts until the panel closes or the mission starts. A player already out with another crew cannot be added.
The mission can never be finished
It asks for a wood nobody in the crew can fell yet — as shipped, Journeyman Lumberjack (level 4) asks for maple, which needs level 10. Only the logs count, not planks or by-products, and wood that did not fit in the inventory does not count either. Adjust levelRequired or woodRequired in Config.Tasks.
A crew member was not paid
Pay goes to whoever is still in the crew when the order completes. A member who abandoned, disconnected or lost the job before then has already left the crew.
Crew tiles show initials instead of faces
A face can only be taken of a player close enough to be streamed in. Members further away show their initials. Harmless.
Leaderboards and Events#
"Illegal mix of collations" in the console
The job's tables and the framework's use different collations — common on MariaDB 11.4 and newer. The resource aligns them on start; if it could not, it prints the exact ALTER TABLE statement to run by hand. Run it once and restart.
A leaderboard prize was not received
Prizes are paid when the board resets, at 00:00 server time. A winner who is offline then has the prize kept and paid on their next login. Check the server's time zone if resets happen at an unexpected hour.
Scheduled tournaments never start
Check Config.Tournaments.Enabled and that every Schedule entry is HH:MM in server time — the console warns about any that are not. If the console says the ox_lib cron is unavailable, update ox_lib. The admin panel's Events tab starts one immediately either way.
A tournament ended without paying anybody
Fewer players took part than MinimumEntries, or nobody carried a tree away during it. Money prizes go only to winners who are online when it ends.
A player does not see rich groves or tournaments
With LumberjacksOnly on, both are shown only to players holding a lumberjack job — and they do not benefit from them either.
Console Messages#
The lines you are most likely to see from [qs-lumberjack], and what to do about each:
Message | Means |
|---|---|
| Rename the folder back to |
| Add that item to your inventory. |
| Run the ALTER statement printed below it. |
| Settings saved by an older version. They are kept untouched; reset them in the admin panel if you no longer want them. |
| No |
| oxmysql could not create or read the tables — check the connection and the database user's permissions. |
|
|
| Fix that time in |
| Update ox_lib. |
| Harmless: that crew member is out of range, so their initials are shown. |
Still stuck? Open a ticket and include the server console from start-up with
Config.Debug = true, your framework and inventory with their versions, and a screenshot of the F8 console for anything about the interface.



