--- import Base from '../../layouts/Base.astro'; import PageHeader from '../../components/PageHeader.astro'; import GameFeatures from '../../components/GameFeatures.astro'; import platform from '../../data/platform.json'; import { features, staffFeatures } from '../../data/games/rust.mjs'; import { assertGameCoverage } from '../../data/games/index.mjs'; /** * `/modules/rust/` — PLAN.md §16, phase 17. * * The Rust module's own page, in Rust's words (D63; `GAME_ROUTES` in `checkTerms.mjs`). The * lists are `games/rust.mjs`, written from the Rust docs group that phase 15 walked, and the * call below holds them to the capabilities `Module-Rust` declares — the page-side half of * the coverage assertion phase 13 moved here. * * It carries the RunicNPC card D61 asked for, pointing at the standalone `/runicnpc/` page. * * No screenshots yet, and no slots for them: D65 brings the Rust captures in phase 18, from * the rigs, and D4 rules out a placeholder in the meantime. */ assertGameCoverage('rust'); const rust = platform.games.rust; const pieces = [ { role: 'The module', name: rust.module.repo, version: platform.releases['Module-Rust'], what: 'Every Rust screen on the site, installed from Admin → Modules.', }, { role: 'The sidecar', name: 'rust-link', version: rust.bundle.sidecar, what: 'One beside each server, and the only part of the bridge that listens on a network.', }, { role: 'The bridge plugin', name: 'RunicGateway.cs', version: rust.bundle.plugin, what: 'One file that runs unchanged on Oxide and Carbon, plus its optional helpers.', }, { role: 'NPCs', name: 'RunicNPC', version: rust.bundle.runicnpc, what: 'Our NPC plugin, which the bridge drives for every NPC an event places.', }, ]; const title = 'The Rust module'; const description = 'What the Rust module adds to a Runic Gateway site: every server live, the kill feed, ' + 'leaderboards per wipe, the live map, Steam linking, and permissions, mod config and events run from the site.'; ---

The rust module turns a Runic Gateway site into a Rust community’s site. It follows any number of servers, each running Oxide or Carbon with a sidecar of its own, and keeps what each one tells it after the wipe has taken it from the game.

The server side is installed as one bundle — {rust.bundle.tag}, speaking protocol {rust.protocol} — with the installer, from a Pterodactyl egg, or by hand. It needs Oxide {rust.bundle.oxideMin} or Carbon {rust.bundle.carbonMin} or newer, and the uMod plugins {rust.bundle.requiresPlugins.join(' and ')}.

The pieces

Also from this project

RunicNPC

Our own NPC plugin for Rust: NPCs where you want them, with the kit, health, aim and behaviour you give them — roamers, sentries, guards, quest-givers and bosses with phases. On a Runic Gateway server it is required and the site authors its profiles; on any other Rust server it runs on its own, with /rnpc commands and an API for other plugins.

Setting it up

The documentation’s Rust group starts from installing the bridge and covers every admin screen the module adds, with the reference for each file it reads.