Skip to content

Installing on RSG ​

RSG keeps its item table in Lua, not in the database. There is no SQL to run here.

1. The item ​

Open rsg-core/shared/items.lua and paste the entry from install/rsg/items.lua into the table.

2. Restart ​

cfg
restart rsg-core
restart rsg-inventory

Both. rsg-core owns the table and rsg-inventory reads it at start-up, so restarting only one leaves them disagreeing about whether the item exists.

3. server.cfg ​

cfg
ensure rsg-core
ensure rsg-inventory

ensure rm_crayfish

4. Staff ​

RSG has no group column, so staff is a permission:

/addpermission <your server id> admin

Or the ace, which works regardless of framework:

cfg
add_ace group.admin rm_crayfish.staff allow

The resource asks RSGCore.Functions.HasPermission(src, 'admin') first and falls back to the ace, so either is enough.

Item images ​

Copy everything from install/items/png/ into your inventory's image folder — on a stock install that is:

rsg-inventory/html/images/

Check your own build; some forks move it.

The filename has to match the image field in your shared/items.lua entry — p_crawdad01x.png for the entry above. A missing image shows an empty slot but does not stop the item working.

Notifications ​

RSG servers usually run ox_lib. Either of these reads well:

lua
-- local/overrides.lua
bridge = { notice = 'framework' },  -- RSGCore.Functions.Notify
bridge = { notice = 'ox' },         -- lib.notify

The default, builtin, uses the resource's own overlay and needs neither.

Verifying ​

/crayfish_fill
/crayfish_warp 13
/crayfish

If something is wrong ​

SymptomCause
Console says Standalonersg-core was not started when the resource probed. Put ensure rm_crayfish after it, or pin bridge = { framework = 'rsg' }
Harvest works, no crayfishItem not in shared/items.lua, or only one of the two resources was restarted
Lure book opens emptyRSG names some food items differently to config/lures.lua. Check your shared/items.lua and map the differences with bridge.itemAliases
You do not have permissionThe console prints what it checked. RSG answers through HasPermission, so the ace is the quicker fix

What was verified ​

INFO

The API calls in server/adapters/rsg.lua and client/adapters/rsg.lua were written against the official RSG documentation — GetCoreObject, Functions.GetPlayer, HasPermission, and rsg-inventory's CanAddItem, AddItem, RemoveItem and GetItemByName.

They have not been run against a live RSG server. If a call has been renamed in your build, the adapter is one small file and the fix is in it rather than spread through the resource.

Documentation for RedMorrow. Scripts are licensed per server — redistribution is not permitted.