F.A.Q
Setup
Run /craftadmin. Access needs the Config.Admin.Permission group, or the ACE permission in Config.Admin.AcePermission when set. The panel tabs cover stations, the map, recipes, blueprints, settings, models and community projects.
Station types, placed benches, categories, recipes, blueprints, projects and custom models are saved in the database by the panel and stay after restarts and updates. The config holds global behavior, ranges, features and defaults. When both set the same thing, such as fuel, durability, pickup rules or queue limits, the database value wins.
Stations and Recipes
Open /craftadmin, create a station type in the Workstations tab and pick a station model. Place it in the world with free move, surface snap or the gizmo, give the type its categories, then build recipes in the Recipes tab. Players get every save without a restart.
Yes. Add the model to Config.ModelBenches.Bindings with a station type. Every prop of that model in the world becomes a bench of that type, with no placing needed.
Keep Config.Features.PortableStations on and give players the ml_workstation item with metadata.stationType set to a station type ID, or bind an item to the station type in the panel. Using the item starts a placement preview. Owners pick the station up in DefaultPickupTimeOwner seconds. If the pickup rule allows it, others can steal it after a longer timer, and the theft is logged.
One recipe slot can take any one of several items, such as iron, steel or scrap. In the recipe editor, drag the ingredients into the same group. The craft uses the one the player has, and a refund returns exactly what was used.
consume: the item is removeddegrade: a tool loses durability instead. The most worn copy goes first, and the recipe can remove it at zerocheck: the item must be in the inventory but is never taken, such as a license or a special tool
Results in the same group are one weighted random pick per craft, such as one backpack color out of a whole set. Results outside a group roll on their own chance, which is how byproducts work. Result metadata can use random ranges, picks from a list or chance buckets, rolled for each item.
Yes, with ML Inventory running. The result editor offers a Clothing reward: a fixed piece, or a random piece from a series of drawables, with a photo of each model.
Both are optional per station type and set in the panel. A fuelled bench holds a number of crafting seconds and takes fuel items, ml_fuel jerrycans or both. A craft cannot start without enough fuel. Durability goes down while crafting, and at zero the station stops until it is repaired with the set materials.
Only with Config.Queue.AllowSteal = true. Anyone at the bench can then collect a ready craft of another player, and the theft log records it. Config.Queue.SharedView sets whether other players' entries are visible at all.
Skills
With Config.ExternalSkills.Enabled = true, levels and skill checks come from ml_skills and recipe XP goes into it. A recipe can need a level, a category level or a skill, and can stay hidden until the skill is learned. XP goes to the skill category of the recipe's required skill, or to the category set in the mapping.
Five, set per recipe and active while the player has the bound skill: time_reduction (up to 90%), extra_xp, extra_quantity, extra_drop_chance and ingredient_reduction. Bonuses of the same type add up.
Yes. Set Config.ExternalSkills.Enabled = false and turn on Config.Progression for the built-in levels, or leave both off and lock recipes with blueprints only.
When no skill category can be found for a recipe, the script skips the XP and prints a yellow [ml_crafting][XP] line that says why. Bind a required skill on the recipe, or map the category in Config.ExternalSkills.Mapping.PerCategory.
Battlepass
Yes, with ml_battlepass running. Finishing a craft advances the objectives that ml_battlepass ties to that recipe. Set Config.Battlepass.Enabled = false in server/config_server.lua to turn it off.
Base Building
Yes, with Outpost (ml_base_building) running. Config.BaseBuilding decides whether portable stations can go outside bases, which crew permission is needed inside one, and whether a base under raid blocks placing. Station types can also be built as machines inside a base, set up with Config.BaseMachines and the panel.
Community Projects
Open the Projects tab of the admin panel and create one. Add goals, rewards and an optional deadline, then set it to Active. No restart needed. A goal either asks players to donate an item at a station or counts the item as they craft it, and one project can mix both.
In the Bench Editor, open the placed station and switch its kind to community. It shows the project board instead of the crafting menu and skips fuel and durability. The other stations of the same type keep working as workbenches.
Check its scope first. A project with no scope runs on every station. Once it is tied to station types or to stations picked in game, it only exists there: no board button, no screen, and crafting the goal item elsewhere does not count. Then check that the project is Active and within its dates, that the player matches its job, gang or skill rule, and that the station type still has projects on in the Bench Editor.
Updates
- Update ML Bridge first
- Download the latest version from CFX Portal
- Back up
shared/config.lua,shared/config_models.lua,server/config_server.luaand theopen/folder - Replace all files except those, then copy any new config lines from the changelog
- Restart the server
Benches, recipes, blueprints, queues, projects and progression are in the database and stay after an update. Schema changes are applied on start.