About Limit Entities
The purpose of this plugin is to restrict the entities that players can build. You can limit any entity based on its prefab. To get the full list of supported prefabs, use the limitentities.list console command.
There are three types of limits available: global, building, and radius. For building limit checks, if a cupboard is placed, the limits of the cupboard owner will apply. If no cupboard is present, the restrictions of the first block's owner will be used. When you run the plugin for the first time, no players will be restricted. To apply limits, you must assign one or more permissions from your config file to a player or group. The plugin also tracks permission changes, so you won't need to restart it after granting a player new permissions or adding them to a VIP group, for example. This plugin is designed to be efficient and performant, even on heavily loaded servers.
The plugin now supports Entity Groups, and group names are translatable. All newly created groups are automatically added to the language files when the plugin loads. You can create as many groups as you like or remove them entirely. Just keep in mind that if you add an entity to a group, you cannot also add it to Limits Entities — you must use the Group name instead.
Extended Power Lights (Deluxe Christmas Lights) support has been added: a new group of limits is now included in the config. The default values are set to -1, meaning no limits. Adjust them according to your needs.
Radius Limits allow you to restrict the number of specific entities within a certain radius. This feature is designed for static deployable entities (like turrets or lights) and helps prevent spam placement in concentrated areas.
Note: Radius limits only work for static entities (entities that don't move after placement). This feature can be resource-intensive if used with very large radius values or too many entities, so use it judiciously.
Note: If you want to have "beautiful" names even on English only, please, install Rust Translation API plugin or you will have short prefab names only.
## Permissions
- limitentities.immunity -- Allows player to not being limited by this plugin
-
limitentities.admin -- Allows player to check other player limits and execute console command
More permissions with limits are created in config file (see Configuration section below)
## Commands
- /limits <player name | steamid> (optional) -- Get current limits list for a player. If player doesn't have admin permission or player name/id is empty - current player limit will be shown
- limitentities.list (console only) - print all tracked prefabs list into log file. Requires admin rights (can be used in server console/RCON)
## Configuration
- You can remove unnecessary default permissions and also add as many permissions as you want. For cases where the player has more than one, the permission with the higher priority will be applied.
Note: For better performance, grant permissions only to players you want to limit, or use an immunity permission to disable limits entirely.
- Enable or disable notifications and logging.
- Set the Building Detection Range to be used when a building is not specified (e.g., not a decay entity). Do not set this value too high — it may significantly impact performance!
- Enable or disable tracking (and limiting) for Power Lights (Deluxe Christmas Lights).
- Enable or disable tracking (and limiting) for Growable Entities.
- Set the SteamIDIcon to a specific SteamID to customize the account icon in chat messages.
- Define the commands list (defaults are limits and limit).
- Set the percentage (%) at which limit notifications appear. If set to 0, notifications will only show when the limit is reached.
- Add entity prefab names to the Excluded List to make the plugin completely ignore those prefabs.
- Enabling Prevent Excessive Merging of buildings may affect performance, so use it at your own risk!
- Use Entity Groups to combine entities and set a shared limit for the entire group.
Note: The same entity cannot be listed in both Group Entities and Limits Entities at the same time.
Quote{ "Enable GameTip notifications": false, "Enable notifications in chat": false, "Chat steamID icon": 0, "Commands list": [ "limits", "limit" ], "Warn when more than %": 80.0, "Building detection range": 1.51, "Track growable entities": false, "Track powered lights": false, "Excluded list": [ "assets/prefabs/building/ladder.wall.wood/ladder.wooden.wall.prefab" ], "Entity Groups": [ { "Group name": "Foundations", "Group Entities list": [ "assets/prefabs/building core/foundation.triangle/foundation.triangle.prefab", "assets/prefabs/building core/foundation/foundation.prefab" ] }, { "Group name": "Furnace", "Group Entities list": [ "assets/prefabs/deployable/furnace/furnace.prefab", "assets/prefabs/deployable/legacyfurnace/legacy_furnace.prefab", "assets/prefabs/deployable/playerioents/electricfurnace/electricfurnace.deployed.prefab" ] }, { "Group name": "PlanterBoxes", "Group Entities list": [ "assets/prefabs/deployable/planters/planter.large.deployed.prefab", "assets/prefabs/deployable/planters/planter.small.deployed.prefab", "assets/prefabs/deployable/planters/planter.triangle.deployed.prefab", "assets/prefabs/misc/decor_dlc/bath tub planter/bathtub.planter.deployed.prefab", "assets/prefabs/misc/decor_dlc/minecart planter/minecart.planter.deployed.prefab", "assets/prefabs/misc/decor_dlc/rail road planter/railroadplanter.deployed.prefab", "assets/prefabs/misc/decor_dlc/rail road planter/triangle_railroad_planter.deployed.prefab" ] }, { "Group name": "Quarries", "Group Entities list": [ "assets/prefabs/deployable/oil jack/mining.pumpjack.prefab", "assets/prefabs/deployable/quarry/mining_quarry.prefab" ] }, { "Group name": "Roof", "Group Entities list": [ "assets/prefabs/building core/roof.triangle/roof.triangle.prefab", "assets/prefabs/building core/roof/roof.prefab" ] }, { "Group name": "TC", "Group Entities list": [ "assets/prefabs/deployable/tool cupboard/cupboard.tool.deployed.prefab", "assets/prefabs/deployable/tool cupboard/retro/cupboard.tool.retro.deployed.prefab", "assets/prefabs/deployable/tool cupboard/shockbyte/cupboard.tool.shockbyte.deployed.prefab" ] } ], "Permissions": [ { "Permission": "default", "Priority": 10, "Limits Global": { "Limit Total": 2000, "Limits Entities": { "assets/content/props/strobe light/strobelight.prefab": 10, "assets/prefabs/deployable/campfire/campfire.prefab": 20, "assets/prefabs/deployable/ceiling light/ceilinglight.deployed.prefab": 50, "assets/prefabs/deployable/furnace.large/furnace.large.prefab": 5, "assets/prefabs/deployable/oil refinery/refinery_small_deployed.prefab": 5, "assets/prefabs/deployable/search light/searchlight.deployed.prefab": 10, "assets/prefabs/deployable/windmill/electric.windmill.small.prefab": 10, "assets/prefabs/npc/sam_site_turret/sam_site_turret_deployed.prefab": 0, "Foundations": 300, "Furnace": 10, "PlanterBoxes": 50, "Quarries": 2, "Roof": 200, "TC": 10 } }, "Limits Building": { "Limit Total": 1000, "Limits Entities": { "assets/content/props/strobe light/strobelight.prefab": 5, "assets/prefabs/deployable/search light/searchlight.deployed.prefab": 5, "assets/prefabs/deployable/windmill/electric.windmill.small.prefab": 5 } }, "Limits Radius": { "Radius": 20.0, "Limits Entities": { "assets/content/props/strobe light/strobelight.prefab": 5, "assets/prefabs/deployable/search light/searchlight.deployed.prefab": 5, "assets/prefabs/deployable/windmill/electric.windmill.small.prefab": 5 } }, "Limits Powered Lights": { "Maximum Point Count": -1, "Maximum Total Length": -1.0, "Maximum Distance Between Points": -1.0 }, "Prevent excessive merging of buildings": false }, { "Permission": "vip", "Priority": 20, "Limits Global": { "Limit Total": 5000, "Limits Entities": { "Foundations": 500, "Roof": 400 } }, "Limits Building": { "Limit Total": 2000, "Limits Entities": { "assets/content/props/strobe light/strobelight.prefab": 15, "assets/prefabs/deployable/search light/searchlight.deployed.prefab": 15, "assets/prefabs/deployable/windmill/electric.windmill.small.prefab": 15 } }, "Limits Radius": { "Radius": 0.0, "Limits Entities": {} }, "Limits Powered Lights": { "Maximum Point Count": -1, "Maximum Total Length": -1.0, "Maximum Distance Between Points": -1.0 }, "Prevent excessive merging of buildings": false }, { "Permission": "elite", "Priority": 30, "Limits Global": { "Limit Total": 10000, "Limits Entities": { "Foundations": 2000, "Roof": 1000 } }, "Limits Building": { "Limit Total": 5000, "Limits Entities": { "assets/content/props/strobe light/strobelight.prefab": 20, "assets/prefabs/deployable/search light/searchlight.deployed.prefab": 20, "assets/prefabs/deployable/windmill/electric.windmill.small.prefab": 20 } }, "Limits Radius": { "Radius": 0.0, "Limits Entities": {} }, "Limits Powered Lights": { "Maximum Point Count": -1, "Maximum Total Length": -1.0, "Maximum Distance Between Points": -1.0 }, "Prevent excessive merging of buildings": false } ], "Log Level (Debug, Info, Warning, Error, Off)": "Off" }
## Localization
- Plugins phrases are available on 3 languages out of the box: English, Ukrainian and Russian
- Plugin supports Rust Translation API which allows you to have entities names on any language Rust supports
Quote{ "Error.EntityIsNotAllowed": "You are not allowed to build <color=#FFA500>{0}</color>", "Error.PlayerNotFound": "Player <color=#FFA500>{0}</color> not found!", "Error.LimitBuilding.EntityMergeBlocked": "You can't merge these buildings because the limit of <color=#FFA500>{1}</color> will be exceeded by <color=#FFA500>{0}</color>", "Error.LimitBuilding.EntityReached": "You have reached the limit <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> <color=#FFA500>{2}</color> in this building", "Error.LimitBuilding.MergeBlocked": "You can't merge these buildings because the limit of entities will be exceeded by <color=#FFA500>{0}</color>", "Error.LimitBuilding.Reached": "You have reached the limit <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> entities in this building", "Error.LimitGlobal.EntityReached": "You have reached the limit <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> <color=#FFA500>{2}</color>", "Error.LimitGlobal.Reached": "You have reached the global limit <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> entities", "Error.LimitPoweredLights.Length": "You have exceeded the total length limit of <color=#FFA500>{0}</color> meters for <color=#FFA500>{1}</color>", "Error.LimitPoweredLights.LengthPoint": "The distance between points exceeds the limit of <color=#FFA500>{0}</color> meters for <color=#FFA500>{1}</color>", "Error.LimitPoweredLights.PointCount": "You have reached the limit of <color=#FFA500>{0}</color> points for <color=#FFA500>{1}</color>", "Error.LimitRadius.EntityReached": "You have reached the limit <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> <color=#FFA500>{2}</color> {3}", "Error.NoPermission": "You do not have permission to use this command!", "Format.Meters": "within a radius of <color=#FFA500>{0}</color> meters", "Format.Prefix": "<color=#00FF00>[Limit Entities]</color>: ", "Info.Help": "Get current limits: <color=#FFFF00>/{0}</color>", "Info.LimitBuilding": "You have built <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> entities in this building", "Info.LimitBuildingEntity": "You have built <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> <color=#FFA500>{2}</color> in this building", "Info.LimitGlobal": "You have built <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> entities", "Info.LimitGlobalEntity": "You have built <color=#FFA500>{0}</color> of <color=#FFA500>{1}</color> <color=#FFA500>{2}</color>", "Info.Limits": "\nYour global limits are:\n<color=#FFA500>{0}</color>\nYour limits per building are:\n<color=#FFA500>{1}</color>", "Info.TotalAmount": "Total amount: <color=#FFA500>{0}</color>", "Info.Unlimited": "Your ability to build is unlimited", "Foundations": "Foundations", "Furnace": "Furnace", "PlanterBoxes": "PlanterBoxes", "Quarries": "Quarries", "Roof": "Roof", "TC": "TC" }
There is a free version on uMod, why do you even need this plugin?
- First of all, this plugin was designed to be efficient and performant. It uses unique caching system that should not consume no additional server resources
- Much more efficient building limit control system even without cupboard placed
- More accurate mechanism for notification messages
- Allows you to prevent entities placement if limit is set to 0
- Supports Rust Translation API so you can have full support of any language Rust supports
- Supports Entity Groups !
- Supports checks to prevent excessive merging of buildings
- Supports Abandoned Bases plugin
- Supports advanced limits for Power Lights (Deluxe Christmas Lights)
- Supports setting advanced building detection range
- Advanced radius-based limiting system for area control