[ ! ] The zip contains a DLL extension that goes into RustDedicated_Data/Managed. Some hosts do not allow uploading DLLs - check with your host before buying. [ ! ]

Relics is a loot RPG for Rust. Sealed relic crates drop from the world (loot containers, barrels, NPCs, animals, ore nodes, trees and fishing), and unwrapping one reveals a relic with its own rarity, its own rolled affixes and, on the better ones, an active ability. Players equip up to six, and every affix feeds a live modifier table: gather yields, damage against players, NPCs, animals, the helicopter and Bradley, resistances, craft and research refunds, loot luck, healing, and stranger ones like reflecting melee damage or hitting harder at night.
96 relics ship across 8 sets and 6 rarities. A forge fuses three relics into the next rarity, enchants them to level 10, rerolls a single affix and salvages the rest into dust. A codex tracks what has been found on the server, who found it first and where the missing ones drop, and a mastery tree turns relic activity into permanent passive bonuses.
And there is a black market. A broker hides near a monument and moves every couple of hours: he buys the relics you do not want, sells a rotating table with a sealed crate for the gamblers, and runs a consignment stall where players sell to each other at their own price. Relics can also leave the bag as real items to trade, vend, stash or lose on death.
| Works on Oxide and Carbon | Needs CrashExtensions (included in the zip) |
|---|---|
| 96 relics, 8 sets, 6 rarities | English, Spanish, Portuguese and Russian built in |
Jump to: Features · How it plays · Screenshots · Included relics · Commands · Permissions · Install · Configuration · FAQ · API
Features
For players
- A reveal for every find. Unwrapping a crate opens a full-screen appraisal with rays, stamps and a wax seal for the rarest relics.
- 96 relics, 8 sets, 6 rarities. Each relic rolls its own affixes, and a set of 2 or 3 pieces adds a bonus on top.
- 40 passive affixes. Gather yields, damage against players, NPCs, animals, the helicopter and Bradley, resistances, craft and research refunds, loot luck, healing, thorns, night damage and more.
- 13 active abilities. One bindable key, a radial wheel when two or more are equipped, and a cooldown per relic.
- The forge. Fuse three relics into the next rarity, enchant to level 10, reroll a single affix, or salvage the rest into dust.
- A codex. Every relic on the server: who found it first, what it rolls and where it drops.
- A mastery tree. Mastery levels buy permanent passive bonuses.
- A black market. A broker who buys relics, sells a rotating table and runs a player consignment stall.
- Relics as real items. TAKE OUT turns a relic into an item you can trade, vend or stash. Unwrapping it puts that exact relic back.
- A HUD tray. Above the hotbar, with every equipped relic and its ability cooldown, and every player can move it.
For server owners
- Slots as a VIP hook. Everybody starts with 3 equipped slots and a permission raises the cap to 6. Locked slots show in the bag as an upsell.
-
In-game editor.
/relics adminedits every relic in game, so nobody has to touch a file. - Your economy. The black market trades in scrap, Economics or ServerRewards, and the forge runs on dust that players earn by salvaging, so no economy plugin is needed. When Economics or ServerRewards refuses a payment, the relic stays with the player.
-
Sell crates.
relics.givecrateis made for your shop or Tebex. - Death modes. Keep everything (the default), lose durability, or drop the equipped or all relics into the corpse.
- Everything is a switch. Every drop chance, every affix, every animation and every sound can be tuned or turned off.
- Safe player files. A player file the plugin cannot read is left exactly as it is and never written over, and nothing can be added to that player's bag until you restore it.
- 4 languages. English, Spanish, Portuguese and Russian are built in, every text and all 96 relics included, and each player sees the language of their own game.
- Wipe your way. One config switch wipes every bag on a new map save. It is off by default, so relics carry across wipes.
For developers
-
Hooks and an API.
OnRelicObtained,OnRelicActiveUsedand theRelics_*calls: give relics and crates, read a modifier, add dust, open the market. See the API. - Console and RCON commands. The give commands and the broker calls run from the server console, which is where your shop, quests and NPC dialogues point.
How it plays
- Find. Sealed crates drop from loot containers, barrels, NPC and animal kills, ore nodes, trees and fishing. Every source has its own chance in the config.
- Unwrap. The reveal shows the relic's name, rarity, rolled affixes and ability.
- Equip. Up to 3 slots (6 with permissions). The affixes apply at once, a set bonus appears at 2 and 3 pieces, and each ability gets its own cooldown.
- Forge. Fuse three relics into the next rarity, enchant to level 10, reroll an affix, or salvage a relic into dust, which pays for the rest.
- Progress. Relic activity earns mastery XP, mastery levels unlock permanent bonuses, and the codex keeps track of every relic found on the server.
- Trade. Sell to the broker, list a relic on his consignment stall, or take it out as an item.
Screenshots
Every screen below is Relics running in Rust.
|
|---|
| The relic bag: equipped slots, abilities and the totals from every relic |
|
|
|---|---|
| A mythic reveal | The forge |
|
|
|---|---|
| The codex | The mastery tree |
|
|
|---|---|
| The broker's table | Selling to the broker |
|
|
|---|---|
| The consignment stall | The relic editor (admin) |
|
|---|
| The HUD tray above the hotbar |
Included Relics
Eight sets of ten relics, plus 16 old-world oddities that belong to no set:
- Miner's - 2 pieces: +8% ore yield. 3 pieces: +10% instant mine chance
- Hunter's - 2 pieces: +8% animal harvest. 3 pieces: +15% damage vs animals
- Warden's - 2 pieces: +4% bullet resistance. 3 pieces: +10% melee resistance
- Raider's - 2 pieces: +6% explosive resistance. 3 pieces: +6% free upgrade chance
- Scavenger's - 2 pieces: +5% loot luck. 3 pieces: +8% craft refund chance
- Alchemist's - 2 pieces: +10% healing bonus. 3 pieces: +20% bleeding resistance
- Nomad's - 2 pieces: +20% fall damage resistance. 3 pieces: +15% cold resistance
- Sentinel's - 2 pieces: +8% damage vs NPCs. 3 pieces: +10% headshot damage
A few of the legendaries and the rarest:
- Heart of the Quarry (Legendary, Miner's) - Quake: every ore node around you is emptied straight into your inventory
- Alpha Skull (Legendary, Hunter's) - Thunderclap: slams every NPC and animal around you
- Raid King's Crown (Legendary, Raider's) - Warcry: you and the teammates near you hit harder for a while
- Midas Scrap Heart (Legendary, Scavenger's) - Magnet: pulls the loose items around you into your inventory
- Void Shard (Mythic, Sentinel's) - Aegis: a shield that cuts incoming damage. "It does not reflect light. It keeps it."
Yours to change: all 96 live in
oxide/data/Relics/templates.json, plain JSON, and the in-game editor writes the same file. An update only ever adds new relics to it and never touches the ones you edited.
In-Game Editor
No file editing needed. /relics admin opens every relic in a searchable list and an editor for its name, rarity, set, ability, affix pool and drop sources, with a preview of its reveal. Duplicate a built-in relic to start a new one.
Who can open it: players with
relics.admin, and server admins always.
Commands
Players
- /relics - open the relic bag
- /relics forge, /relics codex, /relics mastery - open the forge, the codex or the mastery tree
- /relics hud, /relics hud move, /relics hud reset - show or hide the HUD tray, drag it anywhere on screen, or put it back where the server default is
- /relics use - use your active ability
- /relics help - the command list in chat
-
relics.use - the same as
/relics use, as a console command on purpose so players can bind it:bind f relics.use(one ability: the key fires it; two or more: a wheel opens), or fire one directly withbind g "relics.use Quake"
Admin
- /relics admin - the in-game relic editor
-
relics.give <player> <id | rarity | random> [minRarity]- give a specific relic, a random one of a rarity, or a random one -
relics.givecrate <player> [minRarity] [amount]- give sealed crates, the one to point your shop or Tebex at -
relics.dust <player> <amount>- give or take forge dust, offline players included -
relics.masteryxp <player> <xp>- give mastery XP, offline players included -
relics.templates.reset confirm- rewrite the relic file from the 96 built-in relics -
relics.wipe confirm- delete every player bag, the codex and the black market -
/relics broker where | tp | move | open | restock | add | list | remove | clear- find, move, open or restock the broker and pin his hiding spots -
relics.bm.open <steamid> [buy | sell | consign]andrelics.bm.rumor <steamid>- console and RCON calls for NPC dialogues and other plugins
The give commands run from the server console and RCON as well. <player> is a SteamID64 or the exact player name.
Permissions
- relics.use - find, open and equip relics. Required: without it a player is not in the system at all, so grant it to your default group
- relics.forge - fuse, enchant and reroll. Salvage and repair stay free
- relics.admin - the in-game editor and the give and wipe commands. Staff only
- relics.slots.4, relics.slots.5, relics.slots.6 - raise the equipped slot cap. Everybody starts at 3, and the highest one a player holds wins
- relics.market.vip - 5 consignment stall slots instead of 3
Locked slots show in the bag as a VIP upsell, and the stall takes any extra slot permissions you add in the config.
A typical setup opens everything to everyone and keeps the extra slots for your VIPs:
oxide.grant group default relics.use oxide.grant group default relics.forge oxide.grant group vip relics.slots.5 oxide.grant group vip relics.market.vip
Install
-
Install the extension, once per server. Stop the server, copy
Oxide.Ext.CrashExtensions.dllintoRustDedicated_Data/Managed(Carbon:carbon/extensions) and start it again. The console printsLoaded extension CrashExtensionswith its version. An older copy of the DLL is simply overwritten: it is one shared file for all our plugins. -
Install the plugin. Copy
Relics.csintooxide/plugins(Carbon:carbon/plugins). It compiles on its own and creates its config, data and language files. -
Grant the permissions above. Nobody finds or equips a relic until
relics.useis granted. Then open/relics adminand tune the rest in game.
Plugin does not compile? The extension is missing or too old: check the folder and restart again. On a hosting panel, upload the DLL with the file manager or SFTP, and keep a copy in case the panel resets that folder on an update.
Updating from an earlier Relics? Replace
Relics.cs. Your config,templates.json, the codex, the black market and every player's bag load as they are. The extension in the zip is the current build: copy it over the old one and restart once. Back upoxide/config/Relics.jsonandoxide/data/Relicsfirst.
Configuration
Everything lives in oxide/config/Relics.json. The 96 relics are in oxide/data/Relics/templates.json, each player's bag in oxide/data/Relics/players, and the codex and the black market in oxide/data/Relics/global.data.
Config sections (click to expand)
- General - slots, what happens to relics on death (KeepAll, LoseDurability, DropEquipped or DropAll), taking relics out as items, bag capacity, the enchant bonus, the crit multiplier and the rarity announced in chat
- Rarities - names, colours, affixes per tier, drop weights, salvage dust and every forge cost and success chance
- Affixes - all 40, each with its roll range, a cap across every equipped relic and an on/off switch
- Active abilities - all 13, each with its cooldown, duration, radius and power
- Sets - what the 2 and 3 piece bonuses of every set give
- Drops - crate chances per loot container, barrel, NPC, animal, ore node, tree and fish, plus the crate item and its skin
- Forge and Mastery - salvage and enchant rules, the level cap, the XP curve, what every activity awards, the respec cost and every node's value
- HUD - position, offset, the set chip, the found-a-relic toast, and messages on screen, in chat or both
- Black Market - currency, prices, markup, table size, restock time, the sealed lot, the wanted set, the consignment cut and durations, stall slots, how often he moves, where he may hide and his outfit
- Animations and Sounds - every effect and every sound on its own switch
FAQ
Q: I run Relics. What changes when I update?
A: Replace Relics.cs and, if you update the extension too, restart once. Your config, relic file, codex, black market and every player's bag load as they are.
Q: Can relics be traded or stolen?
A: Yes. The consignment stall lets players sell relics to each other through the broker, and TAKE OUT turns a relic into a real item: trade it, vend it or keep it in a box, where it can be raided like anything else. Unwrapping it puts that exact relic back, and a copied item can only be claimed once. Nothing is lost on death by default; the DropEquipped and DropAll modes drop relics into the corpse.
Q: Does this change vanilla gear balance?
A: No. Relics are their own items in their own bag. They never touch weapons, armour or any vanilla item.
Q: Do I need an economy plugin?
A: No. The forge runs on dust, earned by salvaging relics, and the black market trades in scrap. Economics or ServerRewards take one config line. If the economy plugin refuses a payment, the sale or the collect does not go through and the relic stays with the player.
Q: Do I need NpcDialogue?
A: No, it is optional. With NpcDialogue installed the broker talks through the vanilla conversation screen first. Without it, pressing E on him opens the market directly.
Q: Is it pay to win?
A: Your call. The natural VIP hook is slots: everybody plays with 3 and a rank raises the cap to 6. You can also sell sealed crates in your shop with relics.givecrate, sell the forge, or keep it all free.
Q: Will it survive a wipe?
A: Your choice. A config switch wipes every bag on a new map save. It is off by default, so relics carry across wipes.
Q: What happens if a player's file is damaged?
A: After a crash or a full disk a player file can come back unreadable. The console says so, Relics leaves the file exactly as it is, and that player plays on an empty bag that is never saved: nothing can be added to it, crates and relic items stay in the inventory, and the broker charges nothing. Restore the file (a backup, or the leftover .TMP Windows can leave beside it after a crash) and have the player reconnect. The README in the zip has the steps.
Q: How heavy is it?
A: Built for high population servers. The panels only send what changed, saves are spread across frames, and the combat and gathering bonuses step aside for players who carry no relic for them. Every animation plays once per action and none of them loops.
Q: Does it contact any outside service?
A: Only to download its pictures (about 250 small images, the relic art included) once from rust-cui.crashplugins.space, which your server then caches. Nothing about your server or your players is sent.
Q: Can I translate it?
A: It already speaks four: English, Spanish, Portuguese and Russian are built into the plugin, every text and all 96 relics included, and each player sees the language their game runs in. For another language, copy oxide/lang/en/Relics.json to oxide/lang/<code>/Relics.json and translate it: it lists every key, the relics included.
Q: Does it work on Carbon?
A: Yes. The extension goes into carbon/extensions instead of RustDedicated_Data/Managed, and everything else is the same.
API / Hooks
// Hooks
void OnRelicObtained(BasePlayer player, string templateId, int rarity)
void OnRelicActiveUsed(BasePlayer player, string activeId)
// API: Relics?.Call<T>("Method", ...)
// ids as ulong: (ulong)player.userID (player.userID alone returns null)
// Relics_AddDust takes a long: 100L (an int returns null)
// The give calls and AddDust return false when nothing was given or added:
// the bag is full, the player's file could not be read, or dust would pass its cap
bool Relics_GiveRandom(ulong userId, int minRarity = 0, string source = "Api")
bool Relics_GiveTemplate(ulong userId, string templateId)
bool Relics_GiveCrate(ulong userId, int minRarity = 0, int amount = 1)
float Relics_GetModifier(ulong userId, string affixId)
long Relics_GetDust(ulong userId)
bool Relics_AddDust(ulong userId, long amount)
int Relics_GetEquippedCount(ulong userId)
string Relics_GetActiveSet(ulong userId)
bool Relics_OpenBlackMarket(ulong userId, string tab = "buy")
Vector3 Relics_GetBrokerPosition()
Questions, ideas or bug reports? Use the Support tab of this file or join our Discord.











