About NCP

NCP is a notification system for Rust servers. Your plugins call one method and the player gets a clean toast in the vanilla Rust style: an icon plate, a title, the message and an accent colour per type, sliding or fading in at the corner you choose.
Every notification type has its own screen anchor, colours, icon, sound, timing and animation, and types that share a corner stack instead of overlapping. Four types ship ready (Information, Warning, Error and Success) and you can add as many as you want.
Everything can be tuned without touching a file: /ncp.edit opens an in-game editor with a live preview, and every change applies to all players at once. Notifications never take the mouse, so the map, the inventory and every other window keep working while they are on screen.
| Works on Oxide & Carbon | One .cs file, nothing else to install |
|---|---|
| 4 notification types + unlimited custom | All 13 game UI layers |
Jump to: Features · Screenshots · Live editor · UI layers · Commands · Permissions · Install · Configuration · FAQ · API
Features
For players
- Clean, vanilla-style toasts. An icon plate, a title and the message, with an accent colour per type, at the corner each type is set to.
- Never in the way. Notifications are click-through: the map, buttons and every other window keep working while they are on screen.
- No overlap. Types that share a corner stack in order, each type shows up to its own limit at once and the rest wait in a queue.
- A sound per type. Each type can play its own game sound, heard only by the player who gets the notification.
For server owners
-
Live editor.
/ncp.edit <type>opens an editor with tabs for the basics, the style, the position and the size, next to a live preview. Changes reach every player at once and the save button writes them to the config. - Anchors and stacking. Six anchors (top left and right, bottom left and right, middle left and right), offsets from the corner, and the spacing between notifications and between types.
- Animations. Slide in and out from eight directions (the four sides and the four diagonals) with their own distance and duration, or a native fade.
- Colours with opacity. Background, gradient, icon plate, border, title and text, plus the gradient sprite and material.
- All 13 UI layers. Notifications can draw over or behind the HUD, over the open map and the inventory screens, or only while the inventory, crafting, contacts, clans, tech tree or map is open.
- Unlimited types. Four ship ready and you add your own in the config.
For developers
-
One call.
SendNotifyfor one player (a BasePlayer, a SteamID string or a ulong) andSendNotifyAllPlayersfor everyone, see the API. -
Console and RCON commands.
ncp.playerandncp.allplayerswork from the server console, RCON and other tools.
Screenshots
Every screen below is NCP running in Rust.
|
|---|
| The four default types |
|
|
|---|---|
| The editor with its live preview | Transparency and visual effects |
|
|---|
| Notifications over the open map |
Live Editor
No file editing needed. /ncp.edit <type> opens the editor for that type with a notification preview that updates as you change it: the anchor grid, how many show at once and their spacing, offsets, font sizes, timing, the slide animation, opacity, the container size, the position of the icon, title and message, and the sound. Changes reach every player at once, and the save button writes them to the config.
Who can open it: players with
ncp.edit, and server owners always. Nothing in the editor works for anyone else, even from the F1 console.
UI Layers
UI Layer in the config sets where notifications draw. NCP accepts every layer the game offers.
Always shown
- Hud (default) - over the HUD. It shares the open map's drawing order, so either can end up on top
- Hud.Menu - over the HUD, the open map and the inventory screens
- Under - behind the HUD; the open map and the inventory screens cover it
- UnderNonScaled - like Under, ignoring the player's UI scale setting
- Overlay - over the open map and the inventory screens
- OverlayNonScaled - like Overlay, ignoring the player's UI scale setting
- Overall - above every other layer in this list
Only while their screen is open
- Inventory, Crafting, Contacts, Clans, TechTree and Map - over that screen, so notifications show only while the player has it open
Tip: to keep notifications on top of the open map, pick Hud.Menu, Overlay or Overall. To keep them hidden under it, pick Under.
Commands
-
/ncp.show <type> <message>- show a notification to yourself, to test a type (needsncp.notify) -
/ncp.edit <type>- open the live editor for a type (needsncp.edit) -
/ncp.player <player> <type> <message>- send a notification to one player (needsncp.player) -
/ncp.allplayers <type> <message>- send a notification to every online player (needsncp.allplayers)
All four also run from the server console and RCON, without the slash. <player> is a SteamID64 or a player name, and <type> is 0 Information, 1 Warning, 2 Error, 3 Success or the number of a custom type.
Permissions
-
ncp.notify-/ncp.show -
ncp.player-/ncp.player -
ncp.allplayers-/ncp.allplayers -
ncp.edit- the live editor. Staff only -
ncp.see- seeing notifications, only checked when the config's "Permission" is not empty
Server owners and the console can always use every command. A typical setup gives your staff group the commands:
oxide.grant group admin ncp.notify oxide.grant group admin ncp.player oxide.grant group admin ncp.allplayers oxide.grant group admin ncp.edit
Install
-
Install the plugin. Copy
NCP.csintooxide/plugins. It compiles on its own and createsoxide/config/NCP.json. - Grant the permissions above to your staff.
-
Tune the look with
/ncp.edit <type>in game, or edit the config and reload the plugin.
Updating from 1.4.2 or 1.4.5? Replace
NCP.cs. Your config keeps its values and a UI layer you picked in 1.4.5 carries over. The default Error and Success positions move fully on screen once, only if you never changed them, and since 1.4.4 every command checks its permission, so grant them to your staff.
Configuration
Everything lives in oxide/config/NCP.json, and the live editor changes the same settings in game.
-
Permission - leave it empty and every player sees notifications; set any value to require
ncp.see - UI Layer - where notifications draw, see UI layers
- Config Version - written by the plugin, leave it as it is
- Notification Types - one entry per type number: 0 to 3 ship ready, add 4, 5 and up for your own
Defaults: Information top right (5 s), Warning top right (7 s), Error bottom left (8 s), Success bottom right (5 s).
Settings of each type (click to expand)
- Enabled, Title - whether the type shows, and its title
- Anchor Position - TopLeft, TopRight, BottomLeft, BottomRight, MiddleLeft or MiddleRight
- Max Visible - how many of this type show at once; the rest wait in a queue
- Icon Asset, Icon Background Color - the game icon and its plate
- Background Color, Enable Gradient, Gradient Color, Sprite, Material, Border Color - the card's colours (hex plus opacity) and its look
- Title Color, Text Color, Title Font Size, Message Font Size - the text
- Duration, Fade In, Fade Out - seconds on screen and the fades
- Sound Effect - the game sound played to the player; empty is silent
- X Offset, Y Offset, Spacing, Type Spacing - the distance from the corner, and the gaps between notifications and between types
- Container Width, Container Height, Container X Offset, Container Y Offset - the card's size and a nudge
- Icon, Title and Message Anchor / Offset Min and Max - where the icon, the title and the message sit inside the card
- Enable Slide Effect, Slide Direction, Slide Distance, Slide In Duration - the slide in
- Slide Out Direction, Slide Out Distance, Slide Out Duration - the slide out (None = no slide out)
FAQ
Q: Do notifications block the map or other windows?
A: No. Notifications are click-through: the map can be dragged, zoomed and clicked while they are on screen, buttons behind them included.
Q: Can I keep notifications over the open map, or under it?
A: Yes, with "UI Layer": Hud.Menu, Overlay or Overall keep them on top of the map, and Under keeps them hidden under it. Hud, the default, shares the map's drawing order, so either can end up on top.
Q: Can I add my own notification types?
A: Yes. Copy an entry under "Notification Types" in oxide/config/NCP.json, give it a new number (4, 5, ...) and its own look, then reload. A plugin that asks for a type that does not exist gets type 0's look.
Q: How do my other plugins send notifications?
A: With one call, see the API section below. Any plugin can use it; nothing needs to be installed besides NCP.
Q: Who sees notifications?
A: Every player while "Permission" is empty. Set it to any value and only players with ncp.see get them.
Q: Can players use the commands?
A: Only with the matching permission. Server owners and the console always can.
Q: Does it need a DLL or another plugin?
A: No. NCP is a single .cs file. It needs an Oxide build from the August 2026 update or newer.
Q: Does it contact any outside service?
A: No. It uses the game's own icons and sounds and sends nothing anywhere.
Q: Can the titles be translated?
A: The title of every type is a config value, so write it in your language. The message text comes from the plugin or command that sends it.
API
[PluginReference] private Plugin NCP;
NCP?.Call("SendNotify", player, 0, "Welcome to the server!"); // BasePlayer
NCP?.Call("SendNotify", "76561198000000000", 1, "Low health!"); // SteamID as string
NCP?.Call("SendNotify", 76561198000000000UL, 2, "Access denied."); // SteamID as ulong
NCP?.Call("SendNotifyAllPlayers", 3, "Event starting in 5 minutes!"); // every online player
Types: 0 Information, 1 Warning, 2 Error, 3 Success, or any custom type number from the config.
Questions, ideas or bug reports? Use the Support tab of this file or join our Discord.





