Oxide Sync is live: your plugins install and update themselves →
Plant Rate Limiter cover art
FreeUtility

Plant Rate Limiter

by Base Inspector · v4.3.0 · updated Nov 8, 2026

PlantRateLimiter is a lightweight, performance-optimized Oxide plugin that prevents players from spamming seeds and clones across the map.

No dependencies: works on its own.

Installs itself with Oxide Sync. Add it to a linked server from My servers. Every future update included. How it works

  • Full C# source
  • Free updates
  • Signed releases
  • Oxide / uMod compatible

🌱 PlantRateLimiter (v4.3.0)

Author: Base Inspector
Platform: Rust (Oxide/uMod)
Category: Anti-Spam / Farming Control / Performance Protection


🛡 Overview

PlantRateLimiter is a lightweight, performance-optimized Oxide plugin that prevents players from spamming seeds and clones across the map.

Designed specifically for high-population and modded servers (including 100x environments), this plugin ensures farming remains balanced while protecting your server from entity spam and unnecessary performance strain.

It enforces a configurable cooldown between plant placements --- anywhere in the world --- without interfering with normal gameplay flow.


🚀 Why Use PlantRateLimiter?

Seed and clone spam can:

  • ❌ Create excessive world entities
  • ❌ Hurt server FPS
  • ❌ Be abused for griefing
  • ❌ Cause unnecessary lag during raids or PvP

PlantRateLimiter solves this with a clean, efficient cooldown system that:

  • ✔️ Works globally (not just per area)
  • ✔️ Includes admins by default (no hidden bypass)
  • ✔️ Prevents spam without breaking immersion
  • ✔️ Automatically refunds blocked seeds/clones (optional)
  • ✔️ Uses O(1) dictionary lookups for maximum performance

🔧 Core Features

🌿 Global Plant Cooldown

Players must wait a configurable number of seconds before planting another seed or clone.

Default: 30 seconds

Fully configurable in config.json.


🧠 Smart Detection System

The plugin detects planting in two ways:

  1. CanDeployItem Hook -- Blocks placement before it happens (when supported by the build).
  2. OnEntityBuilt Hook -- Fallback protection to catch placement even if deploy hook fails.

This dual-hook system ensures reliability across Rust branches and updates.


🔄 Optional Seed Refund

When a player is blocked:

  • The spawned plant entity is instantly removed
  • The player can optionally receive 1 seed/clone refunded
  • If inventory is full, the item drops safely at their feet

This prevents item loss frustration while still enforcing cooldowns.


💬 Anti-Spam Chat Notifications

When blocked, players receive:

Planting is on cooldown. Try again in 18s.

To prevent chat flooding, notification messages are rate-limited separately.


🔐 Permission-Based Bypass (Explicit Only)

Admins are NOT automatically bypassed.

To bypass cooldown:

plantratelimiter.bypass

⚙️ Configuration Example

{
  "CooldownSeconds": 30.0,
  "NotifyBlocked": true,
  "MessageCooldownSeconds": 2.0,
  "Debug": false,
  "RefundOnBlock": true,
  "PlantPrefabNameContains": [
    "hemp",
    "corn",
    "pumpkin",
    "berry",
    "plant"
  ]
}

💬 Player Command

/plantcd

Shows remaining cooldown time:

Plant cooldown: 12s remaining.

Or:

Plant cooldown: ready

🛠 Permissions

Permission Description


plantratelimiter.bypass Allows planting without cooldown plantratelimiter.admin Reserved for future tooling


📦 Installation

  1. Upload PlantRateLimiter.cs to:

    oxide/plugins/
    
  2. Reload:

    oxide.reload PlantRateLimiter
    

Configuration file will auto-generate in:

oxide/config/PlantRateLimiter.json

🌱 Keep Farming --- Without the Spam

PlantRateLimiter keeps your world clean, your FPS stable, and your gameplay balanced --- without punishing legitimate players.

If you're running a serious Rust server, this belongs in your plugin stack.

You may also like