ELF's Wishlist
-
Referrals
Adds a referral system to the game. Players can invite other players and receive rewards for this.
Commands
referal - open interface promo [promocode] - activate promo code
Permissions
You can set permission in config, for example:
"Permission (example: referrals.use)": "referrals.use",
Hooks
private void OnPromoCodeActivated(BasePlayer player, string promocode)
API
private string GetPromoCode(BasePlayer member) private string GetPromoCode(string member) private string GetPromoCode(ulong member)
Config
{ "Commands": [ "ref", "referal" ], "Commands to activate the promo code": [ "promo", "code" ], "Permission (example: referrals.use)": "", "Work with Notify?": true, "Use auto-wipe?": false, "Promo Code Chars": "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", "Promo Code Length": 8, "Awards": [ { "Invites Amount": 1, "Type": "Item", "ID": 1, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "wood", "Skin": 0, "Amount": 20000, "Chance": 70.0 }, { "Invites Amount": 2, "Type": "Item", "ID": 2, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "stones", "Skin": 0, "Amount": 15000, "Chance": 70.0 }, { "Invites Amount": 5, "Type": "Item", "ID": 3, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "leather", "Skin": 0, "Amount": 2400, "Chance": 55.0 }, { "Invites Amount": 7, "Type": "Item", "ID": 4, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "cloth", "Skin": 0, "Amount": 2300, "Chance": 55.0 }, { "Invites Amount": 10, "Type": "Item", "ID": 5, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "lowgradefuel", "Skin": 0, "Amount": 1500, "Chance": 50.0 } ] }
FAQ
Item as kit -
Ultimate Leaderboard (+WEB Editor)
Introducing UltimateLeaderboard, the most advanced and comprehensive leaderboard system designed for Rust servers! Elevate your server competitive spirit by tracking an extensive range of player statistics—everything from kills and deaths to resources gathered, items crafted, structures built, and more. Featuring a sleek, customizable user interface and seamless integration with popular plugins, UltimateLeaderboard is the perfect addition to engage your players and showcase their achievements.
⭐ Features of Ultimate Leaderboard
Track a wide variety of player statistics, including kills, deaths, resources gathered, items crafted, structures built, and more. Fully customizable leaderboard—choose which stats to display and tailor it to your server unique style. Intuitive and visually appealing user interface for players to view their stats and compare rankings. Seamless integration with plugins like ServerPanel for enhanced displays, and Notify/UINotify for in-game alerts. Flexible data storage options: choose between JSON, SQLite, or MySQL to suit your server needs. Two reward systems: post-wipe awards that give actual items, kits, and money to top players when they connect, plus an optional companion plugin UltimateLeaderboardTop for real-time privilege management based on current rankings. Custom Titles system that automatically displays achievement-based chat titles for top performers (requires BetterChat plugin). Optimized for high performance, ensuring smooth operation even with large player bases and extensive data. Configurable templates. Optional real-time database updates for integrations (e.g., Discord Bot).
🖼️ Showcase
Fullscreen Template
ServerPanel V1 (V1.1)
ServerPanel V2
📨 Video Overview
🎮 Commands
/leaderboard or /stats - Opens the leaderboard interface for players to view stats and rankings. /leaderboard <steamid> - Opens another player's profile (requires ultimateleaderboard.profile permission). /leaderboard.hide - Allows players to hide themselves from the leaderboard (requires ultimateleaderboard.hide.self permission). leaderboard.manage hide <steamid> - Console command to hide a player from the leaderboard (server console only). leaderboard.wipe - Console command to reset all leaderboard data (server console only). leaderboard.migrate <migration_id> - Console command to perform database migrations (server console only). Available:
— leaderboard.migrate 1 adds HiddenFromLeaderboard column to PlayerStats table (upgrade from v1.1.7 to v1.1.8)
— leaderboard.migrate 2 migrates BodyHits data to the new format (upgrade to v1.5.10) leaderboard.find.short.prefab <search_term> - Console command to search for prefabs containing the specified search term (server console only). Useful for finding correct prefab names for configuration. leaderboard.manage - Console command to manage player statistics (server console only). Use leaderboard.manage help for detailed usage information.
🛡️ Permissions
ultimateleaderboard.use - grants players access to leaderboard commands and interface. ultimateleaderboard.profile - allows players to view other players' profiles using the leaderboard command. ultimateleaderboard.hide.self - allows players to hide themselves from the leaderboard using the /leaderboard.hide command.
⚙️ Web Config Editor
Easily manage your UltimateLeaderboard 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.
P.S. To access the web config editor, you must be part of the "UltimateLeaderboard" group in our Discord server. Join us at https://discord.gg/mevent and request the group to get started.
📚 FAQ
Q: How do I install UltimateLeaderboard?
A: Download the UltimateLeaderboard.cs file, place it in your oxide/plugins directory, and restart your server or reload the plugin using the Oxide command oxide.reload UltimateLeaderboard.
Q: Can I choose which statistics to track and display?
A: Yes! The plugin allows you to customize tracked statistics and leaderboard displays via the configuration file. You can enable or disable specific stats like kills, resources, or events to suit your server.
Q: What data storage options are available?
A: UltimateLeaderboard supports JSON, SQLite, and MySQL. You can select your preferred storage method in the config file, offering flexibility for small or large servers.
Q: How do I set up the awards system?
A: In the configuration file, define award categories (e.g., most kills, top gatherer) and their criteria. The plugin will automatically track and assign awards to top players based on your settings.
Q: Where can I configure the UI?
A: UI is now template-driven. Use configurable templates stored at oxide/data/UltimateLeaderboard/Templates.
Q: What happens to the data on a server wipe?
A: By default, data wipes with a new save file, but you can disable this in the config (Wipe data on new save) to persist stats across wipes if desired.
Q: I see black images with Rust logo or get error 429 when loading images. What should I do?
A: These issues occur when there are problems downloading images from the internet. The UltimateLeaderboard plugin sends images to ImageLibrary but is not responsible for the downloading process itself. Error 429 typically occurs due to rate limits imposed by image hosting services like Imgur (see HTTP 429 documentation for more details). To fix this, enable Offline Image Mode which will use local images instead:
Enable the mode in config: Open "oxide/config/UltimateLeaderboard.json" (or "carbon/config/UltimateLeaderboard.json" for Carbon) Set "Enable Offline Image Mode": true Set up the images: Create folder "TheMevent" in "oxide/data" (or "carbon/data" for Carbon) Download PluginsStorage (click "CODE" → "Download ZIP") Extract the ZIP and copy all contents to the "TheMevent" folder Reload the plugin: Type o.reload UltimateLeaderboard (Oxide) or c.reload UltimateLeaderboard (Carbon) Note: If you want to add your own custom images, place them in the "TheMevent" folder and reference them with the "TheMevent/" prefix. For example: "TheMevent/Icon1.png", "TheMevent/MyCustomIcon.jpg", etc.
Q: What's the difference between UltimateLeaderboard awards and UltimateLeaderboardTop?
A: UltimateLeaderboardTop is a companion plugin that automatically manages player privileges based on leaderboard positions.
Main Plugin Awards: Gives actual rewards (kits, money, commands) to top players after wipe - rewards are given once when player connects. UltimateLeaderboardTop: Continuously manages privileges (VIP groups, permissions) as players enter/exit top positions in real-time. To display awards in UI while using UltimateLeaderboardTop:
Configure awards in UltimateLeaderboard config Configure awards in UltimateLeaderboardTop config Set "Automatically give rewards after the wipe": false Q: Can UltimateLeaderboardTop give items/kits to players?
A: No, UltimateLeaderboardTop is designed only for reversible actions (permissions, groups, etc.). Since items can't be taken back from players when they leave top positions, item rewards are not supported. Use the main plugin's awards system for item rewards instead.
Q: How do I configure rewards for top players?
A: There are two reward systems available:
UltimateLeaderboard Awards (Post-Wipe Rewards):
Configure in the main plugin's config file under "Awards Settings":
Set award categories (e.g., "Most Kills", "Top Gatherer") Define criteria: loot type, prefab, and minimum amount required Set rewards: commands to execute (give items, kits, money, etc.) Awards are given once when top players connect after a wipe UltimateLeaderboardTop (Real-time Privileges):
Configure in UltimateLeaderboardTop.json:
Set leaderboard types to monitor (kills, points, playtime, etc.) Define top positions (1st, 2nd, 3rd, etc.) Configure "Enter place commands" (given when player reaches position) Configure "Exit place commands" (executed when player loses position) Use for permissions, groups, temporary privileges Example UltimateLeaderboardTop configuration:
{ "Loot type": "Kill", "Prefab": "kills", "Places settings": { "1": { "Enter place commands": ["o.usergroup add %steamid% vip"], "Exit place commands": ["o.usergroup remove %steamid% vip"] } } } Q: What are Custom Titles and how do they work?
A: Custom Titles automatically display achievement-based titles in chat for top players. For example, top killers get "[Killer]" title, top builders get "[Builder]" title, etc. Requires BetterChat plugin to work. Titles are updated automatically based on leaderboard positions and can be configured with priority system and limits.
Q: Why don't I see my statistics updated immediately on the leaderboard?
A: The leaderboard is cached and refreshes periodically (configurable interval) to minimize server load and ensure optimal performance. This means statistics may take a few minutes to appear on the leaderboard after the action is performed. The caching system helps maintain smooth server operation even with large player bases and extensive statistics tracking.
Q: How can I track multiple similar items or entities with one statistic?
A: You can combine multiple prefabs using the pipe symbol | in the prefab field. For example, to track all types of scientists as one "NPC Kills" statistic, use: npc_tunneldweller|npc_underwaterdweller|scientistnpc_arena|scientistnpc_bradley. This is useful for grouping similar items, resources, or entities into a single tracked category.
Q: How do I find the correct prefab names for items, entities, or events?
A: There are several ways to find prefab names:
In-game console command: Use leaderboard.find.short.prefab <search_term> in the server console to search for prefabs containing your search term. For example: leaderboard.find.short.prefab scientist will show all prefabs containing "scientist". F1 console spawn command: In-game, open F1 console and use the spawn command to see available entity prefabs. Type spawn followed by part of the name to see matching options. Item shortnames: For items, use their shortname (e.g., "stones", "metal.ore", "wood"). You can find these by examining items in your inventory or using item-related commands. Plugin documentation: Check the "Custom Prefabs" and "Available Loot Types" sections in this plugin's description for comprehensive lists of supported prefabs and loot types. Q: How can I output the sum of all values by type of statistics (for example, all kills, all loot collected)?
A: Use the prefab total_sum for the desired LootType. For example, to show the total number of all player kills, specify the LootType Kill and the prefab total_sum in the column or block settings. It works for any type: Kill, Gather, Craft, Event, and others.
Q: What award types are available and how do I configure them?
A: UltimateLeaderboard supports 8 award types:
Command - Execute console commands. Supports %steamid% placeholder. Use | to separate multiple commands.
Example: "Command (%steamid%)": "inventory.giveto %steamid% rifle.ak 1|oxide.usergroup add %steamid% vip" Kit - Give kits from Kits plugin. Requires Kits plugin to be loaded.
Example: "Type": "Kit", "Kit Name": "vip_starter" ServerRewards - Add reward points. Requires ServerRewards plugin.
Example: "Type": "ServerRewards", "Amount": 1000 Economics - Deposit money via Economics plugin.
Example: "Type": "Economics", "Amount": 5000 BankSystem - Deposit money to player's bank account.
Example: "Type": "BankSystem", "Amount": 2500 GameStores - Add balance via GameStoresRUST plugin.
Example: "Type": "GameStores", "Amount": 100 MoscowOVH - Add balance via RustStore plugin (Moscow OVH integration).
Example: "Type": "MoscowOVH", "Amount": 50
💻 Custom Prefabs
UltimateLeaderboard supports advanced custom prefabs for granular statistics tracking and display:
total_play_time - Total playtime (in seconds) current_playtime - Current session duration kdr - Kill/Death ratio points - Internal points system longest_kill_distance - Longest kill distance record total_hits - Total player hits total_resources - Total resources gathered total_items_crafted - Items crafted events_won - Event victories structures_built - Structures built upgrades_performed - Building upgrades name/nickname - Player display name formatted_total_playtime - Human-readable playtime (Xd Xh Xm) kd - K/D formatted as "Kills/Deaths" favorite_resource - Most gathered resource favorite_crafted_item - Most crafted item favorite_event - Most won event favorite_building_material - Preferred building material favorite_weapon - Most used weapon total_quests_completed - Total completed quests total_sum - Sum of all values for the selected LootType. For example, using total_sum with LootType Kill will show the total number of all kills for the player (across all kill categories). Works for any LootType: Kill, Gather, Craft, Event, etc.
📊 Available Loot Types
None Construction Medical Event
Available prefabs: Convoy Sputnik Caravan GasStationEvent AirEvent SatDishEvent Triangulation WaterEvent HarborEvent FerryTerminalEvent ArcticBaseEvent JunkyardEvent SupermarketEvent PowerPlantEvent ArmoredTrainEvent SurvivalArena KillBoss PaintballTeam PaintballFFA GunGame ZombieInfection TugboatPirates SpaceEvent AbandonedBase DungeonEvent FlyingCargoEvent Gather Kill
Available custom prefabs: helisignals_{skin} - Tracks helicopter kills from HeliSignals (e.g., "helisignals_2920175997") bradleydrops_{skin} - Tracks bradley kills from BradleyDrops (e.g., "bradleydrops_2905355269") roadbradley_{profile} - Tracks bradley kills from RoadBradley (e.g., "roadbradley_easy") helicopter - Tracks helicopter kills Custom NPC support: horde_npc - For NPCs from ZombieHorde plugin raidbase_npc - For NPCs from Raidable Bases plugin For NPCs from NpcSpawn use NPC name as key (BossMonster, BetterNpc, NPCs from events, etc.) Other entity prefabs can be found in-game by using the "spawn" command in the F1 console Consume Raid Death
Available custom prefabs: Custom NPC support: horde_npc - For NPCs from ZombieHorde plugin raidbase_npc - For NPCs from Raidable Bases plugin For NPCs from NpcSpawn use NPC name as key (BossMonster, BetterNpc, NPCs from events, etc.) Craft Crate LootItems Fishing Puzzle
Available prefabs: keycard_1 keycard_2 keycard_3 Custom Upgrade ShotFired ExplosiveUsed RecycleItem BodyHits WeaponUsed RaidableBases
Available prefabs: easy medium hard expert nightmare Economy
Available prefabs: ShoppyStock Economics IQEconomic Quest EconomyBalance
Available prefabs: Economics ServerRewards BankSystem IQEconomic Gambling
Available prefabs: BlackjackDeposit BlackjackWon SlotDeposit SlotWon PockerDeposit PockerWon WheelDeposit WheelWon SkillTree
Available prefabs: xp - Experience points earned level - Skill tree level reached Trivia
📡 API for Developers
UltimateLeaderboard provides a comprehensive API for developers to integrate with other plugins and extend functionality:
📊 Methods
JArray API_GetUltimateLeaderboardUsers(int offset, int limit, int? columnIndex = null) - Get leaderboard users with pagination float API_GetPlayerStat(ulong playerId, string lootType, string shortname) - Get specific player statistic bool API_IsHiddenFromLeaderboard(ulong playerId) - Check if player is hidden from leaderboard void API_OnItemGather(ulong player, string shortname, int amount) - Add gather statistics for a player void API_OnEventWin(ulong userID, string eventName, int amount = 1) - Record event wins for a player 🎣 Hooks
void OnUltimateLeaderboardContent(BasePlayer player, string categoryType, CuiElementContainer container) - Called when displaying custom category content void OnUltimateLeaderboardCached() - Called when leaderboard data is cached and ready- #ultimateleaderboard
- #leaderboard
- (and 20 more)
-
Battlemetrics Moderation Bot
By Bxcas in Discord Bots
THIS TOOL REQUIRES A BATTLEMETRICS RCON SUBSCRIPTION
📌 Overview
The BattleMetrics Moderation Bot is designed to allow trial staff to submit mutes, kicks, bans, and lift bans without requiring full access to BattleMetrics or other moderation tools.
How It Works:
- Trial staff submit moderation actions through Discord forms.
- Actions remain pending for approval until reviewed by verified staff.
- Verified staff can accept, deny, or create a discussion thread for further review.
- The bot integrates exclusively with BattleMetrics and requires a BattleMetrics RCON Subscription to function.
Additional Features:
- All bot actions are logged in a dedicated Logs folder for full transparency and record-keeping.
- Uses BattleMetrics API to ensure secure and efficient moderation.
If you need assistance, contact bxcas on Discord.
---
🔧 Configuration Settings for BattleMetrics Moderation Bot
This section explains each configuration setting in the config.json file, what it does, and where to find the necessary values.
---
🛠️ Discord Configuration
The discord section contains the bot's authentication details, server settings, and channels for admin messages.
"discord": { "clientId": "BOT CLIENT ID", "token": "BOT TOKEN", "guildId": "DISCORD SERVER ID", "channels": { "message": "ADMINS CHANNEL ID", "request": "TRIAL CHANNEL REQUEST ID" }, "roles": { "trialStaff": ["TRIAL STAFF ROLE ID 1", "TRIAL STAFF ROLE ID 2"], "seniorStaff": ["SENIOR STAFF ROLE ID 1", "SENIOR STAFF ROLE ID 2"] } } 🔍 Where to Find These Values?
---
🛡️ BattleMetrics Configuration (battlemetrics)
This section contains settings related to BattleMetrics, which is used for managing bans and tracking players.
"battlemetrics": { "organizationId": "BATTLEMETRICS ORGANIZATION ID", "banListId": "BATTLEMETRICS BAN LIST ID", "apiToken": "BATTLEMETRICS API TOKEN" }
🔍 Where to Find These Values?
🌐 Server Configuration (servers)
This section defines the Rust servers managed by the bot.
"servers": [ { "name": "SERVER NAME", "id": "SERVER ID" } ] 🔍 Where to Find These Values?
---
🔥 Example Full Configuration
{ "discord": { "clientId": "123456789012345678", "token": "YOUR_DISCORD_BOT_TOKEN", "guildId": "987654321098765432", "channels": { "message": "123456789012345678", "request": "876543210987654321" }, "roles": { "trialStaff": ["123456789012345678", "234567890123456789"], "seniorStaff": ["345678901234567890", "456789012345678901"] } }, "battlemetrics": { "organizationId": "112233", "banListId": "445566", "apiToken": "your_battlemetrics_api_token" }, "servers": [ { "name": "Main Rust Server", "id": "999999" }, { "name": "Test Server", "id": "888888" } ] }
---
🚀 Installation Guide - BattleMetrics Moderation Bot
📌 Requirements
To run the bot, you need a machine with:
- A server or hosting environment (e.g., a VPS, dedicated machine, or a Pterodactyl Egg).
- Node.js installed (recommended: latest LTS version => 22).
---
📌 Installation Steps
1️⃣ Ensure Node.js is installed on your machine.
2️⃣ Place the bot files in your preferred directory.
3️⃣ Open a terminal or command prompt in the bot’s directory.
4️⃣ Run the following command to install dependencies:
npm install
5️⃣ Start the bot by running:
node .
The bot will now run without any issues.
---
📌 Logs
A Logs folder will be created automatically.
All bot activity and errors will be logged inside this folder.
Support
If you need assistance, contact `bxcas` on Discord.
- #discordbot
- #bot
-
(and 6 more)
Tagged with:
-
Multi Bot Bot Script - RCON
By AlexDev101 in Discord Bots
Simple script to manage multiple pop bots and a global one for rust game servers in discord
NB : If your not using a bot container :
You will need to install python and git (must be 3.7+)
(https://www.youtube.com/watch?v=XF_rklW9XkU&ab_channel=CBTNuggets)
1. Go to https://discord.com/developers/applications, create a new bot application
2. Go to O2Auth - > URL Generator -> Select bot & invite the bot to your discord
3. Go to BOT -> reset token -> input token in the config
Example Config
{ "RefreshRate":10, "GlobalBotDiscordToken":"", "Servers":[ { "name":"server_name_1", "ip":"168.100.161.191", "rcon_port":28065, "rcon_password":"", "discord_bot_token":"" }, { "name":"server_name_2", "ip":"168.100.161.191", "rcon_port":28085, "rcon_password":"", "discord_bot_token":"" } ] } 5. Input your rust game info, serverip, rcon port and password
6. Install requirements run **pip install -r requirements.txt** in your console
7. Run the main.py file to run the script
NB - The server names must be unique for the script to work
Suggested hosts -> https://serverstarter.host/ or anything offering a simple bot container - Python is key!
-
Multi Events
Introducing MultiEvents, the ultimate event management plugin for your Rust server! Seamlessly create, manage, and display events with a beautiful, customizable interface that engages your players. With support for multiple event types, easy integration with other plugins, and a powerful visual editor, MultiEvents is the perfect solution to enhance your server's community experience and keep players coming back for more.
⭐️ Features of Multi Events
Beautiful, fully customizable UI with multiple template options (Fullscreen, ServerPanel V1, ServerPanel V2) for a tailored player experience. In-game visual editor for creating and customizing event interfaces, allowing for real-time adjustments without coding. Support for event categories, descriptions, icons, and banners to enhance event visibility and player engagement. Integrated event notifications system to alert players about upcoming and ongoing events, ensuring maximum participation. Event inventory management with customizable permissions, providing control over player access and participation. Image library support for custom graphics and icons, enabling a unique and branded event presentation. Multi-language support with easy localization, making the plugin accessible to a global player base. ServerPanel integration for seamless menu access, enhancing user interaction and ease of use. Developer-friendly API for plugin integration, allowing for extended functionality and customization. Pre-loaded with diverse events such as CollectionResources, FoundationDrop, HelicopterPet, HuntAnimal, KingOfHill, LookingLoot, and SpecialCargo, each offering unique gameplay experiences. Advanced configuration options in JSON format, providing flexibility in event setup and management. Optimized for performance, ensuring smooth operation even with large player bases and extensive data.
🏆 Included Events
MultiEvents comes pre-loaded with several exciting events ready to use on your server:
CollectionResources - Collect resources and compete with other players! The more resources you collect, the higher your score. Use different tools to get multipliers for your gathering. Top players will receive valuable rewards! FoundationDrop - Players spawn on a platform made of foundations. The foundations begin to degrade and fall away one by one. Players must survive by jumping between foundations. The last player standing wins! When only one foundation remains, players receive weapons and radiation appears to speed up the finale. HelicopterPet - Try to get the attention of the patrol helicopter! The more it focuses on you, the more points you earn. Get points when the helicopter orbits around you and even more when it's attacking. The player with the most points at the end wins! Be careful though - this isn't your friendly neighborhood chopper! HuntAnimal - Hunt animals across the map to earn points! Different animals are worth different amounts - chickens are worth 1 point, while bears are worth 10 points. Wolves, boars, horses, and deer are worth 4 points each. The player with the most points at the end of the event wins! KingOfHill - Race to the highest point! Your score is based on the highest elevation you reach. Stay on solid ground - no flying, swimming, or using vehicles. The player who reaches the highest point and maintains their position wins! Watch your step and keep climbing! LookingLoot - Search for loot across the map! Earn points by looting containers and barrels. Most items are worth 1 point each, but special items like scrap and gears are worth 2 points. The player who collects the most valuable loot wins! Be quick - containers can only be looted once! SpecialCargo - Deliver the special cargo from one monument to another! A random player will be chosen to carry the cargo. The carrier must reach the destination monument marked on the map while avoiding other players. If the carrier dies, a new random player becomes the carrier. Teleportation is disabled for the carrier. Successfully deliver the cargo to win! Each event is fully customizable through the visual editor and comes with default settings ready to play immediately after installation!
🚀 Expansion Packs & Add‑ons
Enhance MultiEvents with premium expansion packs and our large‑scale raid framework. Pre‑configured, fully customizable, and designed to plug directly into your server.
✨ MultiEvents Pack 1 Barrels, PvP Player Battle, NPC Missile Silo, Pumpkin Picker, Vehicle Hunter. View on Codefling → 🌟 MultiEvents Pack 2 Another set of competitive and gathering‑focused events to diversify rotations. View on Codefling → 💠 MultiEvents Pack 3 Corn Collector, Gold Rush (with rare items), Mushroom Madness, NPC Underwater Lab, Patrol Helicopter Hit. View on Codefling → 🏰 OPERATION FORTRESS Large‑scale PvE raid framework with handcrafted bases, waves, and rewards — a perfect complement to your event ecosystem. View on Codefling →
🖼️ Showcase
Fullscreen Template
ServerPanel V1 Template
ServerPanel V2 Template
📬 Video Overview
🎮 Commands
/events - Opens the events menu for players
🛡️ Permissions
multievents.edit - Permission to edit events
🗒️ Visual Editor
MultiEvents includes a robust visual editor that simplifies the process of creating and customizing events. No coding is required—use the intuitive interface to adjust settings, modify colors, add text, and configure event elements directly in-game. This allows for quick and efficient event setup, ensuring your server's events are both engaging and visually appealing.
📚 FAQ
Q: Can I integrate MultiEvents with other plugins?
A: Yes! MultiEvents has an API that allows other plugins to register and manage events. It also integrates with ServerPanel for menu access.
Q: How do I add MultiEvents to ServerPanel?
A: To add MultiEvents to your ServerPanel, create a new category in your ServerPanel configuration with these settings:
"Type": "Plugin", "Plugin Name": "MultiEvents", "Plugin Hook": "API_OpenPlugin". Q: How do I add custom images for my events?
A: MultiEvents supports an image library. Upload your images to your server, and reference them in the plugin configuration or through the visual editor.
Q: Does MultiEvents support multiple languages?
A: Yes, MultiEvents has built-in localization support. You can customize all text elements in the editor and add translations for different languages.
Q: How do I configure rewards in MultiEvents?
A: Rewards can be configured in two ways. If you want rewards to drop into a custom inventory UI, you need to set up items in the inventory settings and assign them unique IDs. Then, reference these IDs in the event configuration. If you prefer to give rewards directly to the player's in-game inventory, simply specify the rewards directly within the event settings.
Q: How do I set up rewards (Item, Command, Plugin, Kit) and what placeholders are available?
A: Types: Item (ShortName, Amount, DisplayName, Skin), Command (Command string), Plugin (Plugin Name, Hook, Amount), Kit (Kit name). Placeholders for Command: %steamid%, %username%. Multiple commands are separated by | (line breaks are also supported).
Give an item: "Type": "Item", "ShortName": "stones", "Amount": 2500, "DisplayName": "Stones", "Skin": 0 Give a kit: "Type": "Kit", "Kit": "vip_starter" Run commands: "Type": "Command", "Command (%steamid%)": "inventory.giveto %steamid% scrap 1000|oxide.usergroup add %steamid% vip" Add BankSystem balance (via Plugin): "Type": "Plugin", "Plugin": "BankSystem", "Hook": "Deposit", "Amount": 2500 Q: What are the recommended sizes for event images?
A: For optimal display, event banners should be 390x349 pixels, and event icons should be 64x64 pixels.
💻 Developer API
MultiEvents provides a developer-friendly API for integration with other plugins:
void API_RegisterEvent(string eventId, JObject data) - Register a new event with MultiEvents API_RegisterEvent Parameters:
eventId (string): unique identifier for the event. data (JObject): JSON object containing event details. JObject Structure:
title (string, required): The title of the event. description (string, optional): A brief description of the event. commandToStart (string, required): The command to start the event. commandToStop (string, required): The command to stop the event. bannerURL (string, optional): URL for the event's banner image. icon (string, optional): URL for the event's icon image. scrollElements (JArray, optional): Custom UI elements for the event's scroll view. Creating UI Elements for scrollElements:
The scrollElements parameter allows you to add custom UI elements to your event description. Each element is defined as a JObject with specific properties based on its type.
Common Properties: type (string): "label", "image", "panel", or "button" color (string): HEX color code (e.g., "#FFFFFF") alpha (float): Opacity from 0 to 100 position (JObject): Element position and dimensions Type-Specific Properties: Text Elements: text (JArray of strings), textColor (HEX), fontSize (int), font (string) Image Elements: image (string URL) Button Elements: text, textColor, fontSize, command (string) Panel Elements: cursorEnabled (bool) Example of UI Elements:
var customScrollElements = new JArray { // Label example new JObject { ["type"] = "label", ["text"] = new JArray { "Duration: <color=#D74933>10 mins</color>", "Reward: <color=#D74933>100 scrap, Jackhammer, Python Revolver</color>" }, ["textColor"] = "#E2DBD3", ["alpha"] = 100f, ["fontSize"] = 14, ["font"] = "robotocondensed-regular.ttf", ["align"] = "MiddleLeft", ["position"] = new JObject { ["anchorMinX"] = 0f, ["anchorMinY"] = 1f, ["anchorMaxX"] = 1f, ["anchorMaxY"] = 1f, ["offsetMinX"] = 0f, ["offsetMinY"] = -200f, ["offsetMaxX"] = 0f, ["offsetMaxY"] = -140f } }, // Image example new JObject { ["type"] = "image", ["image"] = "https://example.com/image.png", ["color"] = "#FFFFFF", ["alpha"] = 100f, ["position"] = new JObject { ["anchorMinX"] = 0f, ["anchorMinY"] = 1f, ["anchorMaxX"] = 0f, ["anchorMaxY"] = 1f, ["offsetMinX"] = 0f, ["offsetMinY"] = -234f, ["offsetMaxX"] = 42f, ["offsetMaxY"] = -192f } }, // Button example new JObject { ["type"] = "button", ["text"] = "Click Me", ["textColor"] = "#FFFFFF", ["color"] = "#D74933", ["alpha"] = 100f, ["fontSize"] = 14, ["command"] = "customcommand {user}", ["position"] = new JObject { ["anchorMinX"] = 0.5f, ["anchorMinY"] = 0f, ["anchorMaxX"] = 0.5f, ["anchorMaxY"] = 0f, ["offsetMinX"] = -60f, ["offsetMinY"] = 20f, ["offsetMaxX"] = 60f, ["offsetMaxY"] = 50f } } }; Example Usage:
MultiEvents.Call("API_RegisterEvent", "CollectionResources", new JObject { ["title"] = "Collection Resources", ["description"] = "Collect resources and compete with other players! The more resources you collect, the higher your score. Use different tools to get multipliers for your gathering. Top players will receive valuable rewards!", ["commandToStart"] = "collectionresources.start", ["commandToStop"] = "collectionresources.stop", ["bannerURL"] = "https://gitlab.com/TheMevent/PluginsStorage/raw/main/Images/MultiEvents/CollectionResources.png", ["icon"] = "https://gitlab.com/TheMevent/PluginsStorage/raw/main/Images/MultiEvents/Icons/CollectionResources.png", ["scrollElements"] = customScrollElements });
(hook) OnEventStart(string eventName) - Hook called when an event begins (hook) OnEventEnd(string eventName) - Hook called when an event ends bool API_PlayerHideNotify(ulong userId) - Allows hiding event notifications for a specific player. Returns a boolean indicating whether notifications are hidden for the player. string GetBannerUrlByEventId(string eventId) - Retrieves the banner URL for a specific event by its ID. This is useful when you need to reference an event's banner in your custom UI.
🧪 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
Elevate your server's event management with MultiEvents - the complete solution for creating engaging and visually stunning events that will keep your players excited and coming back for more!
- #mutlievents
- #events
- (and 15 more)