Paradox Labs · custom development

We build theIMPOSSIBLE

The plugin other devs turned down. The server system nobody could stabilize. The bot that shouldn't work — running in production. Custom development for the Rust ecosystem and beyond.

Tools we work with: OXIDE, CARBON, RUST, DISCORD.JS, PTERODACTYL, PAYNOW, RUSTEDIT

LAB/01 — SERVICES

Everything we build & run

Managed products and custom development for the Rust ecosystem and beyond. One studio for the plugin, the bot, the server, the storefront — and the platforms that keep them running.

Managed products, running in production

Software we host and maintain so you don't have to. Each one is a full product with its own home — pick the surface you need.

Custom development

Scoped honestly and delivered like a studio — tracked jobs, versioned files, changelogs and a bug-fix window. Not a zip in your DMs.

LAB/02 — WHY "PARADOX"

Every server owner has heard it: "that's not possible."
We made a studio out of proving that wrong.
SCOPE HONESTLY

If it truly can't be done, we say so before you pay — and tell you what can.

ENGINEER, DON'T HACK

Performance-tested against real player counts. No plugins that melt your frame times.

DELIVER LIKE A STUDIO

Tracked jobs, versioned files, changelogs, invoices, and a bug-fix window. Not a zip in your DMs.

LAB/03 — PROTOCOL

How it works

01

Quote

Describe what you need in a structured request — no Discord DM archaeology. You get a scoped estimate, usually within a day.

02

Build

Your job moves through development and testing with its status visible to you. Updates come to you; you never chase us for them.

03

Deliver

Versioned files with changelogs, a proper invoice paid by card or crypto, and a 30-day bug-fix window after handover.

LAB/04 — FIELD LOG

Recent work

All work →
HOSTING
First managed Rust server, moved and live in a day

A running 2x server transferred onto Paradox managed hosting: files, wipe schedule and plugins carried over, BattleMetrics reconnected. The owner kept playing; we kept the pager.

Zero data lost. Live the same day.

SERVER SUPPORT PLAN
One panel for every server we look after

Lag graphs, console errors and plugin reports for each managed server in one place, so a problem is found before a player reports it. Built in-house, runs on our own hardware.

Every server reports in every few seconds.

AUTOMATION
A storefront and client portal, built end to end

The site you are reading. Product store with card and PayPal checkout, licence issuing and hardware-locked activation, a customer portal for jobs and downloads, quote intake, invoicing, and an admin board behind it.

Store, licensing, portal, quotes and invoicing in one system

PRIME
Prime: one bot that runs the whole community

Chat bridge, event logs, tickets, giveaways, account linking and map-vote wipes from one managed bot per server. Owners sign up on the site and get a bot; no VPS, no scripts, nothing to host.

One managed bot per server, nothing to host.

DISCORD BOT
A Discord bot that records customer calls

When a quote comes in, the bot opens a private voice room for that customer, records the call, and files the recording with the quote. Nobody has to remember to hit record.

A private room per customer, recorded automatically.

DISCORD BOT
A Discord bot wired into the job board

Creates a private support channel per job, tells the customer when their job status, notes, invoices, payments or deliverables change, and delivers licence keys by DM on purchase.

Per-customer support channels and six automated customer notifications

LAB/05 — STORE

From the store

Store →
RUST PLUGIN
PetHeli

A miniature attack helicopter that circles its owner, guns down whatever attacks them, and cannot hurt a friend. ## The problem The patrol helicopter is the loudest event on your server, and it only ever happens *to* your players. It shows up, it burns a base down, it leaves. There is no version of it your players get to keep, no reward that hands them the thing that has been bullying them all wipe. PetHeli gives it to them — shrunk to a quarter size, parked over their shoulder, and pointed at whatever comes for them. ## What PetHeli does Spawns a real PatrolHelicopter — the game's own airframe, its own AI, its own door guns — at a quarter scale, with the guns turned down to something a base fight can survive. It orbits its owner at a fixed radius and height, turning door-side so the guns actually bear, and follows wherever the owner walks. It fires on players, NPCs or animals depending on what you allow. It never targets its owner. It never targets the owner's team. Damage to either is zeroed before it lands, so no friendly-fire ticket ever reaches your Discord. The rockets are gone. Strafing runs and napalm are the only two things a patrol helicopter does that flatten a base, and a pet is refused both, at every path into the strafe state. What is left is the door guns. It also carries no map marker, so the whole server does not see your VIP's pet. It never retires off the map on the vanilla lifetime timer. It ignores no-go zones instead of fleeing 130m from its owner. It drops no crates when it dies. Walk out of range and it reappears at its orbit point. Die, disconnect, or unload the plugin and it is gone. ## Bodyguard, not a hunter By default the pet is defensive. It only fires on things that hit its owner, a teammate, or the pet itself, and it forgets an attacker 20 seconds after their last hit. Your players can walk past a boar, a scientist camp or another player without the heli starting a war. Flip `DefensiveOnly` off and it attacks any allowed target in range, the way it did in 1.0.1. ## Steps aside when it should The pet hides itself when its owner mounts anything (horse, car, heli, any seat), enters a Raidable Bases event, noclips, or vanishes. It comes back on its own when the reason is gone. No heli circling somebody's raid bubble, no heli chasing a minicopter across the map. Each trigger is a switch in the config. ## Three ways to hand one out Turn on any combination: **Chat command** — `/ph`, gated behind a permission. The straightforward VIP perk. **A thrown flare** — the pet ships as a skinned flare item. Throw it, the helicopter appears. Store the pet and the flare comes back to your inventory. Sell it in your shop, hand it out as an event prize, put it in a kit. **Crate loot** — off by default. Turn it on and the flare drops from any crate list you name, at any chance you name. Elite crates, heli crates, Bradley's own crate — your call. ## Targeting, done properly Players are acquired by the helicopter's own vanilla AI, filtered on the way through, so the plugin runs no scan loop for them and priority stays where the game puts it. Animals and Gen2 NPCs can never reach a vanilla heli's guns at all — the target list only holds players — so the pet scans for one itself, checks line of sight, and hands the nearest to both guns. A live player target always wins; the animal is dropped the moment one appears. ## Built the right way No Harmony patch. Every server-wide hook — damage, targeting, strafing, loot spawn, item use — stays unsubscribed while no pet is out, and the 0.15s tick does not even exist until the first one spawns. A server with the plugin loaded and nobody using it pays nothing for it. ## Features - Real patrol helicopter AI at a configurable scale, from 0.1 up to full size - Rockets and napalm refused — door guns only - Bullet damage and max health set by config, live-editable in game - Defensive by default: only shoots what hit the owner, a teammate, or the pet - Owner and owner's team are immune, and never targeted - Targeting toggles for players, NPCs and animals - Auto-hide when mounted, in a Raidable Bases event, in noclip, or vanished — returns by itself - Orbits the owner at a configurable radius, height and speed - No map marker, no retire timer, no fleeing, no death crates - Warps back to its orbit when left behind - Deploy by command, by thrown flare, by crate loot — any combination - Storing the pet returns the flare item - Zero hook cost while no pet is out - Cleaned up on owner death, disconnect and unload - Full language file, every message editable - Developer API and hooks, shared with PetBradley and PetScientist - Oxide and Carbon - No dependencies ## Commands | Command | Access | Description | |---|---|---| | `/ph` | `petheli.spawn` | Toggle: spawn a pet, or store the one you have | | `/ph spawn` | `petheli.spawn` | Spawn a pet | | `/ph dismiss` / `store` / `pickup` | `petheli.spawn` | Store the pet, returning the flare item | | `/ph give <player>` | `petheli.give` | Give a player a deploy flare | | `/ph scale <0.1-1>` | `petheli.admin` | Set the pet scale, live, and save it to config | | `/ph dmg <number>` | `petheli.admin` | Set bullet damage, live, and save it to config | ## Permissions - `petheli.spawn` — use `/ph` to spawn and store - `petheli.flare` — deploy by throwing the flare item - `petheli.give` — use `/ph give` - `petheli.admin` — use `/ph scale` and `/ph dmg` ## Configuration ```json { "Scale": 0.25, "BulletDamage": 2.5, "SearchRange": 60.0, "HoverHeight": 18.0, "OrbitRadius": 12.0, "OrbitSpeed": 25.0, "MaxFollowDistance": 80.0, "MaxHealth": 600.0, "Modes": { "Command": true, "Flare": true, "LootCrates": false }, "Targets": { "Players": true, "NPCs": true, "Animals": true }, "DefensiveOnly (only attack what hits the owner, a teammate, or the pet)": true, "AggroSeconds (how long an attacker stays a target)": 20.0, "AutoHide": { "WhenMounted (car, heli, horse, any seat)": true, "InRaidableBase": true, "WhenNoclip": true, "WhenVanished (needs the Vanish plugin)": true }, "PickupReturnsItem": true, "DeployItemShortname": "flare", "DeployItemName": "Pet Heli", "DeploySkin": 1357924681, "LootChance": 0.08, "LootCratePrefabs": [ "crate_normal", "crate_normal_2", "crate_elite", "crate_mine", "heli_crate", "bradley_crate" ] } ``` Scale and BulletDamage apply to a pet already out the moment you change them with `/ph scale` or `/ph dmg`. MaxFollowDistance is the leash: past it the pet reappears at its orbit point beside its owner, and it is never allowed below OrbitRadius + 20. ## Developer API Same surface on PetBradley, PetHeli and PetScientist, so one integration covers all three: - `API_IsPet(BaseEntity)`, `API_GetPetOwner(BaseEntity)`, `API_HasPet(ulong)`, `API_StorePet(ulong)`, `API_SuspendPet(ulong, bool hide)` - Hooks: `CanSpawnPet(BasePlayer)` (return non-null to block), `OnPetSpawned(BaseEntity, BasePlayer)`, `OnPetRemoved(BaseEntity, ulong)` ## Requirements Any current Rust server on Oxide or Carbon. No other plugins needed. Optional: Raidable Bases and Vanish, for those two auto-hide triggers. ## Support Every purchase comes with the private updates channel in our Discord and updates for the life of the plugin. Your licence key and download live on your purchases page the moment payment clears.

$19.99 · v1.0.4

RUST PLUGIN
GasStation

⛽ GasStation Working fuel pumps at every gas station monument. GasStation turns the pumps at Rust's gas station monuments into real, metered refuelling points. Players pull up in a modular car, hop on a bike, land a minicopter, or even walk up with a jug — press one button, pick their fuel, and pay by the second while the pump fills the tank in real time. When the tank's full or the wallet runs dry, it stops on its own and refunds anything it couldn't deliver. Pumps are found automatically — the plugin locates gas station monuments and auto-detects their pump props, so it works out of the box on wiped maps and custom maps alike, with a full admin toolkit to fine-tune positions when you want to. ✨ Features ⏱️ Metered, pay-per-second billing — players are charged live as fuel flows, with unused charges refunded if the tank fills mid-pump 🚗 Wide vehicle support — modular cars (fuel tank and tanker fuel-tank modules), plus minicopters, attack helis, scrap transport helis, motorbikes, sidecars, and snowmobiles (all configurable) 🧴 On-foot jug refuelling — fill water jugs, bota bags, and buckets with water, crude, or low grade fuel without a vehicle at all ⛽ Fully configurable fuel types — Low Grade, Crude Oil, Water, and jug variants out of the box; set delivery rate, price, max run-time, target tank, colour, and per-fuel permission for each 💰 Three currency modes — Economics, ServerRewards points, or any item (scrap by default); currency can even be overridden per fuel 🏷️ Permission discounts — e.g. gasstation.vip = 25% off (add as many tiers as you like), plus free-fuel permission and optional free-for-admins 🖥️ Clean in-game UI — a pump prompt, fuel-selection menu, and a live progress bar showing units delivered and money spent; press again to stop 🎯 Auto pump detection — finds gas station monuments (MonumentFinder supported, terrain fallback) and their pump props automatically, rebuilding on wipe 🛠️ Full admin toolset — scan, auto-add, manually place/remove pumps, list, visualize, teleport between stations, and inspect vehicles 🎛️ Tunable behaviour — detection radius, facing requirement, activation button (SPACE / E / R / SHIFT / CTRL), remount handling, lock-while-filling, stop-on-leave, and more ⌨️ Player experience Drive/walk up to a station pump → a "FUEL PUMP — press [SPACE]" prompt appears Press the button → the fuel menu opens with prices and your balance Pick a fuel → the pump fills your tank while a progress bar tracks units and cost Press again (or fill up / run out) → it stops and reports what you got 🛠️ Admin commands (/gasstation) near, stations, tp <n>, scan [filter], autoadd [filter], add, remove, list, show, wipe, modules, reload — everything you need to set up and debug pumps on any map. 🔐 Permissions gasstation.use — use the pumps gasstation.admin — setup/admin commands gasstation.free — refuel for free gasstation.vip (and any discount tiers you add) — percentage discounts Optional per-fuel permissions 🧩 Dependencies (all optional) Economics and/or ServerRewards — for currency (item mode needs neither) MonumentFinder — recommended for reliable monument/pump detection ImageLibrary — only if you want a custom prompt image Version 1.17.1 · by carl

£7.99 · v1.17.1

RUST PLUGIN
SatelliteCrashManager

Vanilla only spawns a satellite when someone powers a control computer at powergrid stage 4. Run them on a schedule instead — announced, marked on the map, and locked to the crew that gets there first. ## The problem The Satellite Crash is the best thing in the Power Trip update and most of your players will never see one. Vanilla has no satellite event scheduler. The only way a satellite comes down is a player powering up the control computer at Launch Site, which requires the powergrid at **stage 4** — eighteen Heavy Fuses burning at once. On the average server that happens never. And when it does happen, nobody else knows it happened until they stumble on a burnt-out wreck someone already emptied. ## What SatelliteCrashManager does **Schedules them.** Random interval between a minimum and maximum you set, gated on a minimum player count, skipping its slot if one is already on the way. Your server gets satellite crashes whether or not anyone has touched the Power Plant. **Announces them.** Chat message when the satellite starts falling, another when it lands with the map grid reference, another when the fires burn out and the crates open. A map marker sits on the crash site so latecomers can find it. **Locks the wreck.** The first player to open a crate or hit the remains claims the site, and their whole team inherits access. Everyone else gets told how long they have to wait. No more third parties sniping loot from the crew that flew the thing down. **Collects the settings.** Every satellite server variable that actually matters — including the in-game hour cooldown on the control computer — gathered into one config block with plain-English labels, applied on load and restored on unload. ## Uses Facepunch's own crash-site search Launches go through vanilla's `satellite.random`, so the site validation is Facepunch's code: topology, water, ground slope, unevenness, safezone clearance and building-privilege standoff. No reimplemented targeting to drift out of sync next update, and no satellites landing in the middle of someone's base. ## Built for PVE too Two settings turn this into a PVE event: drop the powergrid requirement so crashes work without a stage 4 grid, and set the impact kill radius to `0` so a landing stops killing players and flattening buildings. Combined with the loot lock, you get a co-operative event that rewards the crew that showed up. ## Features - Automatic crashes on a random interval, with a minimum player gate - Skips its slot if a satellite is already descending - `/satellite call` to trigger one on demand - Descent, impact and crates-ready chat announcements with map grid references - Map marker at the crash site for a configurable duration - Loot lock — first crew to arrive owns the crates and the wreck - Optional lock on damaging the wreck, not just looting it - Bypass permission for staff - `/satellite` lists live crash sites, their age and their owner - Nine vanilla satellite settings in one labelled config block, restored on unload - Full language file - Oxide and Carbon - No dependencies ## Commands | Command | Access | Description | |---|---|---| | `/satellite` | admin | List active crash sites, age and owner | | `/satellite call` | admin | Launch a satellite now | ## Permissions - `satellitecrashmanager.admin` — `/satellite` and `/satellite call` - `satellitecrashmanager.bypasslock` — ignore loot locks ## Configuration ```json { "Automatically launch crashes": true, "Minimum minutes between automatic crashes": 90.0, "Maximum minutes between automatic crashes": 150.0, "Minimum players online for an automatic crash": 2, "Announce when a satellite starts descending": true, "Announce where a satellite landed": true, "Announce when the crash crates stop burning": true, "Show a map marker at the crash site": true, "Map marker radius": 0.4, "Map marker minutes": 30.0, "Loot lock mode (off, firstcome)": "firstcome", "Loot lock seconds after impact": 900.0, "Loot lock also blocks damaging the wreck": true, "Apply the vanilla convar overrides below on load": false, "Vanilla convar overrides": { "satellite.require_powerplant (needs powergrid stage 4 to launch)": true, "satellite.free_power (power up the computer with no items)": false, "satellite.free_fuel (thrusters cost no fuel)": false, "satellite.kill_radius (metres cleared on impact, 0 to harm nothing)": 10.0, "satellite.crate_fire_duration (seconds crates burn before they unlock)": 300.0, "satellite.wreck_fire_duration (seconds the wreck is too hot to harvest)": 480.0, "satellite.control_window (seconds of thruster control)": 180.0, "satellite.cooldown_hours_min (in-game hours before the computer can be used again)": 18.0, "satellite.cooldown_hours_max (in-game hours before the computer can be used again)": 18.0 } } ``` The convar block is passthrough — those are Facepunch's own server variables, gathered into one labelled place and set for you on load. ## Known limits, stated up front Loot cannot be locked to whoever launched the satellite. The game does not record that — `SatelliteControlComputer` has no owner field. First crew on site is the lock this plugin can honestly offer. ## Requirements Rust server on the Power Trip build (2026-08-06) or newer. ## Pairs with **GridControl** — hold the grid at stage 4 and let players launch satellites from the control computer the way Facepunch intended, alongside the scheduled ones. ## Support Every purchase comes with the private updates channel in our Discord and updates for the life of the plugin. Your licence key and download live on your purchases page the moment payment clears.

$24.99 · v1.0.0

RUST PLUGIN
Electric Refinery

ElectricRefinery turns a vanilla small oil refinery into an Electric Refinery that runs on electricity instead of wood. Going electric spawns a real IO node (Electrical Branch) on the refinery, wire any power source into its input and unused power passes straight through the output. If power ever stops reaching it, the refinery falls back to burning wood until power is restored. Get one by upgrading an existing refinery with a hammer, or via an admin-only command that places one wherever you're looking, and it all survives server restarts. Permissions electricrefinery.use lets you hit with a hammer to upgrade a normal refinery. electricrefinery.craft lets you use. /ercraft. ADMIN USE ONLY, places the refinery wherever you're looking, do not give this to regular players. electricrefinery.admin bypasses cost/limits with config, unlocks /ermove and /erfix Getting one /ercraft — pays the configured cost and places an Electric Refinery in front of you, wherever you're currently looking. ADMIN USE ONLY! Hammer hit a normal refinery the configured number of times (default 5) to upgrade it in place. Limits Default is 5 Electric Refineries per player, but it's configurable. Once a player hits the limit, a chat message lets them know and placing/upgrading stops until they're under it again. Cost Fully configurable, supports 5 payment methods that can be mixed and matched: ServerRewards, Economics, Scrap, a custom item, or a set of raw resources. Chat Commands admin /ercraft Admin only. Crafts and places an Electric Refinery wherever you're looking, for the configured cost. /ermove <x> <y> <z> [yaw] Admin only. Look at an Electric Refinery to reposition its IO node, the new offset is saved as the default going forward. /erfix [rebuild] [orphans] Admin only. Re-attaches or fully rebuilds IO nodes on all tracked refineries, and can optionally clean up leftover orphan nodes.

£7.49 · v1.0.0

LAB/06 — INTEL

Questions, answered

How fast will I get a quote?

Usually within a day. Describe the project once, properly, and you'll get a scoped estimate — not a 'dm me' and a week of silence.

What happens after I accept a quote?

Your request becomes a tracked job. It moves through development and testing, and you can watch the status instead of asking for updates.

Do I own the code?

For custom commissions, yes — you get the source. If we license one of our existing plugins to you instead, we'll say so up front.

How do payments work?

Card (Stripe) or crypto, invoiced properly. Larger projects split into a deposit and a delivery payment.

What if something breaks after delivery?

Every delivery includes a 30-day bug-fix window. Game updates that break things happen — we plan for them.

Bring us yourIMPOSSIBLE

Describe it once, properly. You'll get a scope and a price — not a sales pitch.

Request a quote

By working with us you agree to our Terms of Service and Privacy Policy.