Guide · Updated 19 Sep 2026
How to set up crafting on a RedM server: recipes, benches and chains players can follow
Crafting is where gathering, jobs and the economy meet. Done well, it turns a pelt into a reason to hunt and a blacksmith into someone players seek out. Done badly, it is a menu nobody opens, because nobody can work out what a recipe needs or where to get it. This guide covers what to decide before you write a single recipe, where people should craft, how to write recipes that fit your economy, and how to stop the questions in your Discord. The examples use Poggy Crafting (Free), which is free and open source, but the design advice applies to any crafting script.
Start with the loop, not the recipe list
A crafting system is a chain: someone gathers, someone processes, someone makes the finished thing, and someone buys or uses it. Before writing recipes, write down two or three chains that match what your server already has:
- Hunting: small game and salt become cooked meat; fat becomes tallow; tallow becomes candles and lanterns.
- Smithing: ore becomes an ingot at a forge; ingots become horseshoes, tools and knives at the anvil.
- Farming and moonshine: corn becomes mash; mash becomes bottled shine at a still.
Keep chains two or three steps deep. One step is a shop with extra clicks; five steps is a spreadsheet. Every chain should start with something a player gathers, because that is what gives the gatherer a customer. If an ingredient can only be bought from an NPC, the recipe is a money converter, not crafting.
Where people craft
There are three sensible places, and a good setup uses all three for different things.
| Where | Best for | In Poggy Crafting |
|---|---|---|
| Benches you place | Trade recipes: the forge, the still, the doctor's table. Gives a job a place to stand. | Config.Locations: a name, coordinates, an optional blip, an optional job lock, and which categories it offers |
| World props | Everyday recipes: cooking, simple tools. Every campfire, oven and stove the game already places works. | Config.CraftingProps; walk up to one and the prompt appears |
| A placeable campfire | Camp cooking out in the wilds | The campfire item; /extinguish puts it out |
Put trade recipes on benches in towns, not in the wild: a blacksmith who works at the Valentine anvil is roleplay other players walk past. Keep food and basic survival on props and campfires so nobody is forced into town to eat.
Writing recipes
A recipe is a list of items in, a list of items out, a category, and optional locks. Poggy Crafting's recipes live in config/recipes.lua, and the plainest one looks like this:
{
Text = 'Seasoned Small Game',
Items = {
{ name = 'game', count = 1, AltNames = { 'bird' } },
{ name = 'salt', count = 1 },
},
Reward = { { name = 'cookedsmallgame', count = 2 } },
Type = 'item',
Category = 'food',
Job = 0,
Location = 0,
}
Rules that make recipes work in play:
- Use real item names. The
namemust match your framework's item list exactly. How to add items to a RedM server covers where that list lives on VORP, RSG Core and QBCore RedM. - Let one slot take several items. "Any fish" or "any pelt" is one slot with
AltNames, andAltRewardscan pay out more for the better input. Fewer recipes, less clutter. - Tools are not ingredients. A pot or a hammer is needed but not used up:
take = false. - Treat the recipe name as an ID.
Textis how the server and each player's shopping list recognise the recipe. Rename it and saved list entries for it are orphaned. - Delete the samples. Fourteen example recipes ship, each showing one feature with stock VORP item names. Read them, then replace them with your own.
Job locks that do not shut everyone out
Lock a category, a recipe or a bench to a list of jobs, and the server checks it on every craft, not only in the menu: the recipe's and category's jobs, that the player really is at the bench, the bench's own lock, and Config.CampfireJobLock. The one thing it cannot check is a world prop, because the server cannot see them.
A hard lock is often too hard on a small server where the blacksmith is offline. jobSkillcheck keeps the recipe open to everyone else on a much harder skillcheck, while a player with the job crafts it straight away. The trade stays valuable without becoming a wall.
Skillchecks or a progress bar
A progress bar is fine for cooking. For anything valuable or dangerous, a skillcheck makes crafting something you do rather than wait for. With the free Poggy Skillcheck (Free) installed, a recipe can ask for timed rounds: pass them all for the full reward, pass some for a share, hit the clean band for a bonus. Materials are taken before the skillcheck, so a failed craft costs something, which is what makes the skilled crafter worth paying.
Two options add risk: explodeOnFail detonates on a missed round and catchFireOnFail sets the crafter alight. They suit dynamite and moonshine, and they make a still in the woods feel like a still in the woods. If you do not want skillchecks at all, switch them off and those recipes use the progress bar.
Tell players where things come from
The number one crafting question on any server is "where do I get this?". Two things answer it in game.
- Recipe chains in the browser. Opening a recipe draws the tree beneath it: each ingredient, whether it can itself be crafted, and how far the player is from having enough. Used In shows the other direction, what an item feeds into.
- Ingredient sources. Fill in
config/item_sources.luaonce, one short line per item with a badge such as Hunting, Farming or Mining, and hovering an ingredient anywhere says how to get it. Reuse the same badge wording so related items read as one system.
Add a shopping list on top and gathering becomes a plan: players add a recipe's ingredients to a list kept per character, pin it to a small on-screen tracker while they gather (/gt moves it, /gthide hides it), and the counts fill in as items land in the satchel.
Balancing crafting against your economy
Crafting adds value, so it adds money. Keep it in proportion with one rule of thumb: a crafted item should be worth more than its ingredients and less than buying it finished from an NPC. Above the NPC price and nobody buys from crafters; below the ingredient price and nobody crafts.
- Price each ingredient by the time it takes to gather, using what a job pays per hour as the yardstick.
- Add a margin for the crafting time and any skillcheck risk.
- Currency recipes can charge money as well as items, which gives you a crafting fee: a small money sink on every craft. They can also pay money out, for things like bottle deposits.
Crafted goods need somewhere to be sold. A player-owned shop in Poggy Markets ($99) can stock them and buy ingredients from gatherers, which turns a crafting chain into a supply chain between players. How to build a RedM server economy has the starting numbers.
No placeholder icons
A recipe whose item has no icon draws a placeholder, which looks broken. Turn on Config.HideRecipesWithoutIcons (off by default) and the server checks every item each recipe uses when it starts, hides the recipes it cannot draw, and hides anything further down the chain that nothing can feed any more. In /poggy each hidden recipe is marked with the reason and the exact icon file to add. Add the icon, restart, and it comes back.
Setting it up
- Install Poggy Core (Free) (0.16.0 or newer; 0.18.0 or newer for the in-game settings editor) and oxmysql, and the free Poggy Skillcheck (Free) if your recipes will use skillchecks.
- Add
ensure poggy_craftingtoserver.cfgafter those. The database table is created on the first start, so there is no SQL to import. - On VORP the
campfireitem is added for you. On RSG Core and QBCore RedM add it to your item list, or setConfig.CampfireItem = false. - Place your benches, write your recipes, fill in the ingredient sources. Every setting can be changed in game with
/poggy, or in the config files by hand. - Test each recipe with a character that has the job and one that does not.
Every command name is in the config (set one to false to remove it), every string players see is in translations.lua, and an optional Discord webhook logs every craft, which is useful the first week while you watch for recipes that are too cheap.
When something does not work
- An ingredient never counts as owned
- The item name in the recipe does not match your item list exactly. Check spelling and case.
- A recipe shows under Requires Access
- A job or location lock. The player lacks the job, or is not at a bench or prop the recipe allows.
- A recipe has disappeared
- Icon checking is on and an item has no icon.
/poggynames the file. - The campfire item does nothing on RSG or QBR
- It is not in
items.luayet. Add it, or turn the item off.






















