Configuration
Where everything lives#
Benches, recipes, routes and upgrades live in the database and are edited
inside the game, through /craftconfig. Once saved, they apply immediately to
anyone already online — no .lua editing, no resource restart.
What remains in a file is the technical part, set once at install time:
| File | What it holds |
|---|---|
config/config.lua | visuals, table prefix, anti-abuse, radii, texts, route NPC, police alert, orders, the /craftconfig and /sfdiagnostico groups |
bridge/server.lua | how to talk to your framework: items, money, permissions, groups, notify |
bridge/client.lua | how to talk to your target, notify, progress bar, blip |
/craftconfig#
Four tabs. Every save is validated on the server and reloaded immediately.
Benches#
| Field | What it does |
|---|---|
| Id | internal key. It never changes — it is what ties warehouse, queue and history together |
| Name / Subtitle | what appears on screen |
| Permission | group allowed to use it. Empty = anyone |
| Mode | who owns the warehouse: shared, personal, faction, or both |
| Factions with a vault | which factions have a vault here. Order matters: someone in two of them always lands in the first |
| Orders | accepts prepaid orders, with a deadline and a per-player cap |
| Zone radius | size of the interaction point. Zero makes the bench vanish from the map |
| Capacity / Per-item limit | warehouse size |
| Simultaneous production | how many crafts at once |
| Locations | as many as you want. The Use my position button takes where you stand |
Deactivating a bench deletes nothing: warehouse, queue and history stay stored and come back whole when you reactivate it.
Organization and Personal and organization modes require at least one
registered faction. Without it the bench would open and refuse everyone with no
explanation — the panel refuses to save, and /sfdiagnostico flags it too.
Recipes#
Pick the bench and register what it produces: item, on-screen name, amount per run, time, destination (warehouse and/or backpack) and the ingredients.
- Item is the item KEY in your inventory, not the display name. Getting this
wrong is the number one cause of "the bench opens and never produces" —
/sfdiagnosticopoints at it. - Recipe permission makes a recipe exclusive to one group inside a bench that others also use.
Routes#
Starting point (where the NPC stands), delivery points in the order the player must follow, collected items with a min/max range, payment per delivery and the chance of a police tip-off. Points are marked by walking to them and clicking Use my position.
The tip-off chance is per route; who receives it lives in
Config.Rotas.Policia.Grupos. With a chance set and no group in the list, the
roll happens and the alert goes nowhere — /sfdiagnostico warns about it.
Upgrades#
A ladder of levels per bench, in three independent tracks:
| Track | What it raises |
|---|---|
| Warehouse | capacity and per-item limit |
| Production | simultaneous crafts |
| Speed | cuts each run's time (up to 90%) |
Every step must cost more and deliver more than the previous one — the panel refuses a ladder that does not grow, because the player would pay more for less with nothing flagging the mistake.
The level follows the warehouse owner, not the bench. In a faction vault the faction pays for the upgrade and keeps the benefit; tied to the bench, one player would buy it and the whole city would come along.
Orders#
Enabled per bench, in /craftconfig. config/config.lua only holds the sweep
interval that expires and refunds them, and how many days a closed order stays in
the table.
The money leaves the buyer's account the moment the order is created and is held on it. It leaves for the crafter on each delivery, or returns in full to the buyer when the order expires or is cancelled. The refund has its own mark in the database: if the server goes down halfway through, the next sweep pays it.
Route anti-abuse#
Config.Rotas.VelocidadeMaxMs is the maximum speed (m/s) allowed between two
collections. The default, 120 m/s (~430 km/h), is deliberately generous: the
target is the instant jump, not the fast car. 0 disables it.
A collection refused for this reason does not end the route — staff teleports and repositioning after a dropped connection happen, and punishing the player for that would be worse than the abuse.