JeffG's Wishlist
-
Info Messages (AdvertCycler)
AdvertCycler lets you create a rotating list of on-screen info messages (“adverts”) that display to players without spamming chat. It’s a clean, unobtrusive alternative to chat-based announcers, and the positioning is designed to remain consistent across different screen resolutions and UI scale settings.
Messages cycle on a configurable timer, either in order or randomly. You can fine-tune how the message looks and where it appears using:
Preset alignment modes (Bottom Center / Bottom Left / Top Center / Top Right) Horizontal + Vertical offsets (with small/big nudge controls for precise positioning) Max text line width Font size Optional text outline with configurable color (quick-pick color swatches in the UI)
Admin UI (Instant Apply)
AdvertCycler includes a built-in admin UI for live editing and previewing changes in real time:
Toggle the plugin on/off Adjust interval, alignment, offsets, width, and font settings Enable/disable outline and pick outline color Choose whether the advert displays on Overlay or Hud Manage the message list: Add / Edit / Delete Reorder messages (move up/down) Paging for large lists All changes apply instantly, so you can visually tune placement and style while in-game.
Permissions
advertcycler.admin - Grants access to the admin UI and allows editing of all AdvertCycler settings and messages.
advertcycler.view - players/groups with this permission will be shown the advert messages.
Chat Command
/adverts - opens the editor UI
Config Example
{ "AdvertCycler": { "Enable Plugin": true, /Can disable globally from config if needed for whatever reason. "Update Interval (seconds)": 30, /How often the message should change "Message Alignment (BottomCenter/BottomLeft/TopCenter/TopRight)": "BottomLeft", /Base position where the messages should appear "Message Max Width (pixels)": 300, /Maximum line width for text. Anything beyond carries on new line "Vertical Offset (pixels)": 10, /Fine Up and Down adjustment of text position "Horizontal Offset (pixels)": 2, /Fine Left and Right adjustment of text position "Enable Text Outline": true, /Enable or disable text outline "Text Outline Color (HEX)": "#000000", /Color of text outline. Black by default. "Font Size (pixels)": 12, /Text font size "Display as Overlay": true, /Displaying the messages as overlay will allow them to be seen on top of other in game hud screens such as inventory "Randomize Messages": false, /Messages can be displayed at random "Message List": [ "For server info, type <color=#30FEDE>/info</color> in chat.", "There are many different types of PVE enemies. Be careful!" ] } } HTML can be used in messages to modify color in full or partially, example:
For server info, type <color=#30FEDE>/info</color> in chat.
-
Powergrid Stages
Control the power grid stages and recycler settings on your server. By default, the Rust power grid has stages that dictate how many fuses placed in powerplant monument are required to activate different levels of available power on the powerlines. With this plugin, you can easily add, edit, or delete these stages directly from the config file. You can also configure how each recycler type (Green, Yellow, Red) behaves based on the current powergrid stage.
How it works
Open the config file. Under "Powergrid Stages", you can add new stage blocks or edit existing ones. Under "Recyclers", you can configure powergrid-based settings for each recycler type (Green, Yellow, Red). Under "Virtual Fuse Box", you can enable/disable the virtual fuse box feature and customize its commands. Reload the plugin for the changes to take effect. The plugin will automatically sort your configured stages based on the required fuses and apply them directly to the server's power grid .
You can set power to whatever you want, here I set "Powerline Available Power": 500 as an example.
Recycler Powergrid Settings
Configure how each recycler type behaves based on the current powergrid stage. For each recycler type (Green, Yellow, Red), you can control:
Required Powergrid Stage To Operate - The minimum powergrid stage required for this recycler to function. Set to 0 to allow the recycler to work regardless of powergrid state. Required Powergrid Stage For Efficiency Override - The powergrid stage at which the custom recycling efficiency kicks in. Set to 0 to disable the efficiency override. Recycling Efficiency Override - The recycling efficiency when the efficiency stage is reached. Value from 0.0 to 1.0 where 1.0 = 100% resource return. Required Powergrid Stage For Duration Override - The powergrid stage at which the custom recycling duration kicks in. Set to 0 to disable the duration override. Recycling Duration Override - The recycling speed in seconds per cycle when the duration stage is reached. Default behavior (matching vanilla Rust):
Green recyclers — Always usable. At stage 2, efficiency is overridden to 60%. At stage 4, duration is overridden to 4.5s. Yellow recyclers — Always usable. No powergrid-based overrides. Red recyclers — Requires powergrid stage 4 to operate. No efficiency/duration overrides.
Chat Commands
/recyclerinfo - Look at a recycler and use this command to see its type (Green/Yellow/Red), current powergrid stage, and all powergrid-related config values applied to it. Useful for verifying your configuration is working correctly. Requires permission: powergridstages.recyclerinfo /fusebox or /fb (or your custom alias) - Opens the virtual powergrid fusebox UI. Requires permission: powergridstages.fusebox /fusebox reset [1/2] - Admin command to instantly clear and reset the virtual fuseboxes. Requires Admin privileges.
Useful Rust ConVars & Commands (Note: These are existing Rust convars and commands, not part of this plugin)
powergrid.enabled - If disabled power grid functionality will be disabled. powergrid.status - A console command provides information about the current state of the server's power grid, including the active progression stage, the number of inserted fuses, and the total available electrical power. (This is a good place to go to verify the plugin applied changes properly) powergrid.simulatepowerplantfuses - Pretend there are this many additional heavy fuses currently plugged into the power plant. Can input negative numbers to negate the effect of any currently plugged in fuses.
Default Config
{ "Virtual Fuse Box": { "Enabled": false, "Command": "fusebox, fb" }, "Enable Powerline Stage Mode": true, "Powergrid Stages": [ { "Required Fuses": 1, "Powerline Available Power (Only used if Powerline Stage Mode is enabled)": 15 }, { "Required Fuses": 4, "Powerline Available Power (Only used if Powerline Stage Mode is enabled)": 18 }, { "Required Fuses": 10, "Powerline Available Power (Only used if Powerline Stage Mode is enabled)": 24 }, { "Required Fuses": 18, "Powerline Available Power (Only used if Powerline Stage Mode is enabled)": 30 } ], "Recyclers": { "Green Recycler": { "Required Powergrid Stage To Operate (0 = No Powergrid Required)": 0, "Required Powergrid Stage For Efficiency Override (0 = No Override)": 2, "Recycling Efficiency Override (0.0 to 1.0, 1.0 = 100% Resource Return)": 0.6, "Required Powergrid Stage For Duration Override (0 = No Override)": 4, "Recycling Duration Override in Seconds": 4.5 }, "Yellow Recycler": { "Required Powergrid Stage To Operate (0 = No Powergrid Required)": 0, "Required Powergrid Stage For Efficiency Override (0 = No Override)": 0, "Recycling Efficiency Override (0.0 to 1.0, 1.0 = 100% Resource Return)": 0.0, "Required Powergrid Stage For Duration Override (0 = No Override)": 0, "Recycling Duration Override in Seconds": 0.0 }, "Red Recycler": { "Required Powergrid Stage To Operate (0 = No Powergrid Required)": 4, "Required Powergrid Stage For Efficiency Override (0 = No Override)": 0, "Recycling Efficiency Override (0.0 to 1.0, 1.0 = 100% Resource Return)": 0.0, "Required Powergrid Stage For Duration Override (0 = No Override)": 0, "Recycling Duration Override in Seconds": 0.0 } }, "Version": { "Major": 1, "Minor": 1, "Patch": 1 } }- #powergrid
- #power
- (and 15 more)
-
Global Storage Pro
By imthenewguy in Plugins
Global Storage Pro creates storage for your players that can be access from any global storage container.
Containers will automatically spawn at safe-zone monuments, allowing players to safely store their items.
The plugin will create an instance of storage for each player that loots the box, allowing for multiple players to loot the same global storage chest to manage their own instances of storage.
Monument spawns: Automatically spawns containers at safe zone monuments. These can be repositioned using the gs.setpos command. Map specific spawns: Use the gs.addloc command to create a spawn point for a container that will be based on the map name. Anytime the map with a valid name is loaded, a container will spawn at the specified location. Placeholder spawns: Using RustEdit, placeholder entities can be deployed at specific locations to create automatic spawns for your custom monuments. Deployable containers: Players can be given deployable containers to setup in their bases that access the storage network. Comprehensive white/black list: Have full control over what items can be added to GlobalStoragePro containers based on skin, name, shortname and text fields. Permission based slots and deployments: You can create any number of permissions that will provide more or less storage slots, and deployments of containers. Administrative tool: Access the contents of any players global storage in-game using the gs.view command. Persistent wipe settings: Allow contents of containers to persist between wipes.
Command: gs.givestorage <target> <amount>
Type: Console
Permission: globalstoragepro.admin (or can be run by the server with no perms)
Description: Gives the target player a deployable global storage item.
Command: gs.setpos
Type: Chat
Permission: globalstoragepro.admin
Description: Sets the spawn location for the nearest monument (or monument marker for custom monuments)
Command: gs.addloc
Type: Chat
Permission: globalstoragepro.admin
Description: Adds a spawn location for a global storage chest. The name of the map is captured and put into the config along with the location for future spawns.
Command: gs.openplayerinventory <userid>
Type: Chat
Permission: globalstoragepro.admin
Description: Opens the storage container for the specified userid.
Command: gs.view
Type: Chat
Permission: globalstoragepro.admin
Description: Provides a list of all containers that have contents to the admin, who can then select one to view its contents.
// Adds an item to the target players global storage container void TryAddItemToGlobalStorage(BasePlayer player, Item item, bool notify)
-
Ultimate Quests
UltimateQuests is a quest plugin where the quest is the event. Most quest plugins watch your inventory and tick a counter. Here a step picks a spot on the map, marks it for you, and builds something on it: a patrol helicopter over a cargo drop, six shooters dug in behind a treeline, a shark circling a crate on the seabed. You clear it, take what is inside, and carry it back to the man who sent you.
The zone belongs to the player who took the quest and gets placed the moment they take it, so two people running the same quest are not standing in the same field, and the next player who takes it goes somewhere else. Of the 45 quests in the box, 17 stage a zone like that, two put you on a butchering point you have to hold out in the open, and one hands you loot that anyone who kills you can take off your corpse. The rest is the gathering, crafting and hunting work that feeds them.
All 45 ship with the plugin in English and Russian, laid out in a tree that opens up as players work through it. How they reach a player is your call: quest givers standing at monuments that you walk up to and talk to, or a menu that hands out the same work without a single NPC on the map. Both tracks sit inside ServerPanel as their own category if you run it. Everything after that is yours too: objectives, dialog, rewards, zones, and where the NPCs stand.
🌟 Features of UltimateQuests
Any step can stage its own event: the plugin places a zone, marks it on the map, spawns whatever lives in it and clears the whole thing away when the step ends What goes in a zone: NPC waves built from your own presets, animals, a patrol helicopter, loot containers you fill yourself, and loot that stays locked until the area is cleared or a survival timer runs out Zones place themselves per player and per run. Pick Sea, Land, Beach, Monument or the player's own base, and the plugin searches for a spot that fits near the giver. PlayerBase mode turns the step into a defense, with the crew coming out of the treeline at the player's own walls Two ways to put other players in the way: bounty loot that rides in the carrier's inventory until somebody kills them for it, and butchering points that have to be held for a couple of minutes out in the open 45 quests across three givers, a trader, a farmer and a hunter, written out in English and Russian, laid out in a tree with prerequisites and difficulty where every node reads as available, active, completed, locked or VIP 21 objective types, among them gathering, hunting, fishing, crafting, recycling, card swipes, crate hacks and cargo delivery Two tracks, set by one config field. In Npc mode the givers stand at monuments, the card tells you which grid square to walk to, and a job is offered in a branching conversation and handed in face to face. In Menu mode nobody spawns and the whole thing runs from the panel, quest tree included Either track docks into ServerPanel as its own category, or stands alone on the plugin's fullscreen layout. Four skins in all, fullscreen plus ServerPanel V1, V2 and V4, picked automatically from the template you run A HUD tracker for the current step, plus map markers and in-world waypoints pointing at zones, loot containers and butchering points Rewards as items or console commands, with drop chances, hidden rewards, blueprints, weapon attachments and plant genes Step credit from more than 30 event plugins, so winning Convoy, Caravan, ArmoredTrain or a Raidable Base can finish a quest step Completion logging to console, file, chat and a Discord webhook
🎮 Commands
/quest, /quests – open the quest list /questlist – open the quests the player has already taken /questhud – turn the HUD tracker on or off /uq – admin commands. Run /uq help for the full list: create, quest create, start, move, rotate, save, cancel, teleport, spawn, kill, list, reloadnpcs, complete
🛡️ Permissions
ultimatequests.admin – admin commands and NPC edit mode A quest can also name a permission of its own. Give it any name you like in the profile, and the plugin registers it on load and marks the quest as VIP in the tree for everyone who lacks it.
🏆 Included Quests
Hal Brannigan, Trader – 15 quests. Recovering a sunken shipment, intercepting a rival's cargo, stocking a room and arming the people who guard it. Roy Hatcher, Farmer – 15 quests. Greenhouses, water, chickens and eggs, and the raiders a good harvest brings to the barn door. Wade Kestrel, Hunter – 15 quests. Tracking and butchering game, taking trophies, and running a rival outfit off the delta. Five of them, to show what a quest looks like here:
On the Bottom – Hal marks a dive site within 300 m of where he stands: real seabed, at least eight metres of water. A sealed crate goes on the bottom and a shark circles it. Open it down there, then carry the container back and put it in his hands. Under the Sights – a cargo drop on open ground. Nothing happens until you open the container: that arms the zone, starts a sixty-second clock and calls in a patrol helicopter. The loot stays locked for the whole minute, so you have to live through it before you can take anything. They Found the House – two auto turrets on the safehouse first. Then the zone is placed on your own building, and fifteen seconds later six men come out of the treeline in two waves, three rifles and three shotguns. They spawn no closer than twenty-five metres, so you get to see them coming. The Outfit – a rival crew dug into a twenty-eight-metre patch where the treeline breaks. Six shooters in two waves, spawning around you rather than at the middle of the zone. Their elite crate stays sealed until the last one is down, and crates outside the zone do not count. Rendered Down – three bears off the treeline, twenty animal fat off the carcasses, and then Roy's butchering block: an eight-metre circle you have to hold for two to three minutes out in the open. What comes off it rides home in your inventory, and anyone who kills you takes it. The quests live in data/UltimateQuests/Profiles/*.json, one file per NPC. Edit them, add your own, or delete the lot and start over.
🖼️ Showcase
Npc mode – the givers stand at monuments and hand out work in person
Talking to a quest giver
Fullscreen
ServerPanel V1
ServerPanel V2
ServerPanel V4
Menu mode – nobody spawns and the whole thing runs from the panel
Fullscreen
ServerPanel V1
ServerPanel V2
ServerPanel V4
In both modes – the HUD tracker for the current step
HUD tracker – pages through the quests you have taken
🎥 Video
🗒️ Visual Editor
NPCs are placed in the game, not in a config file. Stand where you want one and run /uq create <name>, then /uq start <id> to enter edit mode and nudge it with /uq move and /uq rotate until it sits right. /uq save writes the spot down as an offset from the nearest monument, so the NPC lands in the same corner of that monument on every map you wipe to.
In-game NPC Editor
⚙️ Web Config Editor
Easily manage your UltimateQuests settings with our web-based configuration editor. This tool allows you to adjust plugin configurations through a user-friendly interface, eliminating the need to manually edit files on your server.
It loads all three UltimateQuests file types: the main config, an NPC profile with its quests, and the stats file. Quests, steps, rewards, dialog trees, event zones, NPC spawns, tree filters, the HUD, markers, restrictions, sounds, logging and the translations each get their own form, so a quest chain can be built without opening a single JSON file.
Web Config Editor
P.S. Join our Discord at https://discord.gg/mevent and request the "UltimateQuests" group for access to the web configuration editor.
🧪 TEST SERVER
Join our test server to view and experience all our unique features yourself!
Copy the IP Address below to start playing!
connect 194.147.90.239:28015
📚 FAQ
Q: Do I have to use the NPCs?
A: No. Quest Mode in the config takes Npc or Menu, and it ships on Menu. On Npc the givers spawn at their monuments, each card in the list shows the grid square to find them in, and taking a job, handing it in, claiming a reward or dropping a quest all have to happen in person. Try it from the menu and the plugin answers "You can only do that in person. Go find the quest giver." On Menu no NPC is spawned at all, the same 45 quests are taken and handed in from the panel, and every giver gets a quest tree button on their card.
Q: Does that change how it sits in ServerPanel?
A: No, both tracks render as a ServerPanel category, and the plugin reads your template to pick the matching layout. The difference is what the cards show: on Npc a location to walk to, on Menu a progress bar and the tree. Without ServerPanel either track opens on the plugin's own fullscreen layout from the chat command.
Q: What happens when ten players take the same zone quest at once?
A: Each of them gets a zone of their own, placed separately, with its own NPCs and its own loot. A zone comes down when its step is finished, when the player abandons the quest, when they disconnect, and when the plugin unloads, so nothing is left standing on the map after the fact.
Q: My NPCs are standing there with no quests. What went wrong?
A: The data folder from the archive did not make it onto the server. The plugin never writes quest content on its own, so copy the whole folder over and the profiles will end up at oxide/data/UltimateQuests/Profiles/*.json (or carbon/data/). A profile file name has to match the NPC name in the config exactly, so if you rename an NPC, rename its file too.
Q: Which other plugins do I need?
A: ImageLibrary for the avatars and quest icons. NpcSpawn if you want hostile waves inside event zones. Without it a zone still triggers, still runs its timer and still locks its loot, there are just no NPCs in it. MonumentFinder for zones and NPCs placed by monument.
Q: How do I add UltimateQuests to the ServerPanel menu?
A: In ServerPanel, create a category with Type: Plugin, Plugin Name: UltimateQuests, Plugin Hook: API_OpenPlugin. The layout is picked from your ServerPanel template on its own (t1 and t1_1 give V1, t2 gives V2, t4 gives V4), and anything else falls back to the fullscreen layout. While that category exists, the chat commands open it instead of the standalone interface.
Q: Players get "The plugin does not work correctly, contact the administrator!"
A: ImageLibrary is not running. Install it, check that it loads with o.plugins, restart the server and read the console for ImageLibrary errors.
Q: I see black images, or error 429 while images load. What do I do?
A: Turn on Enable Offline Image Mode in the config, drop the contents of PluginsStorage into the TheMevent data folder and reload. Your own images go in TheMevent/ as well and are referenced with the TheMevent/ prefix.
Q: Where do I edit the text, or add my own language?
A: oxide/lang/en/UltimateQuests.json (or carbon/lang/en/). The English file maps every key to itself, so it doubles as the translation template: copy it to lang/<code>/UltimateQuests.json and translate the values only. Never touch the keys, that is how the plugin finds your translation. Russian is included. Players on any other client language see the English text.
Q: What can I put in a command reward?
A: Any console command, with %steamid% substituted for the player. That is also how you hand out a rank for finishing a chain, with something like o.grant user %steamid% yourplugin.vip.
🔧 API / Hooks
void OnQuestStarted(BasePlayer player, int npcId, int questId) void OnQuestCompleted(BasePlayer player, int npcId, int questId)
Questions, ideas and bug reports go to our Discord.