Features
Complete overview of all Oxide 3D Weapon Printing features including printing, blueprints, upgrades, assembly, quality, durability, and progression.
How every system works from the player's point of view, plus the details server owners need for balancing.
3D Printing
The 3D printer is the heart of the system. Players place a printer in the world, load blueprint USB drives into it, feed it filament, and print weapon parts one at a time. Every printer is saved to the database, so placed printers — including their upgrades, stored blueprints, and any print still running — survive server restarts.
Printing Process
Print Costs
Each part in a blueprint has two costs:
- Filament — How many filament items are taken from your inventory (1 to 5 per part, depending on the weapon)
- Print Time — How long the print takes. Starter pistol parts take 10 minutes each; the biggest sniper and machine gun parts take 75 minutes each. Nozzle upgrades shorten these times.
A player only needs to be at the printer to start a print and to collect it — the print keeps running while they're away, and even across a server restart.
Printer Status Screen
The printer prop has a small built-in screen (a DUI page) that shows live information:
- Which blueprint is loaded
- Print progress with a countdown timer
- Printer status (idle, printing, complete)
USB Malfunction
Loading a USB into a printer is risky: there is a chance the USB is destroyed instead of loading. The base chance is 25%, lowered by:
- Player level — Each level removes 1.5% from the chance
- Cooling Fan upgrades — Mk I: -10%, Mk II: -20%, Mk III: -30%
- The chance never drops below 5%, no matter how high the level or upgrades
The printer interface shows the player's current malfunction chance before they load, so the risk is never a surprise.
Blueprint Storage
When a USB loads successfully, the blueprint is saved onto the printer itself — the USB is gone, but the blueprint stays on that printer permanently. A basic printer holds 1 blueprint; Storage Drive upgrades raise that to as many as 8. Players can switch between stored blueprints freely without any more USBs.
A stored blueprint can also be ejected: the player gets a fresh USB for it back in their inventory and the storage slot frees up. You can't eject a blueprint while the printer is busy printing from it.
Blueprints
Blueprints define which parts can be printed for each weapon. Each blueprint lives on a Printer USB item, and each weapon is locked behind a progression level.
Weapon Categories
There are 52 weapons in total:
| Category | Weapons | Level |
|---|---|---|
| Pistols (Basic) | SNS Pistol, Vintage Pistol, Flare Gun, Pistol, SNS Mk II, Ceramic Pistol, Double-Action Revolver, Marksman Pistol, Machine Pistol | 1 |
| SMGs | Micro SMG, Mini SMG, SMG, SMG Mk II, Combat PDW, Assault SMG | 2 |
| Shotguns (Basic) | Pump Shotgun, Sawed-Off Shotgun, Double Barrel Shotgun, Sweeper Shotgun | 2 |
| Pistols (Advanced) | Combat Pistol, AP Pistol, Pistol Mk II, Heavy Pistol | 3 |
| Rifles (Standard) | Assault Rifle, Carbine Rifle, Special Carbine, Compact Rifle, Bullpup Rifle | 4 |
| Shotguns (Advanced) | Pump Shotgun Mk II, Bullpup Shotgun, Assault Shotgun | 4 |
| Rifles (Military) | Assault Rifle Mk II, Carbine Mk II, Special Carbine Mk II, Bullpup Mk II, Advanced Rifle, Military Rifle, Heavy Rifle | 5 |
| Shotguns (Heavy) | Heavy Shotgun | 5 |
| Pistols (Heavy) | Pistol .50, Heavy Revolver, Heavy Revolver Mk II, Navy Revolver | 6 |
| Snipers | Sniper Rifle, Marksman Rifle, Marksman Rifle Mk II | 7 |
| Machine Guns | MG, Combat MG, Combat MG Mk II | 8 |
| Snipers (Heavy) | Heavy Sniper, Heavy Sniper Mk II | 8 |
| Exotic | Perico Pistol | 9 |
Part Types
Parts vary by weapon category. Common part types include:
| Part | Used By |
|---|---|
| Pistol Slide | Pistols |
| Pistol Grip | Pistols |
| Pistol Magazine | Pistols |
| Compact Frame | Ceramic Pistol, Perico Pistol |
| Revolver Frame | Revolvers |
| Revolver Receiver | Revolvers |
| Trigger Group | Various (revolvers, shotguns, rifles, SMGs) |
| SMG Receiver | SMGs |
| SMG Barrel | SMGs |
| SMG Magazine | SMGs |
| Compact Barrel | Mini SMG, Machine Pistol, Compact Rifle |
| Folding Stock | Assault SMG |
| Rifle Upper | Rifles, Machine Guns |
| Rifle Lower | Rifles, Machine Guns |
| Rifle Barrel | Rifles, Machine Guns, Marksman Rifles |
| Rifle Handguard | Select Rifles |
| Rifle Magazine | Rifles |
| Rifle Stock | Rifles, Machine Guns, Marksman Rifles |
| Bullpup Chassis | Bullpup Rifle, Bullpup Shotgun |
| Shotgun Receiver | Shotguns |
| Shotgun Barrel | Shotguns |
| Shotgun Stock | Shotguns |
| Pump Handle | Pump Shotguns |
| Double Barrel Set | Sawed-Off, Double Barrel Shotgun |
| Sniper Receiver | Sniper Rifles |
| Sniper Barrel | Sniper Rifles |
| Sniper Magazine | Select Snipers, Marksman Rifles |
| Sniper Stock | Sniper Rifles |
| Long Scope | Heavy Snipers, Marksman Rifle Mk II |
| Drum Magazine | Machine Guns |
Item Printing
Added in v1.0.1 — this is a preview feature. Full item printing support with metadata, categories, and a dedicated interface is planned for a future release.
The printer can also produce regular (non-weapon) items directly, with no bench assembly needed. Item prints are set up in shared/config/items.lua under Config.ItemPrints — by default there's one example (a lockpick).
How It Works
Item blueprints work exactly like weapon blueprints — same USBs, same printer, same malfunction risk — with two differences:
- One print job produces one finished item (there are no "parts")
- The finished item is collected straight from the printer — no weapon bench involved
Filament cost, print time, level gating, XP rewards, and nozzle speed upgrades all apply normally.
Collecting Items
When the print finishes, the item goes into the player's inventory as a completely normal item — no quality grade, no durability, no serial number.
Interface
The printer interface marks item blueprints with a cube icon; weapon blueprints get a scroll icon. Selecting an item blueprint shows a single print button instead of a parts list.
Preview Prop
If the item entry includes a model value, a see-through preview of that prop spins on the printer while it prints. If model is left out, there's simply no preview — everything else still works.
Level Gating and XP
To lock an item behind a level, add its key to Config.Progression.blueprintLevels in shared/config/progression.lua. XP is awarded when the print is collected, same as weapon parts.
Limitations (Preview)
- One print = one item; no multi-part recipes
- No quality grades, durability, or custom item data on collected items
- A key used in
Config.ItemPrintsmust not also exist inConfig.Blueprints— if it does, the weapon wins /givewepblueprintaccepts item keys too, for testing
For the config fields, see Config File: shared/config/items.lua.
Printer Upgrades
Every printer can be upgraded individually across five categories. To install an upgrade, have the upgrade item in your inventory and use the Upgrades tab while at the printer — the item is consumed. Upgrades must be installed in order (Mk I, then Mk II, then Mk III).
If a player picks their printer up, the upgrades stay on the printer item and come back when it's placed again.
Upgrade Categories
Nozzle
Makes prints finish faster.
| Tier | Item | Print Speed | PSU Required | Level Required |
|---|---|---|---|---|
| 0 (Stock) | — | Normal | — | — |
| Mk I | printer_nozzle_mk1 | 15% faster | None | 1 |
| Mk II | printer_nozzle_mk2 | 30% faster | PSU Mk I | 3 |
| Mk III | printer_nozzle_mk3 | 45% faster | PSU Mk II | 6 |
Storage Drive
Lets the printer hold more blueprints at once.
| Tier | Item | Blueprint Slots | PSU Required | Level Required |
|---|---|---|---|---|
| 0 (Stock) | — | 1 | — | — |
| Mk I | printer_storage_mk1 | 3 | None | 1 |
| Mk II | printer_storage_mk2 | 5 | PSU Mk I | 3 |
| Mk III | printer_storage_mk3 | 8 | PSU Mk II | 6 |
Cooling Fan
Lowers the chance of a USB being destroyed when loaded.
| Tier | Item | Malfunction Reduction | PSU Required | Level Required |
|---|---|---|---|---|
| 0 (Stock) | — | 0% | — | — |
| Mk I | printer_cooling_mk1 | -10% | None | 1 |
| Mk II | printer_cooling_mk2 | -20% | None | 3 |
| Mk III | printer_cooling_mk3 | -30% | PSU Mk I | 6 |
Build Plate
Adds a quality bonus to weapons the printer's owner assembles at a bench (see Quality System).
| Tier | Item | Quality Bonus | PSU Required | Level Required |
|---|---|---|---|---|
| 0 (Stock) | — | +0% | — | — |
| Mk I | printer_buildplate_mk1 | +3% | None | 2 |
| Mk II | printer_buildplate_mk2 | +6% | PSU Mk I | 4 |
| Mk III | printer_buildplate_mk3 | +10% | PSU Mk II | 7 |
Power Supply (PSU)
The PSU does nothing by itself — it exists to power the higher upgrade tiers.
| Tier | Item | Level Required |
|---|---|---|
| Mk I | printer_psu_mk1 | 2 |
| Mk II | printer_psu_mk2 | 5 |
PSU Dependency Chain
Trying to install an upgrade without the PSU it needs fails with an error message telling the player which PSU is missing. The upgrade path:
- Install PSU Mk I (level 2) to unlock Mk II upgrades for Nozzle, Storage, and Build Plate, and Mk III for Cooling
- Install PSU Mk II (level 5) to unlock Mk III upgrades for Nozzle, Storage, and Build Plate
Weapon Assembly
The weapon bench is where printed parts become finished weapons. Each weapon has a recipe listing exactly which parts it needs.
Assembly Process
If the player disconnects or cancels mid-assembly, the parts are returned to their inventory.
Ghost Guns
Weapons made at the bench have a blank serial number and stay untraceable — even when traded to another player or moved between inventories. Police weapon-registry systems will not find an owner for them.
Assembly Recipes
Different weapons need different parts. A few examples:
| Weapon | Parts Required | Craft Time |
|---|---|---|
| SNS Pistol | Slide + Grip + Magazine | 20s |
| Pistol | Slide + Grip + Magazine | 30s |
| AP Pistol | Slide + Grip + Magazine + Trigger Group | 45s |
| Assault Rifle | Upper + Lower + Barrel + Magazine + Stock | 60s |
| Heavy Sniper | Receiver + Barrel + Magazine + Stock + Long Scope | 90s |
| Combat MG | Upper + Lower + Barrel + Drum Mag + Stock + Trigger Group | 90s |
Assembly recipes use the same level requirements as their blueprints — see Progression.
Weapon Preview
While the assembly screen is open, a 3D model of the selected weapon is shown sitting on the bench, so players can see what they're building.
Quality System
Every assembled weapon gets a quality percentage and a matching grade. Quality also sets the weapon's starting durability — a 72% quality weapon starts at 72% durability.
Quality Grades
Base quality depends on how far the builder's level is above the weapon's required level:
| Grade | Quality Range | Levels Above Requirement |
|---|---|---|
| Poor | 20-30% | 0 (exactly at the requirement) |
| Decent | 35-45% | 1 |
| Standard | 50-60% | 2 |
| Quality | 65-75% | 3 |
| Superior | 80-90% | 4 or more |
In short: building weapons well below your level produces better results. A level 5 player assembling a level 1 pistol rolls in the Superior range; a level 4 player assembling a level 4 rifle rolls Poor.
Quality Bonuses
Two bonuses are added on top of the base roll (total quality is capped at 95%):
Experience bonus — lifetime activity slowly improves your output:
| Metric | Threshold | Bonus |
|---|---|---|
| Total prints collected | Every 50 prints | +2% quality |
| Total weapons assembled | Every 25 assemblies | +3% quality |
| Maximum combined bonus | — | +20% |
Build plate bonus — when assembling at a bench, the system looks at all printers the player owns and applies the quality bonus from the best Build Plate among them (+3/+6/+10%). The player doesn't need to be near the printer.
Bad Luck Events
Each assembly has a 10% chance of a "bad luck" event that knocks 15 percentage points off the final quality (it can't drop below 5%). Both numbers are configurable — see Bad Luck Events.
Weapon Durability
3D-printed weapons can wear out with use and eventually break. Durability decay and the jam mechanic are two separate systems, each with its own on/off switch (Config.Durability.enabled and Config.Jam.enabled). Both count real rounds fired.
Compatibility With Other Inventory Decay Systems
Some inventories (ak47_qb_inventory, qs-inventory, codem-inventory, etc.) have their own weapon decay tied to per-item quality. Running both at once can cause double-decay or, in the ak47 case, a nil arithmetic on field 'quality' crash inside the inventory's own loop. Set Config.Durability.enabled = false to let the inventory handle decay while keeping the jam mechanic active.
Degradation
When Config.Durability.enabled = true:
- A fresh weapon starts at a durability equal to its quality (a 72% quality gun starts at 72% durability)
- Each shot removes 0.15% durability (configurable via
Config.Durability.degradePerShot) - At 0%, the weapon is destroyed and removed from the player's hands and inventory (if
Config.Durability.breakAtZerois on)
When Config.Durability.enabled = false, printed weapons get no durability number at all and never break from this resource.
Weapon Jams
When Config.Jam.enabled = true, every shot has a chance to jam the weapon. A jammed weapon cannot fire; the player presses E to clear it, which plays a 3-second animation (configurable via Config.Jam.unjamTime). Two modes:
Durability mode (when Config.Durability.enabled = true) — the worse the weapon's condition, the more it jams:
| Durability Range | Jam Chance Per Shot |
|---|---|
| 80-100% | 0% |
| 60-80% | 2% |
| 40-60% | 5% |
| 20-40% | 10% |
| 0-20% | 20% |
Flat mode (when Config.Durability.enabled = false) — every shot uses the same flat percentage from Config.Jam.flatChance (default 5).
Durability Display
When durability tracking is on, the weapon's inventory tooltip shows both numbers:
3D Printed - Quality (72%) | Durability: 64%When durability is off, the tooltip shows only the quality grade.
Progression
The progression system tracks each character's XP and level, which gate weapons, upgrades, and assembly recipes. Progress is saved on the character, not the printer.
Levels and XP
| Level | Total XP Needed | Unlocks |
|---|---|---|
| 1 | 0 | Basic Pistols & Placement |
| 2 | 200 | SMGs & Shotguns |
| 3 | 600 | Mk II Upgrades |
| 4 | 1,400 | Standard Rifles |
| 5 | 2,800 | Military Weapons |
| 6 | 5,000 | Mk III Upgrades |
| 7 | 8,500 | Sniper Rifles |
| 8 | 14,000 | Heavy Weapons & MGs |
| 9 | 22,000 | Exotic Weapons |
| 10 | 35,000 | Master Printer |
XP Rewards
XP from printing and assembling scales with the size of the job — bigger weapons give more XP:
| Action | XP Earned |
|---|---|
| Loading a USB into a printer (successful load) | 5 |
| Collecting a finished print | 15 × the part's filament cost (15–75) |
| Assembling a weapon | 30 × the weapon's average part filament cost (30–150) |
So collecting a starter pistol part (1 filament) gives 15 XP, while a heavy sniper part (5 filament) gives 75 XP.
Progress Data
Progression is stored on the character's metadata under the weaponprinting key (via o-link), and includes:
level— Current levelxp— Current XP totaltotalPrints— Lifetime prints collectedtotalAssembled— Lifetime weapons assembled
Placeable Equipment
3D Printer
- Item:
3d_printer - Model: Custom
prop_3d_printer(included in the resource) - Max per player: 3 (configurable)
- Interaction: "Use Printer" prompt within 1.5m
- Persistence: Saved to database with position, rotation, owner, upgrades, and stored blueprints
Weapon Bench
- Item:
weaponbench - Model:
gr_prop_gr_bench_04b - Max per player: 2 (configurable)
- Interaction: "Use Workbench" prompt within 1.5m
- Persistence: Saved to database with position, rotation, and owner
Placeable Table
- Item:
placeable_table - Model:
bkr_prop_weed_table_01b - Max per player: 5 (configurable)
- Interaction: None (decoration only)
- Persistence: Saved to database with position, rotation, and owner
Ownership
When Config.RequireOwnership is true (the default), placed equipment belongs to the character who placed it. Only the owner can:
- Pick the equipment up (it goes back into their inventory)
- Load USBs into a printer, eject blueprints, or start prints
- Start an assembly at a bench
Anyone can still open a printer or bench to look at it. With the setting off, anyone can use and pick up anything.
Picking up a printer
A printer can't be picked up while it's printing. If it has blueprints stored, the player is warned and asked to confirm — force-removing destroys the stored blueprints (eject them first to keep them). Upgrades are never lost; they stay on the printer item.
Ghost Gunner's Handbook
The Ghost Gunner's Handbook (printer_manual) is a usable item that opens an in-game book players can read. It teaches the whole system, so your players don't need any out-of-game explanation.
Contents
The handbook is 8 two-page spreads (16 pages):
| Spread | Left Page | Right Page |
|---|---|---|
| 1 | Foreword | Getting Started |
| 2 | Blueprints & USBs | Printing Parts |
| 3 | Weapon Parts | Shared Components |
| 4 | The Weapon Bench | Quality & Grades |
| 5 | Printer Upgrades | The PSU Problem |
| 6 | Durability & Jams | Your Reputation |
| 7 | Weapon Categories | More Weapons |
| 8 | Tips & Tricks | Final Notes |
Usage
- Use the
printer_manualitem from inventory to open it - Turn pages with A/D or the arrow keys
- Press ESC to close
- Item pictures for parts, upgrades, and equipment appear inside the book
The handbook reads the printer, bench, table, USB, and filament item names from your config, so it stays accurate if you rename any of them.
Obtaining
The handbook is a normal item — sell it in a shop, add it to a starter kit, or hand it out however you like. The /printer_kit admin command includes one.
Floating Labels
Players can press H (configurable) while near a placed printer to toggle floating status labels above all nearby printers — showing the printer's name, status, print progress, and upgrades at a glance. Labels only appear within 5 meters and the data refreshes every 2 seconds.
| Setting | Default | Description |
|---|---|---|
Config.Labels.toggleKey | 74 (H) | Control ID for the toggle key |
Config.Labels.maxDist | 5.0 | Maximum distance to see labels |
Config.Labels.heightOffset | 1.2 | Height above the printer |
Config.Labels.dataRefreshMs | 2000 | How often label data refreshes |
Safe Zones
Safe zones are map areas where players cannot place printers, benches, or tables — useful for blocking spawn points, government buildings, or city centers. You outline each area with corner points in Config.SafeZones; any placement attempt inside is rejected by the server.
Config.SafeZones = {
{
points = {
vec2(x1, y1),
vec2(x2, y2),
vec2(x3, y3),
vec2(x4, y4),
},
},
}Each vec2(x, y) is a map coordinate — stand at each corner of the area and note your X and Y position to build the list.