

StructureUpgrade allows players to upgrade entire structures, regardless of size, quickly, efficiently and securely using as much of Rust's code as possible to maintain stability.
StructureUpgrade was built for performance from the ground up, and resolves many issues in free alternatives such as exploits, client & server crashes, and extreme lag.
In addition, due to issues a lot of plugins suffer from, I offer a 6 month support guarantee with maximum 7 day turnaround (including for updates to fix the plugin if functionality is lost due to updates) for all support handled through Codeflings support system. If I can't get the plugin into a working condition or provide a reasonable level of support through Codeflings support requests within 7 days, I'll refund what you paid for the plugin if within the 6 month guarantee period.
Support is provided in many places other than Codeflings support system, and I encourage everyone to ask on the forums or our discord first for the fastest response times. Click here to join my discord.
Features
Supports a virtually infinite queue with optimized queue storage, jobs are stored and tracked in a data file and worked one at a time. Players are notified when their job starts.
Unlike the simpler free alternative this plugin is optimized to prevent crashing on upgrading large structures, optimized to eliminate server lag, only a small frame drop for players looking at the structure.
Uses Rusts existing building system rather than a janky, laggy alternative. We don't to build lists of entities because Rust already maintains that for us. We're just manipulating and using that information.
Free alternative has an exploit allowing players to unintentionally upgrade nearby structures that aren't theirs, StructureUpgrade resolves that issue.
Permissions
structureupgrade.free - Allows the player to bypass the upgrade costs when upgrading. They still must be authenticated on the tool cabinet.
structureupgrade.up - Allows the player to use the /tc command.
structureupgrade.uptc - Allows the player to use the /uptc command.
structureupgrade.ups - Allows the player to use the /ups command.
structureupgrade.norefund - Disables refunding cost when using /down for that player.
Chat Commands
Up Command
Provided NewGrade variable is inside supported range; currently 0 - 4.
Command is run by a player.
Player is inside building privilege.
Player is authenticated on dominating tool cabinet, or has permission structureupgrade.admin.
Player has upgrade costs in inventory, or has permission structureupgrade.free.
Down Command
Provided NewGrade variable is inside supported range; currently 0 - 4.
Command is run by a player.
Player is inside building privilege.
Player is authenticated on dominating tool cabinet, or has permission structureupgrade.admin.
Player has space for refunded resources in main inventory, or has permission structureupgrade.norefund.
UpTc Command
Provided NewGrade variable is inside supported range; currently 0 - 4.
Command is run by a player.
Player is inside building privilege.
Player is authenticated on dominating tool cabinet, or has permission structureupgrade.admin.
Player has upgrade costs in inventory, or has permission structureupgrade.free.
UpS Command
Provided NewGrade variable is inside supported range; currently 0 - 4.
Command is run by a player.
Player is inside building privilege.
Player is authenticated on dominating tool cabinet, or has permission structureupgrade.admin.
Player has upgrade costs in building storages, or has permission structureupgrade.free.
Configuration
Default Configuration
{ "BatchSize": 1, "AllowUpgradeFromTc": true, "AllowUpgradeFromStorages": true, "UpgradeFrequency": 0.025, "HidePrefixWithPluginNameInMessages": false }
AllowUpgradeFromTc - If enabled the /uptc command is registered, if disabled /uptc is not registered and will result in an unknown command error.
AllowUpgradeFromStorages - If enable the /ups command is registered, if disabled /uptc is not registered and will result in an unknown command error.
BatchSize - Determines how many building blocks are upgraded every UpgradeFrequency.
WARNING! :: Increasing this value does considerably reduce time to upgrade a structure. However for every 1 (one) increment players in the area will see a reduced 15 fps average. Setting this to 3 may kill fps by up to 30 in addition to the normal 20 or so. It is strongly recommended to modify UpgradeFrequency instead.
HidePrefixWithPluginNameInMessages - If enabled the [StructureUpgrade] branding is removed from all player communications, as this is attached programatically rather than through the lang file.
UpgradeFrequency - This is the frequency in fractions of a second that upgrades structures (quantity defined by BatchSize). This is optimized by default, lowering it too far will still cause lag. By default 1 block is upgraded every 25ms, or 0.025 seconds.
For Developers
Currently no API or Hooks exposed. This will be changed in the future, suggestions welcome.
Future Features
Want a feature not listed? Please suggest it as I'd love to continue expanding and increasing on the already substantial feature sets of StructureUpgrade.
FAQ
Where can I get support and interact with the community & developer?
Codefling provides a support and discussion tab that's perfect for that.
Additionally you're welcome to join my discord for faster more direct support: Click here to join!
What checks are conducted to prevent abuse when upgrading?
There are a few checks in addition to the checks defined for each command in the commands section above.
Total number of downloads.
Total customers served.
Total number of files sold.
Total payments processed.
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.