Jump to content

romzar

Creator
  • Posts

    49
  • Joined

  • Last visited

Everything posted by romzar

  1. romzar

    Admin Stats

    We just pushed v2.1.0 which adds exactly this feature. In your AdminStats.json config you'll now find: "FPS Good Threshold": 25, "FPS Warning Threshold": 15 So with the example you mentioned: >= 25 FPS → Green 15-24 FPS → Yellow < 15 FPS → Red The colors themselves are also fully configurable (FPS Good Color, FPS Warning Color, FPS Critical Color) if you want to change the actual RGB values. Just update the plugin, tweak the config to your liking and reload — no restart needed. Let us know if you need anything else!
  2. romzar

    Admin Stats

    Yes sure! Will be in the next update. Meanwhile you can change these constants in the .cs file (look for the file in the plugin folder): private const int FPS_GOOD = 30; private const int FPS_WARNING = 20; private const int FPS_HISTORY_SIZE = 30;
  3. romzar

    Title Selector

    Hey, thanks for the detailed breakdown and the screenshot — that really helps! So here's what's happening technically: PlayerRanks and TitleSelector operate on two completely separate systems that don't talk to each other. How PlayerRanks shows titles in chat: PlayerRanks registers a callback function directly with BetterChat via API_RegisterThirdPartyTitle. When you chat, BetterChat calls that function, which returns a single combined string with all your #1 titles (e.g. [Killer Sniper]). This is injected straight into the chat message — it's not tied to any BetterChat group. How TitleSelector works: TitleSelector reads available titles by calling API_GetAllGroups on BetterChat, which only returns BetterChat groups — not third-party titles from other plugins like PlayerRanks. So the PlayerRanks titles simply don't show up in TitleSelector's list at all. What you're seeing: The title showing in chat comes from the PlayerRanks callback (third-party title system) The "[The Honored One]" in TitleSelector is a regular BetterChat group, unrelated to PlayerRanks That's why they don't match — they're coming from two different sources In short: There's currently no integration between TitleSelector and PlayerRanks. The feature you're describing (seeing your #1 titles as selectable options in TitleSelector) would require building that bridge. It's not a misconfiguration on your end — it's just a feature that doesn't exist yet. I'll look into adding PlayerRanks integration to TitleSelector so that #1 titles appear as selectable options. Stay tuned!
  4. romzar

    Title Perks

    Version 1.0.0

    4 downloads

    Title Perks - Automatic Buff System for Title Selector by romzar.games - Requires Title Selector Overview TitlePerks is a companion plugin for Title Selector that brings your title system to life. Instead of titles being purely cosmetic, each title can grant configurable gameplay perks that activate instantly when equipped and deactivate when removed. Players earn titles through gameplay achievements (raids, heli kills, boss kills, etc.) and those titles now carry real mechanical weight — creating a meaningful progression loop where effort translates into tangible power. Key Features Automatic Activation & Deactivation Perks activate instantly when a title is selected in Title Selector Perks deactivate instantly when a title is removed, hidden, or cleared Full integration with Title Selector's Hide All, Show All, Clear, and Preset systems Perks auto-restore on player reconnect and server restart 15+ Perk Types Category Perk Type Description Damage damage_structure Bonus damage to building blocks (walls, floors, etc.) Damage damage_deployable Bonus damage to deployables (doors, turrets, boxes, etc.) Damage damage_heli Bonus damage to Patrol Helicopter Damage damage_bradley Bonus damage to Bradley APC Damage damage_boss Bonus damage to bosses (CH47, custom bosses) Damage damage_npc Bonus damage to all human NPCs (scientists, murderers, etc.) Damage damage_animal Bonus damage to animals Damage damage_pvp Bonus damage in PvP (against real players) Damage damage_pve Bonus damage in PvE (against everything except players) Damage damage_global Bonus damage to everything (stacks with specific types) Gather gather_ore Bonus ore yield when mining Gather gather_wood Bonus wood yield when chopping Gather gather_animal Bonus yield when harvesting animals Gather gather_plant Bonus yield when harvesting plants and growables Fishing fishing_rate Bonus fish quantity when catching fish Fishing xp_fishing Bonus fishing XP (permission group-based) Cooldown cooldown_event Reduces event cooldowns (PveMode integration) Cooldown buyable_cooldown_event Buyable event cooldown reduction (PveMode integration) Special legendary_bonus_xp Grants access to bonus XP group (permission-based) Perk Stacking Players can equip multiple titles simultaneously, and their perks stack additively. For example: Title "RaidHard" grants +15% structure damage Title "RaidExpert" grants +20% structure damage Combined: +35% structure damage Smart Entity Detection The damage system correctly identifies and categorizes all entity types: Structures: BuildingBlock (walls, foundations, floors, etc.) Deployables: Doors, storage containers, turrets, barricades, traps, sleeping bags, SAM sites, search lights, ovens NPCs: Scientists, murderers, scarecrows, tunnel dwellers, underwater dwellers, zombies, HumanNPC Vehicles: Patrol Helicopter, Bradley APC, CH47 Chinook Animals: All BaseAnimalNPC entities Players: Real Steam-authenticated players (for PvP perk) External Integrations PveMode: Automatically sets/removes player cooldown modifiers via API_SetPlayerCooldownModifier / API_RemovePlayerCooldownModifier Permission Groups: Configurable perk-to-group mapping — when a player activates a perk, they're added to a permission group; when deactivated, they're removed How It Works Player selects title in Title Selector | v TitlePerks checks config for matching perks | v Perks activated | v Game apply bonuses in real-time Lifecycle Events Event Action Player selects a title Perks activate, player notified Player removes a title Perks deactivate, player notified Player uses "Hide All" All perks deactivate Player uses "Clear" All perks deactivate Player switches preset Old perks deactivate, new perks activate Player disconnects External perks cleaned up, cache freed Player reconnects Perks restored from Title Selector's current selection Server restarts All online players' perks restored (staggered) Plugin reloads All perks recalculated from scratch Default Configuration { "TitlePerks": { "raideasy": [{ "Type": "damage_structure", "Value": 0.05 }, { "Type": "damage_deployable", "Value": 0.05 }], "raidmedium": [{ "Type": "damage_structure", "Value": 0.10 }, { "Type": "damage_deployable", "Value": 0.10 }], "raidhard": [{ "Type": "damage_structure", "Value": 0.15 }, { "Type": "damage_deployable", "Value": 0.15 }], "raidexpert": [{ "Type": "damage_structure", "Value": 0.20 }, { "Type": "damage_deployable", "Value": 0.20 }], "raidnightmare": [{ "Type": "damage_structure", "Value": 0.25 }, { "Type": "damage_deployable", "Value": 0.25 }], "helieasy": [{ "Type": "damage_heli", "Value": 0.05 }], "helimedium": [{ "Type": "damage_heli", "Value": 0.10 }], "helihard": [{ "Type": "damage_heli", "Value": 0.15 }], "heliexpert": [{ "Type": "damage_heli", "Value": 0.20 }], "helielite": [{ "Type": "damage_heli", "Value": 0.25 }], "helinightmare": [{ "Type": "damage_heli", "Value": 0.30 }], "bradleyeasy": [{ "Type": "damage_bradley", "Value": 0.05 }], "bradleymedium": [{ "Type": "damage_bradley", "Value": 0.10 }], "bradleyhard": [{ "Type": "damage_bradley", "Value": 0.15 }], "bradleyexpert": [{ "Type": "damage_bradley", "Value": 0.20 }], "bradleynightmare": [{ "Type": "damage_bradley", "Value": 0.25 }], "bosskiller": [{ "Type": "damage_boss", "Value": 0.15 }], "npcslayer": [{ "Type": "damage_npc", "Value": 0.15 }], "wildhunter": [{ "Type": "damage_animal", "Value": 0.15 }, { "Type": "gather_animal", "Value": 0.20 }], "rareminer": [{ "Type": "gather_ore", "Value": 0.20 }], "fisherman": [{ "Type": "xp_fishing", "Value": 0.25 }, { "Type": "fishing_rate", "Value": 0.15 }], "farmer": [{ "Type": "gather_plant", "Value": 0.25 }], "explorer": [{ "Type": "cooldown_event", "Value": -0.20 }, { "Type": "legendary_bonus_xp", "Value": 0.25 }], "tryhard": [{ "Type": "damage_pve", "Value": 0.10 }, { "Type": "damage_pvp", "Value": 0.05 }] }, "Show perk activation messages": true, "Show perk deactivation messages": true, "Group Perks (perk type -> permission group)": { "legendary_bonus_xp": "legendarybonus" }, "Debug mode": false } Configuration Options Setting Type Default Description TitlePerks Dictionary (see above) Maps title names (lowercase) to lists of perk definitions Show perk activation messages bool true Notify players when perks activate Show perk deactivation messages bool true Notify players when perks deactivate Group Perks Dictionary legendary_bonus_xp -> legendarybonus Maps perk types to permission groups. When a perk is active, the player is added to the group; when removed, they're taken out Debug mode bool false Verbose logging for troubleshooting Adding Custom Perks Simply add new entries to the TitlePerks dictionary. Title names must be lowercase and match the title names configured in Title Selector. "pvpchampion": [ { "Type": "damage_pvp", "Value": 0.15 }, { "Type": "damage_global", "Value": 0.05 } ], "lumberjack": [ { "Type": "gather_wood", "Value": 0.30 } ] Each title supports multiple perks — combine damage, gather, and special bonuses in a single title. Commands Command Type Permission Description /perks Chat None Shows the player's currently active perks and titles titleperks.reload Console titleperks.admin Reloads config and restores all player perks titleperks.debug Console titleperks.admin Toggles debug mode on/off /perks Output Example ======== Your Active Perks ======== Damage Bonuses: - Structure Damage: +15% - Deployable Damage: +15% - Helicopter Damage: +10% Gather Bonuses: - Ore Gather: +20% Active Titles: - raidhard - helimedium - rareminer Permissions Permission Description titleperks.admin Required for titleperks.reload and titleperks.debug console commands Title Selector Integration TitlePerks is designed as a seamless extension of Title Selector. The integration is fully automatic through Oxide/Carbon hooks: Hooks Listened Hook Fired By Action OnTitleSelected(BasePlayer, string) Title Selector Activates perks for the selected title OnTitleDeselected(BasePlayer, string) Title Selector Deactivates perks for the deselected title OnTitlesCleared(BasePlayer, List<string>) Title Selector Deactivates all perks from cleared titles Developer API TitlePerks exposes a complete API for other plugins to query perk data: // Get all active perks for a player (type -> total value) Dictionary<string, float> perks = TitlePerks.Call<Dictionary<string, float>>("API_GetActivePerks", (ulong)player.userID); // Get a specific perk value (returns 0f if not active) float heliDmg = TitlePerks.Call<float>("API_GetPerkValue", (ulong)player.userID, "damage_heli"); // Check if player has a specific perk active bool hasPerk = TitlePerks.Call<bool>("API_HasPerk", (ulong)player.userID, "damage_bradley"); // Get list of active title names for a player List<string> titles = TitlePerks.Call<List<string>>("API_GetActiveTitles", (ulong)player.userID); // Get perk definitions for a title (config lookup) var perks = TitlePerks.Call<List<Dictionary<string, object>>>("API_GetTitlePerks", "raidhard"); // Get formatted perk display string for a title (for UI integration) string display = TitlePerks.Call<string>("API_GetTitlePerksDisplay", "raidhard"); // Returns: "Struct+15% Deploy+15%" Use Cases 1. Raid Progression Rewards Players who complete raid milestones (easy through nightmare) receive scaling damage bonuses to structures and deployables, making them more effective raiders. 2. PvE Combat Specialization Titles like "BossKiller", "NPCSlayer", and "WildHunter" reward players who focus on PvE content with relevant damage bonuses, encouraging engagement with PvE systems. 3. Resource Gathering Bonuses "RareMiner", "Farmer", and "WildHunter" titles provide gathering multipliers, creating an alternative progression path for players who prefer resource-focused gameplay. 4. Event Cooldown Reduction The "Explorer" title reduces event cooldowns by 20% via PveMode integration, rewarding active event participants with faster re-entry. 5. Permission-Based Rewards Through the Group Perks system, titles can grant access to permission groups — enabling integration with any permission-based plugin. Example: "Explorer" title adds players to the "legendarybonus" group for bonus XP. 6. PvP vs PvE Balancing The "Tryhard" title demonstrates dual-category bonuses: +10% PvE damage and +5% PvP damage, allowing fine-tuned balance between gameplay modes. 7. Multi-Title Stacking Strategy Since perks stack, players must strategize which titles to equip based on their planned activities — raiding, farming, fishing, or mixed gameplay. Localization Built-in support for 3 languages out of the box: Language Code English en (default) Portuguese (Brazil) pt-br Spanish es-ES All perk names, categories, activation/deactivation messages, and UI labels are fully translatable through the standard lang system. Requirements Dependency Required Description Title Selector Yes Core dependency — provides the title selection UI and hooks PveMode No (optional) Enables cooldown_event perk type for event cooldown reduction Installation Place TitlePerks.cs in your carbon/plugins/ folder Ensure Title Selector is installed and running Restart or load the plugin Edit carbon/configs/TitlePerks.json to match your title names Run titleperks.reload in console to apply changes Data Storage Player perk data is stored in carbon/data/TitlePerks.json: { "Players": { "76561198000000000": { "active_titles": ["raidhard", "helimedium", "rareminer"], "last_update": "2026-03-03T12:00:00.0000000Z" } } } Data is used for restoration on reconnect and cleaned automatically after 30 days of inactivity.
    $14.99
  5. romzar

    Title Selector

    Hey! Just wanted to check in — did you get a chance to try the plugin? Would love to hear how it's been going for you. And whenever you feel ready, a review would mean a lot!
  6. romzar

    Title Selector

    Hey, thanks for the kind words! Just to make sure I understand what you're looking for: Currently, titles are given only to the #1 player in each category (most PVP kills, most headshots, etc.), and if someone overtakes you, you lose that title. Are you asking for a system where once a player earns a title (by reaching #1), it stays permanently unlocked for them — even after someone else takes the lead — so they can collect multiple titles over time and choose which one(s) to display? Or do you mean something different, like being able to pick from a list of custom/purchasable titles that aren't tied to leaderboard rankings? Let me know and I'll see what I can do!
  7. romzar

    Title Selector

    Yes, this is already supported. You just need 3 separate BetterChat groups with the same title text but different colors: { "GroupName": "donator_pink", "Title": { "Text": "[DONATOR]", "Color": "pink" } }, { "GroupName": "donator_yellow", "Title": { "Text": "[DONATOR]", "Color": "yellow" } }, { "GroupName": "donator_green", "Title": { "Text": "[DONATOR]", "Color": "green" } } Then in TitleSelector config, add them as an exclusion group so the player can only pick one at a time: "Title exclusion groups (mutual exclusion)": [ ["donator_pink", "donator_yellow", "donator_green"] ] This way: Player sees all 3 [DONATOR] options in the UI, each with its respective color (pink, yellow, green) Selecting one automatically deselects the others (mutual exclusion) Not selecting any = no donator tag at all Add all 3 groups to the player via oxide permissions so they show as "Available" The exclusion system handles the "OR" logic — pick one or none.
  8. Version 1.6.6

    10 downloads

    Overview Better Fish Trap transforms the survival fish trap into a fully automated fishing station. It automatically attaches an Industrial Storage Adaptor to every fish trap placed on your server, making them compatible with the industrial conveyor system. Fish caught by the trap can be automatically routed through conveyor belts to furnaces, storage boxes, or any other industrial destination -- no manual looting required. Beyond automation, the plugin includes three independent systems that work together: health protection to prevent traps from breaking, configurable fishing speed tiers based on permissions, and a full upgrade system where players spend currency to permanently improve individual traps. Each system can be enabled or disabled independently. Features Industrial Storage Adaptor Integration Automatically spawns a storage adaptor as a child entity of every survival fish trap Works with all industrial entities: conveyor belts, industrial splitters, industrial combiners Adaptor position and rotation are fully configurable to fit your server's aesthetic Existing adaptors are detected on server restart -- no duplicates created Adaptor inherits the fish trap owner's ID for authorization Health Protection (3 Modes) Fish traps take decay damage every time they catch a fish. This system prevents traps from breaking: Mode 1 - Prevent Damage: Saves the trap's health before damage is applied and restores it on the next tick. The trap briefly shows reduced health but recovers instantly. Mode 2 - Heal After Catch: Saves health and schedules a heal. Supports instant heal or a configurable delay in seconds. Mode 3 - Block Decay Damage: Completely blocks all decay-type damage to managed fish traps. Best performance -- the damage event is cancelled before any processing. This is the default and recommended mode. Fishing Speed Control (Permission-Based) Control how fast fish traps catch fish through a tiered permission system: The vanilla tick rate is 60 seconds per catch attempt Define unlimited custom tiers, each with its own tick rate, priority, and display name Players receive the speed from their highest-priority tier Players without any speed permission use the configurable default tick rate Tiers are fully customizable: add, remove, or rename as needed Default tiers included: Tier Permission Tick Rate Priority VIP betterfishtrap.speed.vip 40s 1 Premium betterfishtrap.speed.premium 30s 2 Elite betterfishtrap.speed.elite 20s 3 Admin betterfishtrap.speed.admin 10s 999 Upgrade System Players can upgrade individual fish traps through an in-game UI to improve their tick rate. This system is independent from the permission-based speed tiers -- upgrades take priority over permissions when present. 6 upgrade levels by default, fully configurable (add more or fewer) 3 currency options: in-game items (scrap by default, supports custom items with skin ID), Economics, or ServerRewards Keep Attributes: When enabled, picking up an upgraded fish trap preserves its upgrade level. Placing it again restores the upgrade. Upgraded traps cannot stack with non-upgraded traps or traps of different levels. Access control: Restrict upgrades to the owner only, teammates/clanmates only, or allow anyone with the permission Clan integration: When "Only Teammates" is enabled, the plugin checks both native Rust teams AND the Clans plugin for membership and alliances Visual feedback: Configurable upgrade effect plays on each upgrade (default: stone upgrade sound) Full UI: Upgrade button and status indicator appear when looting a managed fish trap. A detailed modal shows all levels, current progress, costs, and the upgrade button. Default upgrade levels: Level Cost (Scrap) Tick Rate Level 1 100 50s Level 2 250 40s Level 3 500 30s Level 4 1,000 20s Level 5 2,000 15s Level 6 (MAX) 5,000 10s Admin Tools Reset command: Removes all existing adaptors and reattaches them cleanly, reapplying all fishing speeds Toggle command: Instantly disable/enable the upgrade system server-wide for testing or performance debugging. When disabled, all traps revert to vanilla 60s tick rate. When re-enabled, all upgrades and permissions are reapplied. Permissions Permission Description betterfishtrap.use Required for fish traps to receive a storage adaptor. Grant to all players or specific groups. betterfishtrap.admin Access to admin commands (reset, toggle). betterfishtrap.upgrade Access to the upgrade UI and ability to upgrade traps. betterfishtrap.speed. Grants the player a specific fishing speed tier. Replace with the tier name defined in config (e.g., vip, premium, elite, admin). Commands Chat Commands Command Permission Description /fishtrap.reset admin Removes all adaptors and reattaches them to every fish trap on the server. Reapplies fishing speeds. /fishtrap.toggle admin Toggles the upgrade system on/off server-wide. Useful for testing or debugging performance. Console Commands Command Description fishtrap.reset Same as chat command, usable from server console or RCON. fishtrap.toggle Same as chat command, usable from server console or RCON. Configuration Located at config/BetterFishTrap.json after first load. { "Enabled": true, "AdaptorPosition": { "x": 0.0, "y": 0.5, "z": -0.8 }, "AdaptorRotation": { "x": -90.0, "y": 0.0, "z": 0.0 }, "Health Protection Settings": { "Enable Health Protection": true, "Protection Mode (1=Prevent Damage, 2=Restore Health, 3=Block Decay Damage)": 3, "Instant Heal (Mode 2 only)": true, "Heal Delay Seconds (Mode 2, if not instant)": 0.5 }, "Fishing Speed Settings": { "Enable Fishing Speed Modification": true, "Default Tick Rate (seconds)": 60.0, "Speed Tiers": { "vip": { "Tick Rate (seconds)": 40.0, "Priority": 1, "Display Name": "VIP" }, "premium": { "Tick Rate (seconds)": 30.0, "Priority": 2, "Display Name": "Premium" }, "elite": { "Tick Rate (seconds)": 20.0, "Priority": 3, "Display Name": "Elite" }, "admin": { "Tick Rate (seconds)": 10.0, "Priority": 999, "Display Name": "Admin" } } }, "Upgrade System Settings": { "Enable Upgrade System": true, "Currency Type (0=Scrap, 1=Economics, 2=ServerRewards)": 0, "Keep Attributes When Removing": true, "Owner Only Can Upgrade": false, "Only Teammates Can Upgrade": true, "Upgrade Effect": "assets/bundled/prefabs/fx/build/promote_stone.prefab", "Tick Rate Upgrades": [ { "Cost": 100, "Tick Rate (seconds)": 50.0, "Display Name": "Level 1" }, { "Cost": 250, "Tick Rate (seconds)": 40.0, "Display Name": "Level 2" }, { "Cost": 500, "Tick Rate (seconds)": 30.0, "Display Name": "Level 3" }, { "Cost": 1000, "Tick Rate (seconds)": 20.0, "Display Name": "Level 4" }, { "Cost": 2000, "Tick Rate (seconds)": 15.0, "Display Name": "Level 5" }, { "Cost": 5000, "Tick Rate (seconds)": 10.0, "Display Name": "Level 6 (MAX)" } ] } } Configuration Reference General Setting Type Default Description Enabled bool true Master switch. When false, no adaptors are attached and placement hooks are unsubscribed. AdaptorPosition Vector3 (0, 0.3, 0) Local position offset of the storage adaptor relative to the fish trap. AdaptorRotation Vector3 (0, 0, 0) Local rotation of the storage adaptor relative to the fish trap. Health Protection Settings Setting Type Default Description Enable Health Protection bool true Enable or disable the health protection system. Protection Mode int 3 1=Prevent damage, 2=Heal after catch, 3=Block all decay damage (recommended). Instant Heal bool true Mode 2 only. If true, heals on the next tick. Heal Delay Seconds float 0.5 Mode 2 only. Seconds to wait before healing. Fishing Speed Settings Setting Type Default Description Enable Fishing Speed Modification bool true Enable or disable the fishing speed system. Default Tick Rate float 60.0 Tick rate in seconds for players without any speed permission. Speed Tiers Dictionary 4 tiers Each key is a permission suffix with tick rate, priority, and display name. Upgrade System Settings Setting Type Default Description Enable Upgrade System bool true Enable or disable the upgrade UI and functionality. Currency Type int 0 0=In-game item, 1=Economics, 2=ServerRewards. Currency Item object scrap Only used when Currency Type is 0. Keep Attributes When Removing bool true When true, picking up an upgraded trap preserves the upgrade level. Owner Only Can Upgrade bool false When true, only the player who placed the trap can upgrade it. Only Teammates Can Upgrade bool true When true, only owner, team members, or clan members can upgrade. Upgrade Effect string promote_stone Prefab path for the visual/sound effect on upgrade. Tick Rate Upgrades array 6 levels Array of upgrade levels with cost, tick rate, and display name. Upgrade Priority System The plugin uses a hybrid approach for determining a fish trap's tick rate: Upgrade level (highest priority) -- If the trap has been upgraded through the UI, that upgrade's tick rate is used. Permission tier (fallback) -- If the trap has no upgrade, the owner's highest-priority speed permission is used. Default tick rate (final fallback) -- If the owner has no speed permissions, the configured default tick rate is used. This means a VIP player who also upgrades their trap will use the upgrade tick rate, not the VIP tier rate. Upgrades are per-trap, permissions are per-player. Optional Dependencies Plugin Usage Economics Alternative currency for the upgrade system (Currency Type = 1) ServerRewards Alternative currency for the upgrade system (Currency Type = 2) Clans When "Only Teammates Can Upgrade" is enabled, checks clan membership and alliances in addition to native Rust teams None of these are required. The plugin works standalone with the default item-based currency and native Rust teams. Localization The plugin ships with full language support for: English (en) Brazilian Portuguese (pt-BR) All messages are registered through the Oxide/Carbon lang system and can be customized or extended by adding new language files. Quick Start Install the plugin in your plugins folder. Grant the base permission to all players: oxide.grant group default betterfishtrap.use Grant upgrade access: oxide.grant group default betterfishtrap.upgrade (Optional) Grant speed tiers to VIP groups: oxide.grant group vip betterfishtrap.speed.vip Reload the plugin. All existing fish traps will receive storage adaptors automatically. Players open a fish trap to see the upgrade button and status. Clicking the upgrade button opens the full upgrade modal.
    $4.99
  9. romzar

    Hit Markers

    Does it work on Bradleys and helicopters?
  10. romzar

    Admin Stats

    Version 2.1.0

    150 downloads

    AdminStats - Server Monitor HUD Keep an eye on your server health while you play! AdminStats is a lightweight, always-visible HUD that shows real-time server performance metrics to administrators. Perfect for server owners who want to monitor performance while testing plugins, building, or just playing. What does it show? Server FPS - Color-coded (green = good, yellow = warning, red = critical) with a mini graph showing the last 30 seconds Players Online - Current / Maximum Entities - Total world entities Memory - Server RAM usage Network Traffic - Incoming and outgoing bandwidth Uptime - Time since last server restart Two Display Modes Full Mode - All stats in a compact panel Minimal Mode - Just FPS, super tiny, stays out of your way Switch between modes anytime with /adminstats.mode Easy Positioning Place the HUD wherever you want: Top Left Top Right Bottom Left Bottom Right Custom position Adjust margins to fit perfectly with your other UI elements. Commands /adminstats - Toggle HUD on/off /adminstats.mode - Switch between full and minimal mode Features Zero performance impact - updates once per second Auto-enables for admins on connect Sleek blur background that fits Rust's style Multi-language support (English, Portuguese, Spanish) Fully configurable colors, size, and position Permission-based (adminstats.use) Perfect for: Testing new plugins while monitoring server health Identifying performance issues in real-time Keeping track of player count and entity buildup Server owners who like to stay informed Lightweight. Unobtrusive. Essential.
    Free
  11. romzar

    Title Selector

    The plugin itself doesn't control the creation or editing of titles; it only shows or hides titles (Better Chat groups) that are already created. If you modify them, the Title Selector will detect the change. I don't know how Tebex Store works.
  12. Version 1.1.4

    5 downloads

    Wipe Permission Groups Tired of manually removing permission groups and player permissions every wipe? Players keeping their earned titles, ranks, and special permissions from the previous wipe when they shouldn't? Spending the first hours of every wipe cleaning up your permission system instead of enjoying the fresh start? WipePermissionGroups is your solution. How It Works On every map wipe, the plugin detects the OnNewSave event Automatically removes all players from your configured permission groups Revokes specified user permissions (supports wildcards like kits.* to remove all kit permissions at once) Logs everything to console so you know exactly what happened Features Zero Maintenance: Set it up once, never worry about it again Wildcard Support: Bulk permission removal with patterns like kits.* Manual Commands: /wipegroups and /wipepermissions available anytime Detailed Logging: Full console output (can be disabled in config) Perfect For Servers with progression-based rank systems Event rewards that should reset Raid tier permissions Any permission that should reset with the wipe Set it once, wipe worry-free.
    $1.99
  13. Version 1.5.6

    19 downloads

    ════════════════════════════════════════════════════ AUTOCHICKENCOOP Full Industrial Automation for Chicken Coops by romzar.games ════════════════════════════════════════════════════ DESCRIPTION ----------- AutoChickenCoop transforms chicken coops into fully automated industrial production units! Automatically attach storage adaptors and fluid splitters to chicken coops, enabling complete integration with Rust's industrial system. Features automatic water transfer, egg hatching, chicken breeding optimization, and advanced chicken protection systems. COMPATIBLE WITH BOTH OXIDE/uMOD AND CARBON FRAMEWORKS KEY FEATURES ------------ ✓ Automatic Storage Adaptor Attachment - Automatically attaches industrial storage adaptor to every chicken coop - Connect conveyors directly to collect eggs and feathers - Full industrial automation integration - No player interaction required - completely automatic ✓ Automatic Fluid Splitter System - Fluid splitter automatically attached to every coop - Automatic water transfer from connected industrial sources - Smart IO chain detection for water sources - Configurable transfer rates based on IO setup - Never manually fill water again! ✓ Auto-Hatch System - Automatically hatches eggs when chicken count is below max - Configurable max chickens per coop - Perfect for automated breeding farms ✓ Chicken Love & Sunlight Control - Force max love (100%) for constant breeding readiness - Force max sunlight (100%) for optimal health - Separate permissions for love and sunlight control - Works on all chickens in automated coops - Automatic attribute updates ✓ Advanced Chicken Protection - Protect chickens from unauthorized damage - Only owner and team/clan/friends can damage chickens - Integrates with: Friends API, Clans, BetterTeams - Configurable protection options - Perfect for PvE servers ✓ Group-Based Limits System - Configure different coop limits per permission group - Perfect for VIP tiers and donation rewards - Unlimited permission available for admins/special players - Players get helpful upgrade messages when limit reached - Data persistence - limits maintained across restarts ✓ Smart Water Transfer System - Automatic detection of water in connected IO chains - Supports multiple water sources (tanks, pumps, etc.) - Transfer rate based on IO configuration - Prevents water duplication and exploits - Efficient batch processing for multiple coops ✓ Fully Configurable - Adjust adaptor and splitter position/rotation - Configure auto-hatch settings (max chickens, interval) - Configure love/sunlight update intervals - Configure chicken protection rules - Fine-tune all aspects to match your server ✓ Admin Management Tools - Reset command to reposition all adaptors/splitters - Debug command for water transfer troubleshooting - Check water status for specific coops/splitters - Limit check command for players - Comprehensive logging ✓ Automatic Cleanup & Optimization - Removes adaptors/splitters when coops are destroyed - No orphaned entities - Automatic cleanup of old data (30 days) - Dirty bit tracking for efficient saves - Randomized auto-save to reduce I/O spikes ✓ Data Persistence - Per-player data files for optimal performance - Tracks all coops, adaptors, splitters, and chickens - Automatic save on server save, player disconnect, and interval - Backup system for corrupted data - Clean and optimized performance INSTALLATION ------------ 1. Upload AutoChickenCoop.cs to oxide/plugins/ 2. The plugin will auto-generate its config file on first load 3. Grant permissions to players/groups (see PERMISSIONS section) 4. Reload the plugin if needed: o.reload AutoChickenCoop PERMISSIONS ----------- autochickencoop.use - Required for players to have automated chicken coops - Without this permission, coops work normally (no automation) autochickencoop.love.max - Forces 100% love on all chickens in automated coops - Ensures constant breeding readiness - Updates automatically at configured interval autochickencoop.autohatch - Enables automatic egg hatching in chicken coops - Automatically moves eggs to hatching slot - Maintains configured max chicken count autochickencoop.sunlight - Forces 100% sunlight on all chickens in automated coops - Ensures optimal health regardless of actual sunlight - Perfect for indoor farms autochickencoop.unlimited - Bypass all chicken coop limits - Perfect for admins or special players - No maximum coop count autochickencoop.admin - Required to use admin commands - For server administrators only autochickencoop.{group} - Group-specific limits configured in config file - Examples: autochickencoop.default, autochickencoop.vip, autochickencoop.premium - Players get the highest limit from all their group permissions PERMISSION EXAMPLES ------------------- Grant to all players with basic automation (3 coops): o.grant group default autochickencoop.use o.grant group default autochickencoop.default Grant VIP with auto-hatch and more coops (6 coops): o.grant group vip autochickencoop.use o.grant group vip autochickencoop.vip o.grant group vip autochickencoop.autohatch Grant premium with full automation (12 coops): o.grant group premium autochickencoop.use o.grant group premium autochickencoop.premium o.grant group premium autochickencoop.autohatch o.grant group premium autochickencoop.love.max o.grant group premium autochickencoop.sunlight Grant unlimited coops to admins: o.grant group admin autochickencoop.use o.grant group admin autochickencoop.unlimited o.grant group admin autochickencoop.autohatch o.grant group admin autochickencoop.love.max o.grant group admin autochickencoop.sunlight Grant admin permissions: o.grant group admin autochickencoop.admin COMMANDS -------- /chickencoop.limit (Chat) - Check your current chicken coop limit and usage - Shows how many automated coops you have vs your limit - Available to all players with .use permission - Example output: "Automated Chicken Coops: 2/6" /autochickencoop.reset (Chat) or autochickencoop.reset (Console) - Requires: autochickencoop.admin permission - Removes all old adaptors/splitters and recreates them - Useful when adjusting position/rotation or limits in config - Shows statistics: coops found, adaptors removed, splitters removed, entities created - Respects player limits when recreating automation /chickencoop.debug (Chat) - Admin Only - Requires: autochickencoop.admin permission - Shows comprehensive water transfer debug information - Displays total coops/chickens tracked - Shows coops with water, splitter configs, active splitters - Shows water transfer timer status - Perfect for troubleshooting water issues /chickencoop.checkwater (Chat) - Admin Only - Requires: autochickencoop.admin permission - Look at a chicken coop or fluid splitter - Shows detailed water status for that specific entity - Displays water amount, transfer calculations, IO connections - Shows water source chain and transfer rates - Best tool for diagnosing individual coop issues CONFIGURATION ------------- File Location: oxide/config/AutoChickenCoop.json Default Configuration: { "Enabled": true, "StorageAdaptorPosition": { "x": -0.5, "y": 1.45, "z": -1.0 }, "StorageAdaptorRotation": { "x": -15.0, "y": 0.0, "z": 0.0 }, "FluidSplitterPosition": { "x": 0.1, "y": 0.9, "z": -1.0 }, "FluidSplitterRotation": { "x": 0.0, "y": 90.0, "z": 0.0 }, "LoveSystem": { "UpdateInterval": 30.0, "ForceUpdateOnPet": true }, "AutoHatch": { "Enabled": true, "MaxChickens": 4, "CheckInterval": 30.0 }, "ChickenProtection": { "Enabled": true, "OnlyOwnerAndTeamCanDamage": true, "CheckFriends": true, "CheckClans": true, "CheckBetterTeams": true }, "GroupLimits": { "default": 3, "vip": 6, "premium": 12 } } Configuration Options: - Enabled: Set to false to disable the plugin without unloading - StorageAdaptorPosition: Position offset relative to the coop (X, Y, Z) * Default values position adaptor on upper back of coop * Adjust to match your server's aesthetic preferences - StorageAdaptorRotation: Rotation of the adaptor in degrees (X, Y, Z) * Default: -15° pitch for proper alignment - FluidSplitterPosition: Position offset relative to the coop (X, Y, Z) * Default values position splitter on side of coop * Must be positioned to allow IO connections - FluidSplitterRotation: Rotation of the splitter in degrees (X, Y, Z) * Default: 90° yaw for proper IO orientation - LoveSystem: * UpdateInterval: Seconds between love/sunlight updates (default: 30) * ForceUpdateOnPet: Force update when chicken is pet (default: true) - AutoHatch: * Enabled: Enable/disable auto-hatch system (default: true) * MaxChickens: Maximum chickens per coop before stop hatching (default: 4) * CheckInterval: Seconds between auto-hatch checks (default: 30) - ChickenProtection: * Enabled: Enable/disable chicken protection (default: true) * OnlyOwnerAndTeamCanDamage: Only owner/team can damage (default: true) * CheckFriends: Check Friends API (default: true) * CheckClans: Check Clans plugin (default: true) * CheckBetterTeams: Check BetterTeams plugin (default: true) - GroupLimits: Dictionary of group names and their coop limits * "default": 3 = Players with autochickencoop.default get 3 coops * "vip": 6 = Players with autochickencoop.vip get 6 coops * "premium": 12 = Players with autochickencoop.premium get 12 coops * Add as many custom groups as you want * Players with multiple group permissions get the highest limit * Permissions are automatically registered from this config HOW IT WORKS ------------ 1. Player with 'use' permission places a chicken coop 2. Plugin checks if player has reached their group limit 3. If within limit, plugin automatically attaches: - Storage adaptor (for eggs/feathers collection) - Fluid splitter (for automatic water supply) 4. If limit reached, player receives message with upgrade information 5. Player connects industrial components: - Water source (tank, pump) to fluid splitter INPUT - Conveyors to storage adaptor OUTPUT for egg/feather collection 6. Water automatically transfers to coop every 10 seconds 7. If auto-hatch enabled and player has permission: - Eggs automatically move from storage to hatching slot - System maintains max chicken count 8. If love.max permission: Chickens always at 100% love (breeding ready) 9. If sunlight permission: Chickens always at 100% sunlight (healthy) 10. Chicken protection prevents unauthorized damage 11. When coop destroyed, all automation removed and count updated 12. Player data saved persistently across server restarts CHICKEN PROTECTION SYSTEM ------------------------- Advanced protection prevents unauthorized damage: Protection Levels: 1. Owner: Always allowed to damage their own chickens 2. Team: Rust team members allowed (if OnlyOwnerAndTeamCanDamage = true) 3. Friends: Friends API integration (if CheckFriends = true) 4. Clans: Clans plugin integration (if CheckClans = true) 5. BetterTeams: BetterTeams plugin integration (if CheckBetterTeams = true) How It Works: - OnEntityTakeDamage hook intercepts all chicken damage - Checks if chicken is in an automated coop (has parent coop) - Gets coop owner ID - Checks if attacker is authorized (owner/team/friend/clan) - Blocks damage if unauthorized - Returns null (allows damage) if authorized Configuration: - Enabled: Turn entire protection system on/off - OnlyOwnerAndTeamCanDamage: Core protection toggle - CheckFriends/Clans/BetterTeams: Individual integration toggles - Disable specific integrations if you don't have those plugins ADMIN WORKFLOW -------------- Initial Setup: 1. Configure GroupLimits in config file for your server tiers 2. Configure auto-hatch settings (max chickens, interval) 3. Configure love/sunlight update intervals 4. Configure chicken protection rules 5. Adjust adaptor/splitter positions if needed Permission Setup: 6. Grant 'use' permission and group limit permissions to players/groups 7. Grant auto-hatch permission to VIP+ tiers 8. Grant love.max and sunlight to premium tiers 9. Grant 'unlimited' permission to admins or special players 10. Grant 'admin' permission to administrators Maintenance: 11. Use /autochickencoop.reset command to apply config changes 12. Use /chickencoop.debug to monitor water transfer system 13. Use /chickencoop.checkwater to diagnose specific coops 14. Monitor player limits and upgrade requests 15. Enjoy players' creative automated chicken farms within balanced limits! PERFORMANCE ----------- • Lightweight and optimized • Efficient per-player data file system • Batch processing for entity initialization • Safe to use on high-population servers COMPATIBILITY ------------- • Works with vanilla Rust • Compatible with all industrial system items • Integrates with: Friends API, Clans, BetterTeams • No conflicts with other plugins • Standalone - no dependencies required (friends/clans optional) • Works with building plugins (CopyPaste, etc.) • Oxide/uMod Framework - Fully Compatible • Carbon Framework - Fully Compatible • Single plugin file works on both frameworks automatically TROUBLESHOOTING --------------- Q: Adaptors/splitters aren't appearing on coops A: Check that players have the 'autochickencoop.use' permission Q: Multiple adaptors on one coop A: Use /autochickencoop.reset command to clean up and recreate Q: Want to change adaptor/splitter position A: Edit the config file, reload plugin, then use /autochickencoop.reset Q: Water isn't transferring to coops A: Use /chickencoop.checkwater while looking at coop to diagnose Verify IO connections from water source to fluid splitter Check that water source has water in it Ensure fluid splitter is properly connected Q: Eggs aren't auto-hatching A: Verify player has autochickencoop.autohatch permission Check that coop has eggs in slot 3 Verify chicken count is below MaxChickens config value Check AutoHatch.Enabled = true in config Q: Chickens not at max love/sunlight A: Verify player has autochickencoop.love.max and/or autochickencoop.sunlight Check LoveSystem.UpdateInterval in config (default: 30s) Wait for next update cycle Q: Players without permission have automation A: Existing coops keep automation. Remove permission and use /autochickencoop.reset Q: Chickens being damaged by other players A: Enable ChickenProtection in config Verify OnlyOwnerAndTeamCanDamage = true Check that protection integrations are enabled Q: Player can't place more coops A: They've reached their group limit. Check with /chickencoop.limit Grant them a higher tier permission or .unlimited permission Q: How do I change a player's limit? A: Grant them the permission for a higher tier group: o.grant user PlayerName autochickencoop.vip Q: Player data not saving A: Check oxide/data/AutoChickenCoop/ folder exists and has write permissions Data saves automatically when coops are placed/destroyed Check server console for error messages Q: Want to reset all player data A: Delete files in oxide/data/AutoChickenCoop/ folder and use /autochickencoop.reset Q: How to add custom group limits? A: Edit config file GroupLimits section, add your group and limit: "elite": 20 Then grant permission: o.grant group elite autochickencoop.elite Q: Water transfer rate too slow/fast A: Transfer rate is calculated based on IO chain configuration Add more pumps or tanks to increase rate (10 per pump/tank) Maximum rate is 100 water per 10 seconds Use /chickencoop.checkwater to see current transfer calculations Q: Auto-hatch too fast/slow A: Adjust AutoHatch.CheckInterval in config Lower value = checks more often (faster response) Higher value = checks less often (lower CPU usage) Default: 30 seconds is balanced Q: Love/Sunlight updates not frequent enough A: Adjust LoveSystem.UpdateInterval in config Lower value = updates more often Higher value = updates less often (lower CPU usage) Default: 30 seconds is balanced SUPPORT ------- For support, questions, or feature requests, please contact: Discord: romzar LICENSE ------- This plugin is provided for use on Rust game servers. Redistribution or resale of this plugin is prohibited. © 2025 romzar.games - All rights reserved. ══════════════════════════════════════════════════════ Thank you for using AutoChickenCoop! Build the ultimate automated chicken farm on your server! ══════════════════════════════════════════════════════
    $9.99
  14. Version 2.3.0

    106 downloads

    TITLE SELECTOR Customize Chat Titles Without Losing Permission Groups by romzar.games Description TitleSelector provides an intuitive UI for players to select, hide, or show their chat titles from BetterChat. It also integrates seamlessly with SkillTree, giving players independent control over their Level and Prestige indicators. Players can customize which titles appear in chat without losing their permission groups. Key Features Visual Title Selection — Clean modal UI with green/gray/orange/locked states Title Presets — 5 slots, quick-switch via buttons or keybinds Collectible Display — Shows locked titles players can work towards SkillTree Integration — Independent toggle for Level/Prestige indicators Hide All Option — One-click hide all titles, keep SkillTree/Clan visible Clan Tag Preservation — Clan tags always visible, even with Hide All Emoji Toggle — Hide emoji-only titles or strip emojis from mixed titles Permission-Based Title Limits — Different max titles per group/VIP tier Title Exclusion System — Prevent conflicting titles simultaneously Pagination — Handles large title collections with configurable pages Multi-language Support — Fully translatable via Oxide lang system Persistent Data — Auto-saved per-player, survives restarts/reloads BetterChatGradients Support — Native gradient color support Installation Upload TitleSelector.cs to oxide/plugins/ or carbon/plugins/ Ensure BetterChat is installed and configured Grant permission: o.grant group default titleselector.use Reload the plugin if needed: o.reload TitleSelector (Optional) Customize the config and lang files Dependencies Required: BetterChat — hooks into BetterChat to modify title display Optional: SkillTree — toggle Level/Prestige visibility Clans (Reborn) — clan tags forced visible BetterChatGradients — gradient colors render natively Permissions titleselector.use — Access to the title selector UI titleselector.default — Grants "default" max title limit (default: 3) titleselector.vip1 — Grants "vip1" max title limit (default: 4) titleselector.vip2 — Grants "vip2" max title limit (default: 5) Permission names match keys in "Max titles per permission" config. Player gets the HIGHEST limit from all matching permissions. Permission Examples: # Grant to all players o.grant group default titleselector.use o.grant group default titleselector.default # Grant VIP tiers o.grant group vip titleselector.vip1 o.grant group vip+ titleselector.vip2 # Grant to specific player o.grant user PlayerName titleselector.use o.grant user 76561198000000000 titleselector.use Commands /title — Opens the Title Selector UI (main command) /titulo — Alternative command (configurable) /titulos — Alternative command (configurable) /titlepreset <1-5> — Switch to a specific preset titleselector.preset <1-5> — Console/bind command for preset switching Configuration File: oxide/config/TitleSelector.json or carbon/configs/TitleSelector.json { "Allow hide all titles": true, "Allow toggle SkillTree (level + prestige)": false, "Allow toggle emoji titles": true, "Force show clan tags (Clans)": true, "Emoji patterns (regex)": ["\\s*:\\w+:\\s*"], "Max titles per permission": { "default": 3, "vip1": 4, "vip2": 5 }, "Default max titles (no permission)": 2, "Main command": "title", "Alternative commands": ["titulo", "titulos"], "Ignored groups (hidden from UI)": ["default", "player", "guest"], "Permanent groups (always shown)": [], "Title exclusion groups (mutual exclusion)": [], "Items per page": 7, "UI - Background color": "0.1 0.1 0.1 0.95", "UI - Header color": "0.15 0.15 0.15 1", "UI - Available item color": "0.2 0.2 0.2 0.9", "UI - Locked item color": "0.12 0.12 0.12 0.7", "UI - Selected item color": "0.1 0.4 0.1 0.9", "UI - Close button color": "0.8 0.2 0.2 1", "UI - Active checkbox color": "0.3 0.8 0.3 1", "UI - Restricted item color": "0.35 0.25 0.1 0.9", "UI - Inactive checkbox color": "0.3 0.3 0.3 1" } Configuration Options: Allow hide all titles — Enable/disable the "Hide All" button Allow toggle SkillTree — Enable/disable SkillTree toggle Allow toggle emoji titles — Enable/disable Emoji toggle Force show clan tags — Keep clan tags visible when hiding Emoji/Extra patterns — Regex patterns for emoji detection Max titles per permission — Named permission entries with limits Default max titles — Fallback when no permission matches Main/Alternative commands — Chat commands to open UI Ignored groups — BetterChat groups hidden from UI Permanent groups — Always-displayed groups Title exclusion groups — Mutually exclusive title lists Items per page — Titles per page in UI UI colors — Customize interface appearance Title Exclusion System Prevents conflicting titles from being active simultaneously. { "Title exclusion groups (mutual exclusion)": [ ["vip", "mvp", "elite"], ["admin", "moderator"] ] } A player cannot have "vip" and "mvp" active simultaneously Selecting "mvp" when "vip" is active auto-deselects "vip" Player receives a chat notification about the conflict Restricted titles show in orange in the UI Title Presets Players can save up to 5 different title configurations: Each preset stores: selected titles, hide all, emoji toggle, skilltree toggle Switch via numbered buttons (1-5) in the UI header Active preset highlighted in green Chat: /titlepreset 3 Keybind: bind f5 titleselector.preset 1 Hook events fire for changed titles when switching How It Works Player with titleselector.use permission types /title UI opens showing all available titles Titles organized by status: Active (green) | Available (gray) | Restricted (orange) | Locked Click titles to enable/disable them Use preset buttons (1-5) to save/switch configurations When no titles selected, BetterChat displays by priority Preferences saved automatically Title States Available — Player owns it, interactive checkbox, click to toggle Selected — Green checkbox, displays in chat Restricted — Orange indicator, conflicts with selected title Locked — Collectible/goal, locked icon, cannot select SkillTree Integration Toggle button in the Filters row of the UI Controls Level [Lv.X] and Prestige [Pr.X] visibility Uses skilltree.notitles permission internally Emoji Toggle Controls emoji-only titles (:coffeecan:, , etc.) Strips emojis from mixed titles (e.g., "Admin :star:" becomes "Admin") Works with selected titles and Hide All mode Extra patterns applied when emoji toggle is OFF Gradient Collors Support Gradient colors render correctly when selecting titles Supports hex colors: #ff0000, #00ff00, #0000ff Supports named colors: red, green, blue, yellow, orange, purple, pink, cyan, white, black, gray, gold, silver Multi-color gradients: red,orange,yellow,green No additional configuration required Clan Tag Preservation Clan tags remain visible even with "Hide All" Don't count towards max title limit Prevents hiding clan identity on solo/trio servers Requires Clans Reborn plugin Hide All Feature One-click hide all BetterChat titles Respects SkillTree and Emoji toggle settings Clan tags preserved when configured "Show All" button reverses the action Player Workflow Type /title to open the UI Browse titles using pagination Click checkboxes to select titles (up to max limit) Toggle SkillTree/Emoji visibility Use "Hide All" for quick hiding Save configurations using presets (1-5) Close UI — preferences saved automatically Admin Workflow Install plugin with BetterChat dependency Configure ignored groups Set up permission-based max titles Configure exclusion groups if needed Set permanent groups Customize UI colors Grant permissions to groups Translate lang file if needed API Methods API_GetSelectedTitles(string odId) — Returns List<string> of selected titles API_IsHidingTitles(string odId) — Returns bool hide status API_SetSelectedTitles(string odId, List<string> titles) — Set titles programmatically API_RefreshTitles() — Refresh title cache after config changes Developer Hooks OnTitleSelected(BasePlayer player, string groupName) — Fires on select and preset switch OnTitleDeselected(BasePlayer player, string groupName) — Fires on deselect, exclusion, and preset switch OnTitlesCleared(BasePlayer player, List<string> previousTitles) — Fires on Clear button API Usage Example [PluginReference] private Plugin TitleSelector; void Example(BasePlayer player) { var titles = TitleSelector?.Call<List<string>>( "API_GetSelectedTitles", player.UserIDString); var isHiding = TitleSelector?.Call<bool>( "API_IsHidingTitles", player.UserIDString) ?? false; TitleSelector?.Call("API_SetSelectedTitles", player.UserIDString, new List<string> { "vip", "donator" }); TitleSelector?.Call("API_RefreshTitles"); } Localization File: oxide/lang/en/TitleSelector.json or carbon/lang/en/TitleSelector.json { "NoPermission": "<color=#ff5555>You do not have permission.</color>", "BetterChatNotLoaded": "<color=#ff5555>BetterChat is not loaded!</color>", "TitleLocked": "<color=#ff5555>You do not own this title!</color>", "MaxTitlesReached": "<color=#ff5555>Maximum of {max} titles reached!</color>", "UITitle": "TITLE SELECTOR", "UIStatusHidden": "All titles are hidden", "UIStatusDefault": "Showing default titles (by priority)", "UIStatusSelected": "{count}/{max} titles selected", "UILocked": "Locked", "UISelected": "Active", "UIAvailable": "Available", "UIRestricted": "Restricted", "UIClear": "Clear", "UIHideAll": "Hide All", "UIShowAll": "Show All", "UIClose": "Close", "PresetSwitched": "<color=#55ff55>Preset {num} activated!</color>", "TitleExclusionRemoved": "<color=#ffaa55>Title removed (conflicts).</color>" } Troubleshooting UI not opening? — Check titleselector.use permission Titles not showing in chat? — Ensure BetterChat is loaded SkillTree toggles missing? — Install SkillTree + enable in config Titles missing from UI? — Check "Ignored groups" config Can't select more titles? — Max limit reached, check permissions Changes not saving? — Check data folder permissions Emoji toggle not working? — Enable in config Gradients broken? — Ensure hex colors are right Title shows "Restricted"? — Conflicts with selected title (exclusion groups) Preset not switching? — Needs titleselector.use permission Performance Lightweight and optimized Per-player data files with lazy loading UI rendered on-demand only Safe for high-population servers Compatibility Requires BetterChat (mandatory) Optional: SkillTree, Clans Works with Oxide and Carbon No conflicts with other chat plugins Use Cases VIP Customization — Let VIP players customize chat appearance VIP Tiers — Different limits per donation level Roleplay Servers — Choose titles that fit character Clean Chat — Minimalist players hide all titles Quick Switching — Presets for instant config swaps Exclusive Ranks — Exclusion groups prevent conflicts Clan Identity — Force clan tags for accountability Gradient Titles — Beautiful color gradients Collectibles — Motivate players to unlock titles © 2025-2026 romzar.games — All rights reserved. Thank you for using Title Selector! Give your players control over their chat identity!
    $14.99
  15. Version 1.8.0

    28 downloads

    ════════════════════════════════════════════════ BEEHIVE STORAGE ADAPTOR Industrial Automation for Beehives v1.8.0 by romzar.games ════════════════════════════════════════════════ DESCRIPTION ----------- Beehive Storage Adaptor allows players to connect industrial storage adaptors to beehives, enabling full automation of honey and honeycomb collection through Rust's industrial system. Players can now integrate beehives into their conveyor belt systems, electrical grids, and automated factories! COMPATIBLE WITH BOTH OXIDE/uMOD AND CARBON FRAMEWORKS KEY FEATURES ------------ ✓ Automatic Storage Adaptor Attachment - Automatically attaches a storage adaptor to every beehive placed by authorized players - No player interaction required - completely automatic ✓ Full Industrial System Integration - Connect conveyors directly to beehives - Use electrical switches and power to control honey collection - Build complex automated honey farms ✓ Ideal Conditions System - Force ideal temperature for beehives (per-player permission) - Bypass outside placement requirement - Bypass rain penalty - Each condition has its own permission for granular control - Configurable ideal temperature value ✓ Disable Bee Swarms (Optional) - Option to remove the visual bee swarms around active beehives - Reduces visual clutter on large honey farms - Removes both passive and angry bee effects ✓ Permission-Based System - Control who can have automated beehives - Perfect for VIP perks or donation rewards - Separate admin permissions for management commands ✓ Group-Based Limits System - Configure different beehive limits per permission group - Perfect for VIP tiers and donation rewards - Unlimited permission available for admins/special players - Players get helpful upgrade messages when limit reached - Data persistence - limits maintained across restarts ✓ Per-Player Reset Command - Reset and recreate adaptors for a specific player - Automatically cleans up orphaned data entries - Does not affect other players' beehives - Search by SteamID or player name ✓ Server-Wide Sync Command - Reconcile data files with actual server state - Remove orphaned entries from all players - Recreate missing adaptors on tracked beehives - Add tracking for untracked beehives with adaptors ✓ Admin Global Reset Command - Reposition all adaptors with a single command - Perfect for config adjustments - Works on all existing beehives ✓ Smart Duplicate Prevention - Never creates duplicate adaptors - Safe to reload the plugin anytime - Automatically detects existing adaptors ✓ Dirty Bit Data System - Data only saves to disk when actually changed - Randomized auto-save timer (270-330s) to avoid I/O spikes - Player data removed from memory on disconnect to save RAM - Proper wipe detection clears all data ✓ Automatic Cleanup - Removes adaptors when beehives are destroyed - No orphaned entities - Clean and optimized performance ✓ Multi-Language Support - Full English and Portuguese (pt-BR) translations - All player messages localized automatically - Easy to add more languages INSTALLATION ------------ 1. Upload BeehiveStorageAdaptor.cs to your plugins folder 2. The plugin will auto-generate its config file on first load 3. Grant permissions to players/groups (see PERMISSIONS section) 4. Reload the plugin if needed PERMISSIONS ----------- beehivestorageadaptor.use - Required for players to have storage adaptors on their beehives - Without this permission, beehives work normally (no adaptor) beehivestorageadaptor.admin - Required to use admin commands (/beehive.reset, /beehive.resetplayer, /beehive.sync) - For server administrators only beehivestorageadaptor.unlimited - Bypass all beehive limits - Perfect for admins or special players - No maximum beehive count beehivestorageadaptor.idealtemp - Forces ideal temperature on the player's beehives - Temperature value configured in config (default: 20°C) beehivestorageadaptor.bypassoutside - Beehives always count as "outside" for the player - Allows indoor beehive placement without production penalty beehivestorageadaptor.bypassrain - Removes rain penalty from the player's beehives - Beehives produce at full rate regardless of weather beehivestorageadaptor.{group} - Group-specific limits configured in config file - Examples: beehivestorageadaptor.default, beehivestorageadaptor.vip, beehivestorageadaptor.premium - Players with multiple group permissions get the highest limit PERMISSION EXAMPLES ------------------- Grant to all players with default limit (5 beehives): o.grant group default beehivestorageadaptor.use o.grant group default beehivestorageadaptor.default Grant to VIP group with higher limit (10 beehives): o.grant group vip beehivestorageadaptor.use o.grant group vip beehivestorageadaptor.vip Grant to premium group with highest limit (20 beehives): o.grant group premium beehivestorageadaptor.use o.grant group premium beehivestorageadaptor.premium Grant unlimited beehives to admins: o.grant group admin beehivestorageadaptor.use o.grant group admin beehivestorageadaptor.unlimited Grant ideal conditions to VIP: o.grant group vip beehivestorageadaptor.idealtemp o.grant group vip beehivestorageadaptor.bypassoutside o.grant group vip beehivestorageadaptor.bypassrain Grant admin permissions: o.grant group admin beehivestorageadaptor.admin COMMANDS -------- /beehive.limit (Chat) - Check your current beehive limit and usage - Shows how many beehives you have vs your limit - Available to all players with .use permission - Example output: "Beehive Adaptors: 3/10" /beehive.reset (Chat) or beehive.reset (Console) - Requires: beehivestorageadaptor.admin - Removes all old adaptors and recreates them with current config settings - Useful when adjusting adaptor position/rotation or limits - Shows statistics: beehives found, adaptors removed /beehive.resetplayer <steamid or name> (Chat) or beehive.resetplayer (Console) - Requires: beehivestorageadaptor.admin - Resets adaptors for a specific player only - Cleans up orphaned data entries (registered IDs that no longer exist) - Removes old adaptors and recreates them respecting permissions and limits - Does NOT affect other players' beehives - Accepts SteamID or partial player name - Shows: beehives found, adaptors removed, adaptors recreated, orphans removed /beehive.sync (Chat) or beehive.sync (Console) - Requires: beehivestorageadaptor.admin - Synchronizes data files with actual server state - Removes orphaned entries from all loaded player data - Adds tracking for untracked beehives that already have adaptors - Creates missing adaptors on tracked beehives - Processes all beehives on the map grouped by owner - Shows: players scanned, orphans removed, missing added, adaptors created CONFIGURATION ------------- File Location: config/BeehiveStorageAdaptor.json Default Configuration: { "Enabled": true, "DisableBeeSwarms": false, "GroupLimits": { "default": 5, "vip": 10, "premium": 20 }, "AlwaysIdealConditions": { "Enabled (master switch for ideal conditions patches)": false, "IdealTemperature (16-28 is optimal range, 20 recommended)": 20.0 }, "AdaptorPosition": { "x": 0.0, "y": 1.5, "z": 0.0 }, "AdaptorRotation": { "x": 0.0, "y": 0.0, "z": 0.0 } } Configuration Options: - Enabled: Set to false to disable the plugin without unloading - DisableBeeSwarms: Set to true to remove the visual bee swarms around active beehives. Removes both passive and angry bee effects. - GroupLimits: Dictionary of group names and their beehive limits * "default": 5 = Players with beehivestorageadaptor.default get 5 beehives * "vip": 10 = Players with beehivestorageadaptor.vip get 10 beehives * "premium": 20 = Players with beehivestorageadaptor.premium get 20 beehives * Add as many custom groups as you want * Players with multiple group permissions get the highest limit * Permissions are automatically registered from this config - AlwaysIdealConditions: Harmony patch system for beehive conditions * Enabled: Master switch - must be true for any ideal condition patches to work * IdealTemperature: Temperature value forced on beehives (16-28 optimal, 20 rec.) * Each condition requires its own player permission (see PERMISSIONS) * Patches are applied on load and removed on unload - AdaptorPosition: Position offset relative to the beehive (X, Y, Z) * Y: 1.5 = on top of beehive (default) * Y: -0.4 = below beehive - AdaptorRotation: Rotation of the adaptor in degrees (X, Y, Z) HOW IT WORKS ------------ 1. Player with 'use' permission places a beehive 2. Plugin checks if player has reached their group limit 3. If within limit, plugin automatically attaches a storage adaptor 4. If limit reached, player receives a message with upgrade information 5. Player can now connect industrial components: - Conveyors to transport honey/honeycomb - Power switches to control automation - Electrical circuits for advanced setups 6. When beehive is destroyed, adaptor is removed and count updated 7. Player data is saved persistently across server restarts 8. On player disconnect, data saves and is removed from memory ADMIN WORKFLOW -------------- 1. Configure GroupLimits in config file for your server tiers 2. Grant 'use' permission and group limit permissions to players/groups 3. Enable AlwaysIdealConditions and grant condition permissions if desired 4. Adjust position/rotation in config if needed 5. Use /beehive.reset to apply config changes to all existing beehives 6. Use /beehive.resetplayer <name> to fix a specific player's beehives 7. Use /beehive.sync to reconcile data with server state after issues COMMON SCENARIOS FOR NEW COMMANDS ---------------------------------- Player reports beehive lost its adaptor: -> /beehive.resetplayer PlayerName Recreates all adaptors for that player, cleans orphaned data. Player removed adaptor manually and data is out of sync: -> /beehive.resetplayer PlayerName Removes stale entries, re-processes all their beehives. Server crash or unexpected restart caused data inconsistencies: -> /beehive.sync Scans entire map, fixes all mismatches for all players. Migrated from older plugin version: -> /beehive.sync Picks up existing adaptors and adds missing tracking entries. DATA FILES ---------- Player data is automatically saved to: data/BeehiveStorageAdaptor/{steamid}.json Each player's file contains: - Steam ID - List of beehive network IDs with adaptors - Last update timestamp Example data file (76561198012345678.json): { "SteamID": 76561198012345678, "BeehiveIDs": [12345678, 87654321, 11223344], "LastUpdated": "2025-10-17T10:30:00.0000000Z" } Data Features: - Dirty bit tracking - only writes to disk when data actually changes - Randomized auto-save interval (270-330s) to prevent I/O spikes - Player data unloaded from memory on disconnect - Proper wipe detection via OnNewSave - Individual files per player for easy management PERFORMANCE ----------- - Dirty bit system prevents unnecessary disk writes - Randomized save timers avoid multiple plugins saving simultaneously - Player data removed from RAM on disconnect - Efficient reverse lookup map (beehive ID -> player ID) - Only processes when beehives are placed or destroyed - Harmony patches are lightweight prefix overrides - Safe to use on high-population servers COMPATIBILITY ------------- - Works with vanilla Rust - Compatible with all industrial system items - No conflicts with other plugins - Standalone - no dependencies required - Works with building plugins (CopyPaste, etc.) - Oxide/uMod Framework - Fully Compatible - Carbon Framework - Fully Compatible - Single plugin file works on both frameworks automatically TROUBLESHOOTING --------------- Q: Adaptors aren't appearing on beehives A: Check that players have the 'beehivestorageadaptor.use' permission Q: Multiple adaptors on one beehive A: Use /beehive.reset command to clean up and recreate all adaptors Q: Want to change adaptor position A: Edit the config file, reload plugin, then use /beehive.reset Q: Players without permission have adaptors A: Existing beehives keep adaptors. Remove permission and use /beehive.reset Q: Want to remove bee swarms from beehives A: Set "DisableBeeSwarms": true in config and reload the plugin Q: Player can't place more beehives A: They've reached their group limit. Check with /beehive.limit command. Grant them a higher tier permission or .unlimited permission. Q: Player says beehive came back without adaptor A: Use /beehive.resetplayer <name> to fix that specific player's beehives Q: Data seems out of sync after server issues A: Use /beehive.sync to reconcile all data with actual server state Q: Ideal conditions not working A: Check that AlwaysIdealConditions.Enabled is true in config AND the player has the specific permission (idealtemp, bypassoutside, bypassrain) Q: How to add custom group limits? A: Edit config file GroupLimits section, add your group and limit: "elite": 50 Then grant permission: o.grant group elite beehivestorageadaptor.elite SUPPORT ------- For support, questions, or feature requests, please contact: Discord: romzar LICENSE ------- This plugin is provided for use on Rust game servers. Redistribution or resale of this plugin is prohibited. © 2025 romzar.games - All rights reserved. ═══════════════════════════════════════════════ Thank you for using Beehive Storage Adaptor! Enhance your server with industrial automation! ═══════════════════════════════════════════════
    $9.99
2.3m

Downloads

Total number of downloads.

10.6k

Customers

Total customers served.

153.7k

Files Sold

Total number of files sold.

3.3m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.