Skip to content

Installation

Install pixel-utils and start it in the right order.

On this page8

Requirements

RequirementNotes
ox_libThe only dependency. Required on every server, standalone ones included
1

Place the folder

Drag and drop pixel-utils into your resources folder. Keep the folder name, every Pixel script looks for it by that name and the resource stops itself if it is renamed.

2

Add to server.cfg

pixel-utils detects everything once at load, so it must start after the resources it detects and before the Pixel scripts that use it.

cfg
ensure ox_lib
ensure qbx_core         # your framework
ensure ox_inventory     # your inventory
ensure ox_target        # your target, HUD, banking, notify resource…
 
ensure pixel-utils
 
ensure pixel-consumables    # anything that depends on pixel-utils

Start it too early and nothing is detected. Fixing the order later means restarting pixel-utils and then every Pixel script after it.

3

Add permissions

pixel-utils owns the admin ace for the whole Pixel range, so this one line covers every script that depends on it:

cfg
add_ace group.admin pixel.admin allow
Grants
pixel-utils/copyped
pixel-consumablesThe config editor (/consumables, F7), /sethunger, /setthirst

Rename it with Config.AdminAce, or override it per-server with setr pixel_admin_ace "my.ace". The server console always has access without it.

4

Start the server and read the console

One block per realm, listing what each option resolved to. The server prints it to the server console; every client prints its own copy to F8.

code
[pixel-utils] server links resolved
  framework     qbx
  inventory     ox_inventory
  notify        ox
  progressbar   ox
  stress        qbx_hud
  needs         qbx_hud
  target        ox_target
  banking       qbx_management

If every entry matches what your server runs, the install is finished.

5

Set anything that guessed wrong

Replace that option's 'auto' in config.lua with the exact value you want. Every accepted value is listed in Configuration.

If something goes wrong

Console lineCause
Lua 5.4 must be enabled in the resource manifest!lua54 'yes' was removed from fxmanifest.lua. Put it back
export "…" is missing - the active link did not define itThe value in brackets on that same line matched no backend. Check it against Configuration
Config.<option> is not set in config.lua - turning it offThat option is missing from your config.lua, usually an old one kept through an update
Wrong folder name '…'. This resource only runs as 'pixel-utils'The folder was renamed. Nothing is published at all, and the server stops the resource for everyone
ProgressbarRun is not defined - Config.Progressbar is '…'Config.Progressbar is 'custom' and the function was deleted from client/editable.lua, or Config.Progressbar is a value that matched no backend, and the value is printed in the message itself. Every progress bar cancels instead (onCancel runs, so anim and props are cleaned up)
RegisterUsableItem: the active inventory link did not define InventoryRegisterUsableItem (inventory=…)Config.Inventory is 'custom' and the function was deleted from server/editable.lua, or Config.Inventory is a value that matched no backend so no inventory link loaded. An inventory that simply cannot register usable items (no framework at all) returns a failure instead and prints its own yellow line
[pixel-utils] <title>: <text>, with nothing on screenConfig.Notify is 'custom' with NotifyDisplay deleted from client/editable.lua, or Config.Notify is a value that matched no backend, so check the banner. (Config.Notify = 'framework' cannot cause this: every framework link ships a notification, and it becomes 'standalone' when there is no framework)
[pixel-utils] Notify (server, no target): …A script called Notify on the server without a player id, so the text only reached the console
data/needs.json could not be parsed - starting from empty.Config.Needs is 'pixel' and that file is corrupt. Everyone starts at 100 hunger and thirst again
s1n_banking: error getting account data: …s1n_banking refused the lookup. That balance reads 0

Updating

Three files are yours and ship unencrypted in every release:

  • config.lua
  • client/editable.lua
  • server/editable.lua

Keep a copy of all three before you drop in a new version, then move your changes back across. Start from the new config.lua rather than keeping the old one, because an option that is missing entirely is treated as off, not auto, and warns on start.

On Config.Needs = 'pixel' servers, keep data/needs.json as well, it holds every character's hunger and thirst, and a fresh release over the top resets everyone to 100. The data/ folder itself must exist; pixel-utils will not create it.