In-game UI

Design the Rust in-game UI (welcome panel, server panel, info menu) your players open with /info, /store or /kit, with presets, menus, per-server changes, drafts and live publishing.

Control Center (Rust) 13 min read

The in-game UI is the window your players open in Rust with a chat command (/info, /wipe, /store, /kit…): what other tools call a welcome panel, server panel, info panel, info UI or in-game menu, all in one. It shows your server's info, wipes, rules, account linking, store, kits and your own pages. You design it in Servycore and publish it live, in one click.

It needs the Servycore In-game UI plugin on the server (Oxide or Carbon). With host access to the server (Pterodactyl, Pelican, WISP, AMP or SFTP), install it in one click from the server's Plugins & Groups page or its In-game UI tab.

Facepunch only allows an in-game UI on servers listed Modded. Oxide and Carbon list your server as Modded by default; if you set "Modded": false (Oxide) or "IsModded": false (Carbon), Servycore switches the menu off and tells you why.

Presets

A preset is a whole menu: its look, its navbar and its pages. Create and edit them in Control Center > In-game UI.

  • Pages: every menu has the built-in pages Home, Wipes (countdown to the next wipe, coming wipes, the Facepunch forced wipe), Account linking (what the player linked, and a QR code to your link page), Servers (your network with players and a copyable connect command) and Links (a QR code and a copyable address each). They cannot be removed: hide the ones you do not want with the eye. Add as many custom pages as you like (headings, text, images, links) up to 16 pages in all.
  • The Pages tab lists them all with their commands, grouped by menu; click a page to edit it on its own, with the preview next to it.
  • Menus: a preset starts with one menu. Click + New menu to make others (up to 6, all with the same look), and pick each page's menu in its settings: a page shows the tabs of the pages of its menu only. Your /info menu can hold the server pages while /store opens a Shop menu with the Store and the Kits. Pick No menu: opens alone for a page players open only with its command (/leaderboard for the leaderboard): it shows without tabs, over the whole window. A menu with a single page shows no tabs either. Removing a menu sends its pages back to the first one.
  • Chat commands: each page has its own, up to 6 (/wipe, /wipes…; the linking page opens with /link and /accounts, and the Servycore linking plugin still syncs the account on /link). Type one and press Enter to add it; the × removes it. They all open the same menu on that page. A hidden page has no command.
  • Look: thirteen ready-made looks (Outpost, Midnight, Moss, Ember, Violet, Arctic, Crimson, Toxic, Desert, Ocean, Gold, Rose, Steel), then every colour, the title, the navbar (tabs on top or a side bar) and the shape of the panels (rounded, bevelled or sharp). Cards and tabs light up under the mouse.
  • Logo: upload it on the Look tab (PNG, JPG or WebP, 2 MB at most; a PNG with a transparent background looks best), or click Use the website logo. It shows in the header, the home banner and the middle of the QR codes. A new preset starts with your website's logo.
  • QR codes: in your theme's colours with your logo in the middle, or plain black and white without a logo. Both scan with any phone.
  • What players get: a home banner with your logo, a heading, a tagline (EU · 2X · Solo…), the players online and a countdown to the next wipe, your welcome text with buttons to other pages, and an optional featured card (your store, your kits, an event…) that opens a page of the menu, or a link with a big QR code; the wipes as a month calendar (this month and the next two); the account linking page with the player's Steam avatar, each account with its status and each linking reward (write what each reward gives), updated live while the page is open: an account linked on your website shows within seconds; link cards that open a window with a big QR code and the address already selected (Ctrl+C copies it); custom pages with cards, numbered lists (rules, steps) and two columns. A new menu starts with a list of usual rules to adjust.
  • Settings: open the menu at the player's first connection, at every connection, or never; the page shown first.

Line breaks in your texts show in game (press Enter, or type \n). Texts can use {server.name}, {server.players}, {server.max_players}, {server.map}, {server.connect}, {wipe.next} and {player.name}.

Store

The Store page (/store, /shop) shows your website's store (Tebex or PayNow): categories, products, prices and sales. Players click a product to get its page: a QR code to scan and the address selected, ready for Ctrl+C. Nothing is bought in game.

Leaderboard

The Leaderboard page (/leaderboard, /top, /stats) shows the top 10 players of the server's current wipe and each player's own rank, kills, deaths and K/D, with a link to your website's leaderboard. It needs the leaderboard switched on for the server.

News

The News page (/news) shows your 4 latest blog posts; players click one to get its address (QR code, address selected).

Kits

The Kits page (/kit, /kits) lists your kits (up to 24); players claim one in the menu, or from the chat with any command of the page followed by the kit's name (/kit starter, /kits starter). For each kit: name, description, a category, the items in the belt, clothing and inventory slots, a cooldown, how many times per wipe, how long it stays locked after each wipe (a strong kit closed for the first hours), and who may claim it. Hidden kits stay claimable from the chat (/kit <name>).

Who may claim a kit: players in one of its Oxide / Carbon groups (your VIP group, for example) or who have its permission; leave both empty for everyone. The permission takes any name, like the Kits plugin: keep kits.vip and players who have it keep the kit. For a kit that rewards linking, make a linking command add the player to a group (oxide.usergroup add {SteamID} discord, on the server's Linking page) and pick that group. A short message tells the other players how to get it ("Get VIP on our store"). A sentence under the settings sums the rule up.

  • Categories: give kits a category (Weapons, Building, VIP…) and players filter them with tabs: All, then each category. Without categories, the tabs sort the kits by who may claim them.
  • Import their inventory: put the items on your character in game, pick yourself in the list, and the kit is filled with your inventory (weapons keep their attachments and ammo).
  • Import from the Kits plugin: brings the kits of uMod's Kits plugin, see Coming from the Kits plugin below.
  • Live or Draft: each kit has a status, switched on its card or at the top of its page. A Draft kit stays in your menu but players never get it, even after you publish: it is not in the menu and only admins can claim it, to test it in game (Rust's owners and moderators, and anyone with servycoreingameui.admin). Make it Live when it is ready, then publish. A kit players do not have is shown in red: in Draft, Not published yet, or Admins only; Unpublished changes (amber) means players still have the version you published last.
  • Make it in game: an admin types /kit create <name> (or /kit add, /kit new, with any command of the page: /kits create <name>) with the kit's items on them. The kit joins the menu's draft with that inventory, in Draft: players never get it before you set who may claim it, make it Live and publish. /kit edit, /kit remove and /kit delete remind admins that kits are changed here. Rust's owners and moderators may use it, and anyone you give servycoreingameui.admin. If the server changed its Kits page for itself, the kit goes to that server's draft.
  • The Servycore In-game UI plugin keeps the cooldowns, resets them at each wipe and gives the items itself, each in its slot as shown in the menu (an item whose slot is taken goes to another free slot of the same belt, clothing or inventory).

Coming from the Kits plugin

The menu replaces uMod's Kits plugin: both are not meant to run together. Move your kits once, then remove Kits.

  1. Open the Kits page of your preset and use Import from the Kits plugin:
    • Read them on a server: Servycore reads the Kits files with the server's host access;
    • or Upload kits_data.json: the file is oxide/data/Kits/kits_data.json (carbon/data/Kits/kits_data.json on Carbon). Upload Kits.json of oxide/config (carbon/configs) with it to bring the post wipe cooldowns.
  2. Each kit comes with its items (weapons with their attachments and ammo), description, cooldown, uses per wipe, post wipe cooldown, hidden setting and permission (kits.vip stays kits.vip: players who have it keep the kit). Kits the page already has (same name) stay as they are, so importing again only adds the new ones. The sample kit of a new menu makes way for yours.
  3. A box above the list tells you what to check:
    • kits that Kits kept for admins (auth level) or sold (scrap, Economics, ServerRewards) come for admins only until you choose who may claim them: the menu does not sell kits, sell a permission on your store instead;
    • auto kits given on respawn and CopyPaste buildings are not carried over.
  4. Check the kits, show the page and Publish, then remove Kits from each server's Plugins & Groups page. Its data and config stay on the server.

Commands another plugin has

The menu answers its chat commands before any plugin: when another plugin has the same one (/kit of the Kits plugin, /info of a welcome panel), that plugin no longer gets it. The editor flags such a command in amber, on the page and in the page list, with the plugin and the servers concerned (the Servycore In-game UI plugin sends the commands of your other plugins, so you know before you publish), and the preset and the server's tab explain what to do: remove that plugin if the menu replaces it, or take the command off the menu to give it back. In game, an admin who types such a command is told once. Servycore's own plugins share theirs on purpose: the linking plugin still syncs the account on /link, and the leaderboard plugin keeps collecting the stats while the menu's Leaderboard page answers /top and /stats.

One menu, every server

Pick the preset on each server's In-game UI tab. The data follows the server: one preset shows each server its own wipe dates and name.

To change something for one server only (a colour, a page, a page that only exists there, the order), use Change for this server; the eye hides a page on this server, or shows there a page the preset hides. Everything you did not change keeps following the preset; Reset to preset takes a change back. Save as preset turns a server's menu into a new preset.

Control Center > Groups & configs > Copy to… and Start from also copy the menu, as a draft.

Chat in game

The Chat in game card sets how every Servycore message looks in the Rust chat, on all your servers: the menu's messages, automations, announcements and the wipe countdown. It is on the Look tab of the In-game UI, on Automations and on the In game tab of a server's Wipes: the same setting wherever you change it.

  • Chat icon: Rust shows the Steam avatar of an account next to each message, never an image. Make a Steam account for your server with your logo as its avatar, and paste its SteamID64 or its steamcommunity.com/profiles/… link; its avatar shows on the card. Empty: Rust's own icon.
  • Server's name before them: the title of each server's menu (its name by default) in the menu's accent colour.

It needs the Servycore In-game UI plugin on the server; without it, messages keep Rust's look. With it, an automation can also write to the player only (the Welcome message preset does).

Draft and publish

You always edit a draft: players keep the published version until you click Publish. The servers get it within seconds. History lists the published versions, 10 per page: put one back in the draft, or publish it again at once. The 50 latest versions are kept.

The live preview next to the editor draws the same data as the game.

Good to know

  • Players close the menu with the X or by clicking outside it. The Escape key opens Rust's own menu and does not close it.
  • The mouse wheel does not scroll inside a Rust menu: long pages show a scroll bar to drag.
  • With more tabs than the window holds, arrows on each side open the page (or category) before and after: the tabs move one at a time. The side navbar scrolls instead.
  • A kit or a product opens on its own screen: the button at its top left (Kits, Store…) goes back to the list. Link windows close with their cross or a click beside them.
  • A server cannot open the player's browser: links are QR codes to scan with a phone, and addresses players can select and copy (Ctrl+C).
  • When another plugin uses the same chat command, the menu takes it and the editor tells you which plugin lost it (see Commands another plugin has above).

Plans

The in-game UI is in every plan, with every page: home, wipes, account linking, kits, servers, links, rules and your own pages. A page that shows a feature of your plan follows it: the Leaderboard page needs the leaderboard (from Basic), the Store page your website's store and the News page its blog; without it, players do not get the page and the editor marks it "Not in your plan". On the Free plan the menu shows a small "Powered by Servycore.io" at its bottom right; from Basic you can hide it (Settings tab).

Plugins and Files See loaded and failed plugins, search, install and update uMod and Codefling plugins in on... Control Center (Rust) 4 min read
Auto-wipe system Schedule your wipes with rules, follow the forced wipe, skip or change one wipe, simulate,... Control Center (Rust) 5 min read
Several Servers: Groups and Migrate Group your Rust servers, copy a wipe schedule, a listing or automations to other servers,... Control Center (Rust) 3 min read