What goes wrong most often, what it actually means, and what to do about it. Most problems announce themselves first in the server console or in F8 — read those before anything else.
Installation and Access#
The resource stops on start with an error about custom.none
No supported framework had started when Water War started, so there is no bridge to load. Move ensure es_extended, qb-core or qbx_core above ensure qs-waterwar. Water War has no standalone mode.
Table 'waterwar_arenas' doesn't exist
The SQL was never imported, or went into another database. Import database/database.sql into the database your oxmysql connection string points at, then restart qs-waterwar.
"You don't have permission for this action" on /waterwarcreator
None of the three routes lets that player in. Check that the ace in your add_ace line matches Config.AcePermission exactly and that Config.UseAcePermissions is true — or that their job and grade are in Config.CreatorJobs. ESX staff need the admin or superadmin group; QBCore and Qbox staff the admin or god permission. See Claiming Admin Access.
Nothing appears at all — not even a refusal
The interface did not load. The folder was renamed, or it was uploaded incompletely. The folder must be called qs-waterwar and contain web/ exactly as it came in the download — upload it again from a fresh copy and look at F8 for errors.
Coloured shapes are drawn around every arena, for every player
Config.Debug is on, as it ships. Set it to false and restart — that also silences the debug lines in the console.
The resource stopped after changing the language
Config.Locale names a file that is not in locales/, or the file is not valid JSON. The value is the file name without .json — en, tr, or the one you added. Check a hand-edited file with any JSON validator: a missing comma or an unescaped quote is enough.
Arenas and the Creator#
An arena will not save
It needs a name and at least four corners — with fewer, the server refuses it and the console says at least 4 zone points are required. The blip's coordinates are required too, unless the Blip Settings panel is switched off. Anything else, shown as An error occurred, means the database refused it: check that the table exists.
"Zone creation cancelled"
You left the camera with fewer than four corners, so nothing was kept. Press Select again and place at least four — the walls turn green once the arena is big enough.
"You must select the arena zone first" or "The point you selected is not inside the arena zone"
The blip's position has to be inside the arena's outline. Draw the area first, then select the blip's coordinates by aiming at a spot within the walls.
"You must complete the raycast before opening the creator"
A drawing camera is still running. Finish it — Enter for the area, a left click for the blip — and the creator opens again on its own.
Changes made directly in the database do not show up
Arenas are cached on the server once loaded. After editing the table by hand, restart qs-waterwar. Changes made through the creator apply at once and need nothing.
Battles and Scoring#
Walking into the arena does nothing
The player is above or below the arena. The outline sits at the height it was drawn from and reaches half the arena's height above and below — an arena drawn from a rooftop does not reach the street. Open the arena, press Select, draw it again standing on its floor, and hold Z for more height. A player who has not fully left another arena is also still counted there.
Hits do not score
Check, in this order:
OneSync is on. Without it the server never hears about a hit.
Both players are inside the same arena — both see the battle card.
The hits come from the water gun. Nothing else scores.
The target is another player. Yourself and NPCs never score.
The arena was not full when the shooter walked in — see below.
The arena is full
Once an arena holds its Maximum Players, newcomers are turned away: they still hold the water gun, but they are not in the round and their hits do not count. Raise Maximum Players in the creator, or walk out and back in once somebody leaves.
If the message reads missing_battle.notifications.arena_full, add the line to your language file, inside battle → notifications:
"notifications": {
"arena_full": "This arena is full",
"entered_arena": "You entered the water war arena!",
...
}The round ended and nobody was paid
Only players with at least one point are paid, so a round where nobody scored pays nobody — even though the end screen still names whoever topped the board. A round everybody walked out of early is cancelled and pays nothing either. If players did score, see Interface and Rewards below.
A new round starts on its own
Correct behaviour. Ten seconds after the end screen, a new round begins for everybody still inside the arena. To stop playing, walk out.
Weapons and Effects#
The water gun disappears as soon as it is handed out
Your inventory removes weapons it did not give. On ox_inventory, add this to server.cfg and restart:
setr inventory:ignoreweapons ["WEAPON_WATERGUN"]Other inventories with a weapon anti-cheat have a similar list — add WEAPON_WATERGUN there.
Players get no water gun, or an invisible one
The watergun resource is not running. Make sure ensure watergun is in server.cfg, that the folder still has its meta/ and stream/ folders, and that it starts without errors.
Weapons were not given back
Weapons are returned only when Config.RestoreWeaponsOnExit is on, and only the standard GTA weapons that were taken. Weapons that are inventory items were never taken — they are still in the inventory. The stored list lives in that player's game until they walk out, so a player who disconnects or crashes inside an arena loses it.
The water jet points the wrong way, or does not appear
Line it up with /waterfxdebug preview and rot, then print and paste the values into Config.WaterFx — see Tuning the Water Jet. If it never appears, the particle library did not load in time on that player's game: raise Config.DefaultRequestModelTimeout.
Interface and Rewards#
Money is shown in Turkish lira
Config.Intl ships set to tr-TR and TRY. Set your own locale and currency — see The currency format. Only the display changes; the amount paid is the same.
Money rewards are not paid on QBCore or Qbox
Config.MoneyType is black_money, which the QBCore bridge does not handle. Use money or bank.
Item rewards are not paid
Items are paid only if they are in that arena's rewards — they come from Config.DefaultRewards at the moment the arena is created, so arenas made before you added them have none. The item name must exist in your inventory, and on ESX a player who cannot carry it does not receive it.
A text reads missing_… instead of a sentence
That key is in neither your language file nor the English one. Add it to locales/<your language>.json under the path the text names — missing_battle.notifications.arena_full is arena_full inside notifications inside battle.
Console Messages#
Lines the server prints when something is refused, after WATERWAR ERROR: or WARNING:, and what each one means:
Message | Means |
|---|---|
| An arena was saved with fewer than four corners. |
| An arena was saved without a name. |
| Somebody without creator access tried to create, edit or delete an arena — or lost access while the window was open. |
| The database refused the change. The oxmysql error just above says why. |
| A player walked into an arena that was just deleted. Harmless. |
| Your translation is incomplete. The English text is used for that key. |
Still stuck? Open a ticket and include the server console from the moment
qs-waterwarstarts (the[WATERWAR]lines), the F8 output when the problem happens, and which framework and inventory you run.



