Supported Games
This plugin will allows the server owner to lock out any or all workbenches from being crafted until specified amounts of time have elapsed since start of wipe, or indefinitely / until manually unlocked.
Also optionally supports blocking research of locked workbenches so that players can't then replicate them via industrial crafters.
Supports the following notification method(s) on craft/research failure: Chat (up to once every 5 seconds), sound, toast.
Tutorial Island players are exempted from lockouts, as completing that requires crafting a Level 1 Workbench.
Important
This plugin is based on "Timed Workbench" by DizzasTeR, but is a significant overhaul. The two plugins cannot coexist in a single server installation.
The plugin will detect map wipes and will automatically refresh the workbench locks. To facilitate other forms of wiping, the server owner/maintainer may manually invoke the twwipe command.
Permissions
timedworkbenchunlock.skiplock— Allows crafting workbenches regardless of lock statustimedworkbenchunlock.admin— Gives access to all commands belowtimedworkbenchunlock.broadcast— Gives access to thetwbroadcastcommandtimedworkbenchunlock.info— Gives access to thetwinfocommandtimedworkbenchunlock.modify— Gives access to thetwmodifycommandtimedworkbenchunlock.reload— Gives access totwreloadcommandtimedworkbenchunlock.reset— Gives access totwresetcommandtimedworkbenchunlock.wipe— Gives access totwwipecommand
Note: No permissions are granted automatically.
Commands
twbroadcast <value>— Configure global status broadcast period to the specified number of seconds, or specify a non-positive number to disabletwinfo— Prints elapsed time since wipe, and unlock status and times for each workbench tiertwmodify <tier> <value>— Configure lockout for the given workbench tier, where a negative value is indefinite lockout, zero is unlocked, and a positive value is the number of seconds to unlock after start of wipetwreload— Reload the config file to pick up manual changes while the server is runningtwreset— Resets config to the default settings (be careful with this!)twwipe— Resets the last wipe timestamp to the current time, effectively restarting the lockout timers
Configuration
Example config file:
{
"Block crafting of locked workbench(es)": true,
"Block researching of locked workbench(es)": true,
"Report craft failure as chat message": false,
"Report craft failure as sound effect": true,
"Report craft failure as toast message": true,
"Global status broadcast interval in seconds (0 to disable)": 300,
"Time that current wipe started (UTC)": "2024-12-10T01:05:57Z",
"Workbench unlock times (seconds from start of wipe, or 0 for unlocked, or -1 for permanently locked)": [
86400,
172800,
259200
]
}
Except for detailed tweaks to wipe time, all of the config settings are modifiable via ingame comands.
Credits
- DizzasTeR for the original "Timed Workbench" plugin on which this is based
- Umod.org documentation/forums/discord
- Other plugins as examples of best practices and Oxide API usage
- MrBlue for being patient with me lol
- misticos for detailed feedback
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

