general2811's Wishlist
-
Raidable Bases Mega Pack
Mega Pack Include 200+ bases :
Resort Base design (include Raidable ) https://codefling.com/bases/raidable-premium-resort
Raidable Base Pack 1
https://codefling.com/bases/pack-1-40-raidablebases
Raidable Base Pack 2
https://codefling.com/bases/pack-2-35-raidablebases
Raidable Base Pack 3
https://codefling.com/bases/pack-3-35-raidable-bases-adobecontainer-bases
Raidable Sky Base
https://codefling.com/bases/sky-bases-raidablebases
Raidable Shelters
https://codefling.com/bases/raidable-shelters-40
Raidable Ships
https://codefling.com/bases/pack-4-raidable-ships-20
Raidable Halloween Bases
codefling.com/bases/raidable-halloween-bases
- #raid bases
- #raidable bases
- (and 4 more)
-
XSkinMenu
XSkinMenu - beautiful menu of skins for your server.
- Optimization of the interface for different monitor resolutions.
- Storing player data in - oxide/data/XDataSystem/XSkinMenu
- There is a lang ru/en/uk/es.
- Sound effects when interacting with the menu.
- Setting up item categories.
- Setting skins for each item.
- Blacklist of skins. You cannot change the skin of an item if it has a skin from the black list. [ For example: fire gloves, fire ax ]
- The ability to change skins for items in inventory, when crafting, when removing a skin and on installed items/constructions.
- The ability to change the skin of items/constructions installed by a friend.
- The ability to change the skin on the active item. [ The item the player is holding ]
- Automatic change of skins after entering the player's inventory. [ You can customize skins once and run with them ]
- Ability to change skins for items after the player respawns.
- Ability to display selected skins on the main page.
- The player can customize the menu/skins.
- Custom menu/skins customization by permishenes.
- Console commands for easy setting of items and skins.
- Setting up UI layers for easy interaction with the menu.
- Convenient removal of skins through the UI. [ Both admin and player ]
- Logs for loading/reloading skins in the server console. [ Can be disabled in config ]
- Setting default skins.
When a player enters the server and he is not in the data, the skins specified in the config will be automatically selected for him. You can force the same skins for all players. For example skins of your project. To prevent the player from choosing a different skin, simply do not give permission for it. - Automatic reload of images after wipe. [ To fix a common problem with dark squares in images after a wipe. ]
- The ability to customize Admin/Vip skins. Access to them is by permission only.
[ They are not available to ordinary players. If the player picks up an item with a skin that they don't have access to, the item will simply reset its skin. ]
- The ability to move item skins from regular to VIP, from VIP to regular, etc. in the UI.
- The ability to add/remove collections of skins from the Steam workshop.
- Button to enable/disable UI admin functionality. [ For comfort. ]
- UI button for easy transition from the XSkinMenu menu to the XBuildingSkinMenu menu. [ And vice versa. ]
- Display item/skin pages. [ Can be disabled in the config. ]
- The ability to use skins with a spray can.
- The ability to enable/disable sound effects in the menu.
- The ability to change item skins when picked up by the player.
- The ability to select UI configuration:
Default menu. Comfort menu. Comfort menu. [ + ] - Skin kits. [ Default and personal. ]
- Default kits are customized in the config. Personal kits are created by the player himself. [ Sets can be completely disabled. ]
- Ability to delete personal kits.
- The ability to see all the skins of the kit.
- Three ways to apply skin kits:
Only change the skins in the inventory. Only install skins in the menu. Change the skins in the inventory + Install skins in the menu. - Ability to zoom in on skins. [ It's easy to see the skin. ]
- Displaying the name of skins.
- Skin search. [ Name or ID ]
- Ability to add a skin/collection via UI.
- Item redirection. [ Item -> DLC, DLC -> DLC, DLC -> Item ]
- Ability to allow players to use skins from their Steam inventory if those skins are on the Admin/VIP list.
Permissions
xskinmenu.use - access to the menu. xskinmenu.setting - access to settings. xskinmenu.craft - access to changing the skin when crafting. xskinmenu.entity - access to change the skin of installed items/constructions. xskinmenu.item - access to change the skin on the active item. xskinmenu.inventory - access to change skins in the inventory. [ When the player selects a skin from the menu. ] xskinmenu.give - access to automatically change skins for items that enter the player inventory by any means. xskinmenu.pickup - access to automatically change skins on items picked up by the player. xskinmenu.skinchange - access to skin selection/removal of selected skins. [ On the menu. ] xskinmenu.spraycan - access to the use of skins through a spray can. xskinmenu.playeradd - access to add skin/collection via UI. xskinmenu.defaultkits - access to default skin kits. xskinmenu.customkits - access to personal skin kits. xskinmenu.kitN - number of personal sets. [ Settings in config. ] xskinmenu.adminskins - access to Admin skins. xskinmenu.vipskins - access to VIP skins. xskinmenu.admin - access to admin functionality. Commands
/skin - open the skins menu. /skinkit - open the skin kits menu. /skinentity - change the skin of an installed item/construction. [ The player must approach the object and write a command. ] /skinitem - change the skin on the active item. [ The player must hold the object in his hands and write the command. ] skinimage_reload - reload all images. skinimage_stop - stop loading/reloading images. xskin2 add2 000000 ... - add several(maximum 15) skins, without specifying a shortname. xskin2 remove2 000000 ... - remove several(maximum 15) skins, without specifying a shortname. [ Automatic shortnames detection. ] xskin add <item shortname> <skinID> - add a new skin to the list of item skins. xskin remove <item shortname> <skinID> - remove a skin from the list of skins of an item. xskin list <item shortname> - see a list of item skins. xskin clearlist <item shortname> - clear the list of item skins. xskin_c addcollection 000000 - add a collection of skins from the steam workshop. xskin_c removecollection 000000 - remove a collection of skins from the steam workshop. [ There is a check for repetition and emptiness of lists ] API
private void AddToBlacklist(ulong skinID, string pluginName) - to add the skin to the blacklist. private void AddToBlacklist(List<ulong> skinIDs, string pluginName) - to add a list of skins to the blacklist. Config
{ "Steam settings": { "Steam API Key": "" }, "General settings": { "Generate/Check and add new skins accepted by developers or made for twitch drops": true, "Generate/Check and add new skins added by developers [ For example, a skin for hazmatsuit ]": false, "Propagate blacklisted skins to repair bench": true, "Forbid changing the skin of an item that is not in the config": false, "Change skins to items after player respawns": true, "Enable default skin kits": true, "Enable personal skin kits": true, "1.1 Reset Admin skins from items if they are used by a player without permission": true, "1.2 Do not reset Admin skin if the player has it in the Steam inventory": true, "2.1 Reset Vip skins from items if they are used by a player without permission": true, "2.2 Do not reset Vip skin if the player has it in the Steam inventory": true, "List of commands to open the menu - 1": [ "skin" ], "List of commands to open the menu - 2": [ "skinkit" ], "List of commands to open the menu - 3": [ "skinentity" ], "List of commands to open the menu - 4": [ "skinitem" ], "Blacklist of skins that cannot be changed. [ For example: fire gloves, fire hatchet ]": [ 1742796979, 841106268 ], "List Admin skins": { "rifle.ak": [ 2428514763, 2431899986, 2802928155, 2551895055, 2957212973, 2976404884 ], "smg.mp5": [ 2468526014, 2966579723, 2590028692, 2354313222, 2558124512, 2432107615, 2351278756 ], "metal.facemask": [ 2976455803, 2972755707, 2960187815, 2963852242, 2462021937, 1658894467, 1539950759 ] }, "List Vip skins": { "hatchet": [ 2940068053, 2891473448, 1567848320, 1414450116, 1306286667, 1277610054, 1679923378 ], "pickaxe": [ 2940068876, 1672711156, 1624825406, 2637131316, 2837147224, 2775081117 ], "box.wooden.large": [ 1686318599, 1651859603, 1566044873, 1547157690, 1882223552, 2068573115, 2388451898 ] } }, "Default player settings": { "Change item skin in inventory after selecting skin in menu": true, "Change item skin in inventory after removing skin in menu": true, "Change skin on installed items/constructions [ /skinentity ]": true, "Allow friends to change the skin on items/constructions you installed [ /skinentity ]": true, "Change item skin when it is placed in the inventory by any means": true, "Change item skin only when pickup": false, "Do not reset item skin for which no skin is selected when it enters the inventory": false, "Change item skin when crafting": true, "Use skins with a spray can": true, "Enable sound effects in the menu [ Clicks ]": true, "[ True - Comfort menu | False - Default menu ]": false }, "Default skin kits setting": { "Blackout": { "metal.facemask": 2105454370, "metal.plate.torso": 2105505757, "hoodie": 2080975449, "pants": 2080977144, "shoes.boots": 2090776132, "coffeecan.helmet": 2120618167, "roadsign.jacket": 2120615642, "roadsign.kilt": 2120628865, "roadsign.gloves": 2530894213, "burlap.gloves": 2090790324, "jacket": 2137516645, "rifle.l96": 2473291137, "rifle.ak": 2128372674, "rifle.lr300": 2151920583, "rifle.bolt": 2363806432, "rifle.semiauto": 2267956984, "smg.mp5": 2887642987, "smg.thompson": 2393671891, "smg.2": 2879438786, "crossbow": 2178956071, "bow.hunting": 2192571819 }, "Whiteout": { "metal.facemask": 2432948498, "metal.plate.torso": 2432947351, "hoodie": 2416648557, "pants": 2416647256, "shoes.boots": 2752873720, "coffeecan.helmet": 2503956851, "roadsign.jacket": 2503955663, "roadsign.kilt": 2469019097, "roadsign.gloves": 2469031994 }, "Forest Raiders": { "metal.facemask": 2551475709, "metal.plate.torso": 2551474093, "hoodie": 2563940111, "pants": 2563935722, "shoes.boots": 2575506021, "coffeecan.helmet": 2570227850, "roadsign.jacket": 2570233552, "roadsign.kilt": 2570237224, "roadsign.gloves": 2575539874 }, "Desert Raiders": { "metal.facemask": 2475428991, "metal.plate.torso": 2475407123, "hoodie": 2503910428, "pants": 2503903214, "shoes.boots": 2510093391, "coffeecan.helmet": 2496517898, "roadsign.jacket": 2496520042, "roadsign.kilt": 2496523983, "roadsign.gloves": 2510097681, "rifle.ak": 2525948777, "smg.thompson": 2537687634, "rifle.semiauto": 2522121227 } }, "Permissions settings. Maximum number of personal skin kits": { "xskinmenu.kit12": 12, "xskinmenu.kit9": 9, "xskinmenu.kit6": 6, "xskinmenu.kit3": 3 }, "GUI settings": { "Layer UI - [ Overlay - above inventory | Hud - under inventory (to view installed skins without closing the menu) ]": "Overlay", "Refresh UI page after skin selection": true, "Refresh UI page after skin removal": true, "Display selected skins on homepage": false, "Display button to reset, all selected skins": true, "Display pages": true, "Display the button - Comfort menu [ + ]": true, "Close the menu by tapping on an empty area of the screen": false, "Icon - Kits": "assets/icons/clothing.png", "Icon - XBuildingSkinMenu": "assets/icons/construction.png", "Icon - Zoom": "assets/icons/add.png", "Material_background_0": "assets/icons/greyout.mat", "Color_background_0": "0 0 0 0", "Color_background_1": "0.517 0.521 0.509 0.95", "Color_background_2": "0.217 0.221 0.209 0.95", "Color_background_3": "0.1 0.1 0.1 0.975", "Color_background_4": "0.257 0.261 0.249 1", "Active category color": "0.53 0.77 0.35 0.8", "Inactive category color": "0 0 0 0", "Category button color": "0.517 0.521 0.509 0.5", "Settings buttons color": "0.517 0.521 0.509 0.5", "Button color (icons)": "1 1 1 0.75", "Item/skin block color": "0.517 0.521 0.509 0.5", "Selected skin block color": "0.53 0.77 0.35 0.8", "Active next/reset button color": "0.35 0.45 0.25 1", "Color of inactive next/reset button": "0.35 0.45 0.25 0.4", "Next/reset active button text color": "0.75 0.95 0.41 1", "Text color of inactive next/reset button": "0.75 0.95 0.41 0.4", "Active back button color": "0.65 0.29 0.24 1", "Back button color": "0.65 0.29 0.24 0.4", "Active back button text color": "0.92 0.79 0.76 1", "Back button text color": "0.92 0.79 0.76 0.4" }, "Menu settings": { "Enabled parameter icon": "assets/icons/check.png", "Disabled parameter icon": "assets/icons/close.png", "Enabled parameter color": "0.53 0.77 0.35 0.8", "Disabled parameter color": "1 0.4 0.35 0.8" }, "Category settings - [ Item shortname | Default item skin ]": { "weapon": { "gun.water": 0, "pistol.revolver": 0, "pistol.semiauto": 0, "pistol.python": 0, "pistol.eoka": 0, "shotgun.waterpipe": 0, "shotgun.double": 0, "shotgun.pump": 0, "bow.hunting": 0, "crossbow": 0, "grenade.f1": 0, "smg.2": 0, "smg.thompson": 0, "smg.mp5": 0, "rifle.ak": 0, "rifle.lr300": 0, "lmg.m249": 0, "rocket.launcher": 0, "rifle.semiauto": 0, "rifle.m39": 0, "rifle.bolt": 0, "rifle.l96": 0, "longsword": 0, "salvaged.sword": 0, "mace": 0, "knife.combat": 0, "bone.club": 0, "knife.bone": 0 }, "construction": { "wall.frame.garagedoor": 0, "door.double.hinged.toptier": 0, "door.double.hinged.metal": 0, "door.double.hinged.wood": 0, "door.hinged.toptier": 0, "door.hinged.metal": 0, "door.hinged.wood": 0, "barricade.concrete": 0, "barricade.sandbags": 0 }, "item": { "locker": 0, "vending.machine": 0, "fridge": 0, "furnace": 0, "table": 0, "chair": 0, "box.wooden.large": 0, "box.wooden": 0, "rug.bear": 0, "rug": 0, "sleepingbag": 0, "water.purifier": 0, "target.reactive": 0, "sled": 0, "discofloor": 0, "paddlingpool": 0, "innertube": 0, "boogieboard": 0, "beachtowel": 0, "beachparasol": 0, "beachchair": 0, "skull.trophy": 0, "skullspikes": 0, "skylantern": 0 }, "attire": { "metal.facemask": 0, "coffeecan.helmet": 0, "riot.helmet": 0, "bucket.helmet": 0, "deer.skull.mask": 0, "twitch.headset": 0, "sunglasses": 0, "mask.balaclava": 0, "burlap.headwrap": 0, "hat.miner": 0, "hat.beenie": 0, "hat.boonie": 0, "hat.cap": 0, "mask.bandana": 0, "metal.plate.torso": 0, "roadsign.jacket": 0, "roadsign.kilt": 0, "roadsign.gloves": 0, "burlap.gloves": 0, "attire.hide.poncho": 0, "jacket.snow": 0, "jacket": 0, "tshirt.long": 0, "hazmatsuit": 0, "hoodie": 0, "shirt.collared": 0, "tshirt": 0, "burlap.shirt": 0, "attire.hide.vest": 0, "shirt.tanktop": 0, "attire.hide.helterneck": 0, "pants": 0, "burlap.trousers": 0, "pants.shorts": 0, "attire.hide.pants": 0, "attire.hide.skirt": 0, "shoes.boots": 0, "burlap.shoes": 0, "attire.hide.boots": 0 }, "tool": { "fun.guitar": 0, "jackhammer": 0, "icepick.salvaged": 0, "pickaxe": 0, "stone.pickaxe": 0, "rock": 0, "hatchet": 0, "stonehatchet": 0, "explosive.satchel": 0, "hammer": 0, "torch": 0 }, "transport": { "snowmobile": 0 } } } -
Map Voter and Auto wipe script
🎯 What is MapVoter?
MapVoter is a comprehensive Rust server management plugin that automates the entire wipe cycle - from map generation and community voting to server restarts and updates. Let your players choose the next map while you enjoy fully automated server maintenance.
Perfect for:
- ✅ Community servers wanting player engagement
- ✅ Server owners seeking automation
- ✅ Admins tired of manual wipe management
- ✅ Servers with regular wipe schedules
✨ Key Features
🗳️ Map Voting System
- In-Game UI Voting - Interface for players to vote
- Discord Integration - Vote directly from your Discord server
- Multiple Map Sources - Generate random maps, use RustMaps.com filters, or create custom maps
- Duplicate Vote Prevention - Optional Discord authentication to prevent vote manipulation
🔄 Fully Automated Wipe Management
- Scheduled Auto-Wipes - Set your wipe schedule (weekly, bi-weekly, monthly)
- Forced Wipe Support - Automatically handles Rust's monthly forced wipes
- Custom Wipe Cycles - Define your own map/BP wipe schedules
- Countdown Timers - Players see exactly when the wipe occurs
- Pre-Wipe Voting - Start votes X days before wipe for maximum participation
🗺️ Flexible Map Generation
- Procedural Maps - Generate random maps with custom seeds
- RustMaps.com Integration - Select from thousands of pre-made maps
- Filter Support - Use RustMaps filter IDs to match your server style (staging, etc.)
- Custom Map URLs** - Use your own map files or RustMaps premium maps
- Auto-Generate Custom Maps - Subscribers can auto-generate maps every wipe
🎨 UI Design
- In-Game Interface - Clean voting and admin menus
- Admin Dashboard - Settings GUI for easy configuration
🎁 Fun Kit System
- Pre-Wipe Events - Enable fun kits before wipe to keep players engaged
- Automatic Activation - Triggers X minutes before wipe
- Blueprint Lock - Prevents BP farming during fun kit period
- Kits Plugin Integration - Works with your existing kit setups
🤖 Discord Bot Integration
- Vote Embeds- Discord embeds showing all map options
- Command Support - Admin control from Discord
- Role-Based Permissions - Restrict commands by Discord roles
- Multi-Channel Support - Configure different channels for different commands
- Embed Customization - Add your branding with custom avatars and footers
⚙️ Server Automation
- Auto-Updates - Automatically updates server and Oxide
- File Cleanup - Selectively delete plugin data on wipe
- Server.cfg Management - Automatically updates map seed/size/URL
📊 Advanced Configuration
- In-Game Settings Editor - Change settings without editing files
- Granular Control - Configure every aspect of voting and wiping
- Permission System - Control who can vote and manage
- Debug Logging - Track auto-wipe progress for troubleshooting
- Server Identity Support - Works with multi-server setups
Required Plugins:
- image-library - For displaying map thumbnails
- Wipe Info API - For wipe schedule detection
- Discord Extension - For Discord integration
Server Requirements:
- Windows Dedicated Server, Ubuntu, Pterodactyl Panel, or Open Game Panel
- Administrator privileges for server management
- Standard server structure with `server.cfg` in `/server/{identity}/cfg/`
- Ability to edit server startup command
Optional:
- Kits Plugin - For fun kit feature
- Server Rewards - For vote rewards
- RustMaps Account - For premium map features
🚀 Quick Start Guide
1. Installation
1. Upload MapVoter.cs to /oxide/plugins/
2. Install required dependencies (Image Library, WipeInfoApi, Discord Extension)
3. Restart server to generate configuration file
2. Basic Configuration
Configuration Guide
1. Set your wipe schedule in config (e.g., every 7, 14, 21, 28 days)
2. Configure Discord bot token and channel IDs
3. Set your RustMaps API key (optional)
4. Define your server identity in config
3. Server.cfg Setup
Create/edit your `server.cfg` file in `/server/{identity}/cfg/`:
server.port 28000 server.seed server.worldsize server.maxplayers 100 server.hostname "Your Server Name" server.level "Procedural Map"
4. Test Run
1. Type /mvote in-game to open the menu
2. Generate some test maps
3. Try voting and check results
4. Verify server.cfg updates correctly
🎮 Commands
Player Commands
/mvote - Opens the main voting UI
Permission: MapVoter.vote
/voteresult - Shows current vote results
Permission: MapVoter.vote
Admin Commands (In-Game)
/mvote - Opens admin dashboard
Permission: MapVoter.Manager
/startvote - Starts voting after selecting maps
Permission: MapVoter.use
MapVoter.generate <count> <seed> <duration> - Generate maps and start vote
Permission: MapVoter.use
MapVoter.mapwipe <delay> <size> - Wipe map with new size
Permission: MapVoter.use
MapVoter.mapwipe <delay> <url> - Wipe with custom map URL
Permission: MapVoter.use
MapVoter.bpwipe <delay> <size> - Wipe map and blueprints
Permission: MapVoter.use
MapVoter.bpwipe <delay> <url> - BP wipe with custom map
Permission: MapVoter.use
MapVoter.cancelwipe - Cancel ongoing wipe countdown
Permission: MapVoter.use
MapVoter.stopvoting - Stop current vote
Permission: MapVoter.use
MapVoter.update <delay> - Update server and Oxide
Permission: MapVoter.use
MapVoter.cancelupdate - Cancel update countdown
Permission: MapVoter.use
MapVoter.reload - Reload plugin configuration
Permission: MapVoter.use
Discord Commands
!vote - Show current vote options
!generate <count> <seed> <duration> - Generate and start vote
!mapwipe <delay> <size> - Trigger map wipe
!bpwipe <delay> <size> - Trigger BP wipe
!cancelwipe - Cancel wipe
!stopvoting - Stop voting
!update <delay> - Update server
!cancelupdate - Cancel update
🔐 Permissions
MapVoter.vote - Allows players to vote on maps
MapVoter.use - Basic admin functions (generate, start vote)
MapVoter.Manager - Full admin access to all features
⚙️ Configuration Overview
Auto Vote System:
• Enable/disable auto-voting
• Set days before wipe to start vote
• Define vote start time (24-hour format)
• Number of maps to generate
Auto Wipe System:
• Enable/disable auto-wipe
• Map wipe schedule (e.g., days 7, 14, 21, 28)
• BP wipe schedule (e.g., day 0 = forced wipe)
• Custom wipe times
• Forced wipe handling
RustMaps Integration:
• API key configuration
• Filter ID support
• Staging/barren preferences
• Search depth (pages per request)
Discord Configuration:
• Bot token
• Channel IDs (voting, logs)
• Command prefix
• Role-based permissions
• Avatar and footer customization
Data Cleanup:
• Plugin data files to delete on wipe
• Separate lists for forced wipe and map wipe
📖 Common Use Cases
Weekly Wipe Server
"Map Wipe schedule": [7],
"BP Wipe schedule": [0],
"Start voting x days before wipe": 2
Maps wipe every 7 days, BPs wipe on forced wipe, voting starts 2 days early.
Bi-Weekly with Community Choice
"Map Wipe schedule": [14],
"BP Wipe schedule": [0, 14],
"Number of maps to generate": 6
Wipes every 14 days, BPs wipe twice (forced + bi-weekly), 6 map options.
Monthly with RustMaps
"Map Wipe schedule": [28],
"Select random maps from rustmaps filter id": true,
"filter Id": "your_filter_id"
Monthly wipe using curated RustMaps with your preferred settings.
🛠️ Troubleshooting
Vote Not Starting Automatically?
• ✅ Check WipeInfoApi is loaded
• ✅ Verify wipe schedule matches your server
• ✅ Ensure "Auto start vote" is enabled
• ✅ Check console for errors
Server Not Wiping?
• ✅ Verify server.cfg path in config
• ✅ Check server identity matches
• ✅ Enable debug mode for detailed logs
• ✅ Test with manual wipe command first
Discord Bot Not Working?
• ✅ Verify bot token is correct
• ✅ Check channel IDs are valid
• ✅ Ensure bot has proper permissions
• ✅ Verify Discord Extension is installed
Maps Not Generating?
• ✅ Check RustMaps API key (if using filters)
• ✅ Verify Image Library is loaded
• ✅ Test with procedural generation first
• ✅ Check filter ID is valid
🎯 Best Practices
For Server Owners:
1. Test First - Run dry-run commands with no players online
2. Backup Regularly - Always backup before major wipes
3. Communicate - Use Discord to inform players of wipe schedule
4. Monitor Logs - Enable debug mode during first few wipes
5. Update Dependencies - Keep Image Library and WipeInfoApi current
For Players:
1. Vote Early - Don't wait until the last minute
2. Check Discord - Vote announcements posted there
3. Review Maps - Look at thumbnails before voting
4. Follow Rules - One vote per person (if authentication enabled)
🎁 Bonus Features
Fun Kit System
Keep players engaged before wipe with special kits:
• Pre-wipe PvP events
• Testing new builds
• Practice raids
• Community fun
Server Rewards Integration
Reward players for voting:
• Give reward points per vote
• Encourage participation
• Build community engagement
Multi-Server Support
Run multiple servers with one plugin:
• Server identity configuration
• Independent wipe schedules
• Shared Discord bot
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📞 Support & Updates
Get Help:
• 💬 Discord: kaysharp
• 📖 Configuration Guide: https://kaysharp42.github.io/MapVoter/Config-Guide.html
Resources:
• Image Library: https://umod.org/plugins/image-library
• WipeInfo API: https://codefling.com/plugins/wipeinfo
• Discord Extension: https://umod.org/extensions/discord
• RustMaps.com: https://rustmaps.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⭐ Why Choose MapVoter?
✅ Save Time - Fully automated wipe management
✅ Engage Community - Let players choose their maps
✅ Professional - Modern, polished UI
✅ Reliable - Trusted by hundreds of servers
✅ Flexible - Highly customizable
✅ Supported - Active development and support
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 License & Terms
This plugin is provided as-is for use on Rust servers. By purchasing and using this plugin, you agree to:
• Not redistribute or resell the plugin
• Not reverse engineer or decompile
• Use on your own servers only
• Provide credit to the original author
- #admin tools
- #admintool
- (and 10 more)
-
Rules
Useful Rules Agreement Plugin. Allowing you to prevent players who do not agree with your rules from playing on the server.
The ability to disable the use of the mouse, keyboard, commands, chat and voice chat until the player accepts your rules; The ability to request consent to the rules every time a player connect, or when the administrator uses a special command; The ability to request consent to the rules only once and only when the rules have been changed(date in the config file); The ability to limit the time given to make a decision, after which the player will be kicked or banned; The ability to set the number of rejections(in a row) after which the player will be banned; The ability to set an effect when opening the rules; The ability to set an effect when agreeing to the rules; The ability to enable or disable the agreement request for the rules; The ability to request agreement to the rules again using a command; The ability to customize the UI as desired(*SERVER*\oxide\data\RulesUi\). Several naming rules for elements must be followed, as explained below in the UI section; The ability to create as many pages of rules as desired(in the config file); It is not possible to agree to the rules until the player has read all the pages; The presence of 4 hooks for developers, 2 of which can be overridden.
rules.ignore - Provides the ability to ignore rules agreements. rules.admin - Provides the ability to use enable/disable and reask commands.
{ "Chat command": "rules", "Is it worth enabling GameTips for messages?": true, "Is it worth enabling a requirement for agreement with the rules? If disabled, the rules will not be displayed": true, "Date of the last rules update. Format: yyyy-MM-dd HH:mm": "2025-09-02 17:20", "Is it worth asking for agreement with the rules every time? If disabled, consent will only be requested again if the rules have been updated": false, "Is it worth preventing a player from using chat until they agree to the rules?": true, "Is it worth preventing a player from using commands until they agree to the rules?": true, "Is it worth preventing a player from using voice chat until they agree to the rules?": true, "Is it worth kicking or banning a player when they refuse to accept the rules?": true, "Number of rejections(in a row) of the rules after which the player will be banned. A value of 0 disables the ban": 5, "Time in seconds(0-600) given to the player to respond, after which they will be kicked/banned from the server. A value of 0 disables the time limit": 0.0, "Number of rules pages. Will automatically add additional language keys if they are missing": 5, "List of language keys for creating language files": [ "en" ], "Prefab name for the effect when requesting agreement with the rules. Leave empty to disable": "assets/bundled/prefabs/fx/invite_notice.prefab", "Prefab name for the effect upon agreement with the rules. Leave empty to disable": "assets/prefabs/misc/xmas/advent_calendar/effects/open_advent.prefab", "Width of the container for the rules text, needed for scroll view calculation": 600.0, "Height of the container for the rules text, needed for scroll view calculation": 375.0, "Version": { "Major": 0, "Minor": 1, "Patch": 6 } }
EN: { "CmdArgNotFound": "Argument '{0}' not found!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found for '{0}': {1}", "CmdPlayerShow": "Player '{0}' has been requested to agree to the rules!", "CmdRulesAlreadyEnabled": "The requirement to agree with the rules is already enabled!", "CmdRulesEnabled": "The requirement to agree with the rules is enabled!", "CmdRulesAlreadyDisabled": "The requirement to agree with the rules is already disabled!", "CmdRulesDisabled": "The requirement to agree with the rules is disabled!", "CmdRulesOnce": "A one-time request for agreement with the rules is enabled!", "CmdRulesEveryTime": "A one-time request for agreement with the rules is disabled!", "CmdRulesReAsk": "All players have been sent a request for agreement with the rules, depending on the settings.", "MsgAccepted": "Thank you for accepting our terms! Enjoy the game!", "MsgKickReason": "You have been kicked because you declined our rules!", "MsgBanReason": "You have been banned because you declined our rules {0} times in a row!", "PanelTitle": "Terms Of Service", "PanelLastUpdate": "Last updated on <color=brown>{0} {1}, {2}</color>", "BtnAccept": "Accept", "BtnDecline": "Decline", "BtnNextPage": ">", "BtnPreviousPage": "<", "January": "January", "February": "February", "March": "March", "April": "April", "May": "May", "June": "June", "July": "July", "August": "August", "September": "September", "October": "October", "November": "November", "December": "December", "Rules_1": "<b>1. Information</b>\n\n<b>1.1</b> - Lack of knowledge of the rules does not exempt you from responsibility.\n<b>1.2</b> - By playing on the server, you automatically agree to all the rules listed below.\n<b>1.3</b> - If you have already been caught using cheats/macros or exploiting on another server/project, and there is proof against you, we reserve the right to ban you without further investigation.\n<b>1.4</b> - The administration determines the punishment for a player based on the severity of the violation and the circumstances. Violators may receive a warning or a permanent ban (there is no temporary bans). Bans apply to all servers within the project.\n<b>1.5</b> - The administration does not compensate for in-game items lost due to your errors, technical server/hosting issues, game bugs, or contact with rule violators.\n<b>1.6</b> - The administration does not interfere in player-to-player relationships. You are solely responsible for the people you choose to play with, so if a player deceives you, there will be no punishments for them from us.\n<b>1.7</b> - You are responsible for all your accounts. If one account is banned, the ban applies to all your accounts. The same applies if one of your accounts has a game ban (EAC).\n<b>1.8</b> - Impersonating a member of the server's administration is prohibited.", "Rules_2": "<b>2. Gameplay</b>\n\n<b>2.1</b> - It is prohibited to use/store/purchase/distribute third-party software or any other means that provide an advantage over other players.\n<b>2.2</b> - Using cheat services is forbidden.\n<b>2.3</b> - Exploiting game bugs is not allowed.\n<b>2.4</b> - Exceeding the player limit in a team is prohibited:\n<b>+</b> Alliances or truces with other players are not allowed if the total number of players involved exceeds the server's limitations;\n<b>+</b> Frequent changes of allies will be considered a rule violation, as will playing with another player while your teammate is AFK or not nearby;\n<b>+</b> Changing teammates temporarily is not allowed if the replaced teammate intends to continue playing with you;\n<b>+</b> Changing a partner is allowed if your previous partner will not be in contact with you in the future.", "Rules_3": "<b>3. In-Game Chat/Voice Chat</b>\n\n<b>3.1</b> - Discussion of politics, religion, immoral, and other inappropriate topics is prohibited.\n<b>3.2</b> - Inciting national, racial, or religious hatred or insulting other players and individuals is forbidden.\n<b>3.3</b> - Posting links to third-party services and websites in the chat is not allowed.\n<b>3.4</b> - Spamming (repeatedly posting meaningless phrases or characters) or sending identical messages in a short period of time is prohibited.\n<b>3.5</b> - Selling or pretending to sell cheats/macros is not allowed.\n<b>3.6</b> - Proposing actions that lead to an unwanted server exit is prohibited. Such actions include, for example, pressing <b>alt+f4</b>, typing <b>disconnect</b> in the console, and similar actions whose meanings other players may not be aware of.\n<b>3.7</b> - The administration reserves the right to mute or block a player in the chat if they behave inappropriately or disrespectfully towards other players.\n<b>3.8</b> - Selling/buying in-game items for real currency, crypto or skins is prohibited.", "Rules_4": "<b>4. In-Game Check</b>\n\n<b>4.1</b> - In-Game checks are conducted exclusively through the <b>Discord</b> program. Every player on our project must have the ability to access it for the purpose of undergoing in-game checks.\n<b>4.2</b> - Calls for in-game checks are made only through in-game notifications and never through voice or text chat.\n<b>4.3</b> - If a player leaves the server, ignores a in-game check, or refuses to participate in it, they will immediately receive a ban.\n<b>4.4</b> - Clearing your PC before a in-game check is prohibited.\n<b>4.5</b> - Refusal to provide the necessary information for the in-game check or inappropriate behavior will result in a ban.\n<b>4.6</b> - If a player is banned as a result of a in-game check (including bans for refusal, ignoring, leaving the server, and providing incorrect contact information), their entire team will also be banned.\n\n<b>+</b> You have the full right to refuse to undergo a in-game check, but in this case, you and your allies will be banned.\n<b>+</b> Leaving the server, providing incorrect contact information, and ignoring the in-game check will also be considered a refusal.\n<b>+</b> If you agree to undergo the in-game check, you automatically allow the administration to install third-party programs necessary for checking your PC(e.g., AnyDesk, RCC, etc.).\n\n<b>Appeal Process</b>\nOne month after the ban, you have the ability to submit an appeal, but only if the ban was not for cheats or macros.\nAppeals can be submitted on our website.", "Rules_5": "Rules_5" } RU: { "CmdArgNotFound": "Аргумент '{0}' не найден!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "По значению '{0}' найдено несколько игроков: {1}", "CmdPlayerShow": "У игрока '{0}' было запрошено согласие с правилами!", "CmdRulesAlreadyEnabled": "Требование согласия с правилами уже включено!", "CmdRulesEnabled": "Требование согласия с правилами включено!", "CmdRulesAlreadyDisabled": "Требование согласия с правилами уже выключено!", "CmdRulesDisabled": "Требование согласия с правилами выключено!", "CmdRulesOnce": "Однократный запрос на согласие с правилами включен!", "CmdRulesEveryTime": "Однократный запрос на согласие с правилами выключен!", "CmdRulesReAsk": "Всем игрокам в зависимости от настроек был отправлен запрос на соглашение с правилами.", "MsgAccepted": "Спасибо, что приняли наши условия! Приятной вам игры!", "MsgKickReason": "Вы были исключены, так как вы отклонили наши правила!", "MsgBanReason": "Вы были заблокированы, так как вы в {0} раз подряд отклонили наши правила!", "PanelTitle": "Условия использования", "PanelLastUpdate": "Последнее обновление <color=brown>{1} {0} {2} года</color>", "BtnAccept": "Принимаю", "BtnDecline": "Отказываюсь", "BtnNextPage": ">", "BtnPreviousPage": "<", "January": "Января", "February": "Февраля", "March": "Марта", "April": "Апреля", "May": "Мая", "June": "Июня", "July": "Июля", "August": "Августа", "September": "Сентября", "October": "Октября", "November": "Ноября", "December": "Декабря", "Rules_1": "<b>1. Информация</b>\n\n<b>1.1</b> - Не знание правил не освобождает Вас от ответственности.\n<b>1.2</b> - Играя на сервере Вы автоматически соглашаетесь со всеми нижеперечисленными пунктами правил.\n<b>1.3</b> - Если Вы уже были замечены с читами/макросами или использованием просвета на другом сервере/проекте и на вас есть пруфы - мы имеем право забанить Вас без проверки.\n<b>1.4</b> - Администрация сама выбирает наказание для игрока в зависимости от степени нарушения и обстоятельств. Нарушитель может получить как предупреждение, так и перманентный бан(временных блокировок нет). Блокировка выдаётся на всех серверах проекта.\n<b>1.5</b> - Администрация не компенсирует игровые ценности, утраченные по причине вашей ошибки, технических проблем на сервере/хостинге, багов игры или контакта с нарушителями.\n<b>1.6</b> - Администрация не вмешивается во взаимоотношения игроков, за тех с кем вы играете ответственны только Вы, поэтому в случае если игрок вас обманет — ему ничего за это не будет.\n<b>1.7</b> - Вы несете ответственность за все свои аккаунты. Получив бан на одном аккаунте - Вы получите его и на остальных аккаунтах. То же самое будет если на одном из ваших аккаунтах имеется игровая блокировка(EAC).\n<b>1.8</b> - Запрещено выдавать себя за члена Администрации сервера.", "Rules_2": "<b>2. Геймплей</b>\n\n<b>2.1</b> - Запрещено использовать/хранить/приобретать/распространять стороннее ПО или любые другие средства, позволяющие получить преимущество над другими игроками.\n<b>2.2</b> - Запрещено использование услуг читеров.\n<b>2.3</b> - Запрещено использование багов.\n<b>2.4</b> - Запрещено превышать лимит игроков в команде:\n<b>+</b> Нельзя устраивать альянсы или перемирия с другими игроками если в сумме вас больше, чем указано в ограничениях сервера;\n<b>+</b> Частая смена союзников будет считаться за нарушение правил, тоже самое касается и игру с другим игроком пока тиммейт стоит афк или не находится рядом;\n<b>+</b> Запрещена смена союзников на время, если заменяемый союзник продолжит с вами играть;\n<b>+</b> Разрешено сменить напарника, если ваш предыдущий напарник в дальнейшем не будет с вами контактировать.", "Rules_3": "<b>3. Игровой Чат/Голосовой чат</b>\n\n<b>3.1</b> - Запрещено обсуждение политики, религии, аморальных и прочих неуместных тем.\n<b>3.2</b> - Запрещено разжигание национальной, расовой или религиозной ненависти или оскорбления других игроков и других людей.\n<b>3.3</b> - Запрещены ссылки в чате на сторонние сервисы и сайты.\n<b>3.4</b> - Запрещен флуд(многократное повторение бессмысленных фраз, символов) или многократное отправление одинаковых фраз за короткий промежуток времени.\n<b>3.5</b> - Запрещено продавать или делать вид что вы продаёте читы/макросы.\n<b>3.6</b> - Запрещено предлагать сделать действия, приводящие к нежеланному выходу с сервера. К таким действиям относится например нажатие <b>alt+f4</b>, прописывание <b>disconnect</b> в консоль и прочие подобные действия, о значении которых другие игроки могут не знать.\n<b>3.7</b> - Администрация оставляет за собой право выдать мут или заблокировать игрока в чате если тот ведёт себя неадекватно или некорректно по отношению к другим игрокам.\n<b>3.8</b> - Запрещена продажа/покупка игровых ценностей за реальную валюту, крипту или скины.", "Rules_4": "<b>4. Игровая проверка</b>\n\n<b>4.1</b> - Проверки проходят только через программу <b>Discord</b>. Каждый игрок на нашем проекте, в обязательном порядке должен иметь возможность зайти в нее для прохождения проверки.\n<b>4.2</b> - Вызов на проверку осуществляется только через игровое оповещение и ни в коем случае не через голосовой или текстовый чат.\n<b>4.3</b> - Если игрок покинул сервер, проигнорировал проверку или отказался от неё, то он сразу получает блокировку.\n<b>4.4</b> - Запрещено чистить ПК перед проверкой.\n<b>4.5</b> - За отказ показывать нужную для проверки информацию или неадекватное поведение — вы будете заблокированы.\n<b>4.6</b> - Если по итогу(итогом считается и блокировка за отказ / игнор / выход из сервера и предоставление некорректных данных для связи) проверки игрок блокируется, то и вся его команда блокируется вместе с ним.\n\n<b>+</b> Вы имеете полное право отказаться проходить проверку, но в этом случае Вы и ваши союзники будут заблокированы.\n<b>+</b> Так же отказом от проверки будет считаться выход с сервера, предоставление некорректных контактных данных и игнорирование проверки.\n<b>+</b> Если Вы согласны пройти проверку - то автоматически разрешаете устанавливать сторонние программы нужные администрации для проверки вашего PC(AnyDesk, RCC и т.д).\n\n<b>Возможность разблокировки</b>\nЧерез месяц после блокировки можно подать апелляцию, но, только в случае если бан был получен не за читы или макросы.\nАпелляцию можно подать на нашем сайте.", "Rules_5": "Rules_5" }
show - Opens the rules panel. *userNameOrId* - request for agreement with the rules from the specified player. Permission "rules.admin" required. enable - Enabling Rules agreements. Permission "rules.admin" required. disable - Disabling Rules agreements. Permission "rules.admin" required. once - Enabling/disabling one-time agreement request for the Rules. Permission "rules.admin" required. reask - Reasking all players for the Rules agreement. Permission "rules.admin" required.
Example:
/rules show /rules show *userNameOrId* /rules enable
You can customize the UI as you like(*SERVER*\oxide\data\RulesUi\).
However, the following containers must always be present and their names must remain unchanged(you can change the parent, position, layout of the elements, etc.), as they are referenced by name:
The name of the main container is "RulesUi";
The name of the container for title texts(header and update date) is "RulesUi_Panel_Title_Text";
The name of the container for the "Next Page" button is "RulesUi_Panel_Title_Pagination_Next";
The name of the container for the "Previous Page" button is "RulesUi_Panel_Title_Pagination_Previous";
The name of the container for the rules text is "RulesUi_Panel_Content";
The name of the container for the progress indicator is "RulesUi_Panel_Content_Progress";
The name of the container for the "Decline" button is "RulesUi_Panel_Footer_Decline";
The name of the container for the "Accept" button is "RulesUi_Panel_Footer_Accept".
RulesEnabled: Called after the rules are enabled or the plugin is loaded with enabled config. RulesDisabled: Called after the rules are disabled or the plugin is unloaded. RulesAccepted: Called after the player has accepted the rules; Returning a non-null value overrides default behavior. RulesDeclined: Called before kicking or banning a player; Returning a non-null value overrides default behavior.
void RulesEnabled() { Puts("The rules were enabled!"); } void RulesDisabled() { Puts("The rules were disabled!"); } object RulesAccepted(IPlayer player) { Puts($"Player {player.Name} has accepted the rules!"); return null; } object RulesDeclined(IPlayer player, int declines, int ban_attemps) { Puts($"Player {player.Name} has declined the rules! This is the {declines} declines out of {ban_attemps}!"); return null; }
-
EcoWallet
***YOU WILL NEED A MySQL Database for this to work! The attached txt file will create a table for you in the database you create with the required fields.****
Cross-Server Economics Storage:
The plugin allows players' in-game currency balances (Economics balance) to be saved and accessed across different Rust game servers that you own. This enables players to maintain the same balance even when they switch between servers.
Tracking Last Login: The plugin keeps track of the last login date and login count for each player. This information is also saved in the database, allowing server administrators to monitor player activity.
Please note that for the "EcoWallet" plugin to work correctly, the "Economics" plugin must be installed and functioning on the server. Additionally, the plugin's configuration file should be properly set up with the correct database connection details. You must have all of the servers configs set up to the same database.
PlayerDatabase Create Statement.txt
