Skip to content

Getting started

All my scripts share the same base. Set it up once, and every script after that is a matter of unpacking, running one SQL file and adding a line to server.cfg. This page covers the common part. The page of each script covers the rest.

The framework

My scripts are written for VORP Core on RedM. Characters, jobs, money and items come from VORP, I do not reinvent any of that. I only test against the standard VORP releases, so if you run a heavily modified core, read the script's page for the exact calls it makes before you buy.

What every server needs:

Resource Why
vorp_core Characters, jobs, money
vorp_inventory Items, where a script uses them
oxmysql Database, where a script stores anything

Shared libraries

Prompts, progress bars and the like come from a few libraries that many servers already run. The script's page tells you which ones it needs, and the dependencies block in its fxmanifest.lua says the same.

Library What my scripts use it for
nss_libs Prompt groups and key handling, used by nearly every script
vorp_lib Targeting and helpers, used by the doctor job
vorp_progressbar Progress bars, used by the lumberjack
jo_libs One check in the doctor job

Install each library once. Several scripts share the same copy.

Keymaster and escrow

You buy on hobbsafterdark.com, and the script lands in the Cfx.re account you used at checkout.

  1. Open Keymaster with that account and go to Granted assets.
  2. Download the script and unpack it into your resources folder.
  3. Keep the folder name as it is. Escrow checks the resource name, so a renamed folder will not start.
  4. The license key in server.cfg (sv_licenseKey) has to belong to the same Cfx.re account, otherwise the encrypted files will not load.

The core files are encrypted. Everything you are meant to change is open: config.lua or the config/ folder, locales.lua, server_config.lua for Discord webhooks, and sql/ with the items and tables. If a script has more open files, its page lists them.

Start order in server.cfg

Libraries and framework first, then my scripts. A script that starts before its dependencies fails on the first load and works after a restart, which is confusing, so get the order right once.

# framework
ensure oxmysql
ensure vorp_core
ensure vorp_inventory

# libraries
ensure nss_libs

# hobbs scripts
ensure hobbs_musicians

If the console shows a resource failing with a missing dependency, that is the order. Move the line down.

Items and item images

Scripts that use items ship a sql/install.sql with INSERT IGNORE lines, so running it twice does no harm. Item images are in the script's install/ folder. Copy them into vorp_inventory/html/img/items/, or wherever your inventory keeps its images, and restart the inventory once so it picks them up.

Discord webhooks

Scripts that log to Discord read the webhook address from server_config.lua. Leave it empty and nothing is sent. The file is open and stays yours across updates.

Updating

  1. Stop the resource.
  2. Replace the folder with the new version, but keep your config, locales and server_config.lua.
  3. Compare your config with the new one. New keys are listed in the script's changelog, and a missing key usually shows up as an error on start.
  4. Run any SQL file the changelog names.
  5. Start the resource again.

Getting help

Ask in the Discord. Tell me the script name and version, paste the server console output and say at which step it fails. A screenshot of the config block you changed saves us both a round trip.