Skip to content

Releases: ShimmyMySherbet/SherbetVaults

v1.2.5 - Bug fixes

26 Mar 01:30
Compare
Choose a tag to compare
v1.2.5 - Bug fixes Pre-release
Pre-release

Changes

  • Fixed taking items from closed vaults (Thanks @HathHub, #23)
  • Failed database operations now retry (Thanks @HathHub, #23)
  • Removed the Vault permissions field from the config, since it was causing a lot of confusion.

The permission config changes might break some configurations of the plugin. You can see an explanation of why this was removed, and what to do if your permissions are broken after the update can be seen here: #20

This update has not been fully tested, as such it is being released as a pre-release until it has been deemed stable.

v1.2 - Major Update

04 Dec 15:16
ae7c1a3
Compare
Choose a tag to compare

Changelog

  • Added Vault Alias system, allowing players to set aliases for their vaults
  • Added Item Whitelist/Blacklist system, with some advanced item selectors.
  • Switched database connection mode to transient to fix database issues on some servers (#10)
  • Removed vault caching option, as the performance gain was minimal and could introduce duplication exploits
  • Added config option DatabaseTablePrefix to allow for multiple servers to have different vaults in the same database (#5)
  • Fixes to default vault selection (#6)
  • Updated RocketExtensions to v2.12 to address issue #2

Vault Aliases

Allows players to set an alias for a vault. Similar to renaming a vault.
This allows players to customize their vaults more.
E.g., creating a vault alias for 'MVP' named 'Guns'. So, using /Vault Guns opens their 'MVP' vault.
This feature is disabled by default, to enable it, set VaultAliasesEnabled in the config to True.

For a player to use a previously set vault alias, the permission SherbetVaults.Vault.Alias needs to be given. And for a player to manage their aliases, the /VaultAlias command needs to be granted.

Max aliases can be granted with the permission SherbetVaults.MaxAliases.XXX, where XXX is the max number of aliases. By default, players do not have a max number of aliases.

If a player sets aliases and then loses the SherbetVaults.Vault.Alias permission, they will lose the ability to use the aliases, but the aliases won't be deleted. If they regain the permission, they can continue to use their previously set aliases.

This feature has been designed to be suitable as a donation rank feature, as a purely QOL feature.

Item Restrictions

SherbetVaults now comes with a rather powerful item whitelist/blacklist system. You can create groups that act as a whitelist or blacklist, and assign them to players using permissions.

Restriction groups can be assigned to players with the SherbetVaults.Restrict.Group where Group is the GroupID. By default any restriction groups you create will not have an effect, you must assign players the permission.

You can also assign different messages to be sent to the player when they try to store a blacklisted item in their vault. This can be done by changing the TranslationKey setting of the group and then adding a message for it to the translations file.

Groups can have a weight assigned to them. The greater the weight the earlier it is applied. This means you can create a restriction group for e.g., Lead Staff that whitelists certain items that are blacklisted globally.

Rather than just listing item IDs, you can use item selectors. As of this update, the following selectors are available:

  • Single Item

    Format: ItemID
    Example: 15
    Specifies a single item ID
  • Item Range

    Format: ItemID-ItemID
    Example: 288-295
    Specifies a range of items, inclusive.
  • Item Slot

    Format: Slot:ItemEquipSlot
    Example: Slot:Primary
    Specifies items based on their equitable slot. E.g., Primary selects primary weapons.
    Available Options: None (Cannot be equipped), Primary, Secondary, Tertiary (equipable items, e.g., food, binoculars)
  • Item Type

    Format: Type:ItemType
    Examples: Type:Gun, Type:Medical, Type:Food
    Specifies items based on their type. E.g., Guns selects all guns, Food selects food items.
    Small Selection of options: Clothing Slots, e.g., Hat, Gun, Food, Water, Trap, Melee, Magazine, Gun Attachment slots, e.g., Optic, Structure, and a lot more. A wiki page will be made for this.
  • Item Spawn Table

    Formats: Table:TableName, Table:TableID
    Examples: Table:Police*, Table:22
    Specifies an items based on what spawn tables they appear in. Spawn tables are based on the map.
    When using a table name, specifying Police matches tables that are exactly named 'Police', so 'Police_Guns' wouldn't be matched.
    The * Symbol matches anything, So Police* would match 'Police' as well as 'Police_Guns'
    You can see a list of spawn tables for official maps Here
  • Item Workshop

    Format: Workshop:WorkshopID
    Example: Workshop:2136497468
    Specifies items that originate from a workshop mod. E.g., Workshop:2136497468 specifies Elver Items, since '2136497468' is Elver's workshop ID. These are the same workshop IDs you use in your server's WorkshopDownloadConfig.json
    Note: This currently seems to be a bit broken and may not work

Note

Since the libraries for this plugin have been updated since the last version, you will also need to re-install the libraries if you are upgrading from an older version.

Revision 2 & 5

Added some missing libraries to the release zip. (Not sure how this keeps happening...) (#16)

Revision 3 & 4

Fixed the release zip. Prev one was in rar format, not zip, meaning most archive tools couldn't open it.
I have since stopped using WinRar since this has been constantly happening.

v1.2c - Vault Aliases and Item Restrictions

26 Jun 10:27
ab44bd6
Compare
Choose a tag to compare

Changelog

  • Added Vault Alias system, allowing players to set aliases for their vaults
  • Added Item Whitelist/Blacklist system, with some advanced item selectors.
  • Added option to use transient database connection for servers with an unstable database connection
  • Updated RocketExtensions to v2.12 to address issue #2
  • Fixes to default vault selection

Please Note: This is an update pre-release

This update has not been properly tested, and there could be issues with the new features
If you experience any issues with this pre-release, open an issue in the Issues tab.

Vault Aliases

Allows players to set an alias for a vault. Similar to renaming a vault.
This allows players to customise their vaults more.
E.g., creating a vault alias for 'MVP' named 'Guns'. So, using /Vault Guns opens their 'MVP' vault.
This feature is disabled by default, to enable it, set VaultAliasesEnabled in the config to True.

For a player to use a previously set vault alias, the permission SherbetVaults.Vault.Alias needs to be given. And for a player to manage their aliases, the /VaultAlias command needs to be granted.

Max aliases can be granted with the permission SherbetVaults.MaxAliases.XXX, where XXX is the max number of aliases. By default, players do not have a max number of aliases.

If a player sets aliases, and then loses the SherbetVaults.Vault.Alias permission, they will lose the ability to use the aliases, but the aliases won't be deleted. If they regain the permission, they can continue to use their previously set aliases.

This feature has been designed to be suitable as a donation rank feature, as a purely QOL feature.

Item Restrictions

SherbetVaults now comes with a rather powerful item whitelist/blacklist system. You can create groups that act as a whitelist or blacklist, and assign them to players using permissions.
Rather than just listing item IDs, you can use item selectors. As of this update, the following selectors are available:

  • Single Item

    Format: ItemID
    Example: 15
    Specifies a single item ID
  • Item Range

    Format: ItemID-ItemID
    Example: 288-295
    Specifies a range of items, inclusive.
  • Item Slot

    Format: Slot:ItemEquipSlot
    Example: Slot:Primary
    Specifies items based on their equitable slot. E.g., Primary selects primary weapons.
    Available Options: None (Cannot be equipped), Primary, Secondary, Tertiary (equipable items, e.g., food, binoculars)
  • Item Type

    Format: Type:ItemType
    Examples: Type:Gun, Type:Medical, Type:Food
    Specifies items based on their type. E.g., Guns selects all guns, Food selects food items.
    Small Selection of options: Clothing Slots, e.g., Hat, Gun, Food, Water, Trap, Melee, Magazine, Gun Attachment slots, e.g., Optic, Structure, and a lot more. A wiki page will be made for this.
  • Item Spawn Table

    Formats: Table:TableName, Table:TableID
    Examples: Table:Police*, Table:22
    Specifies an items based on what spawn tables they appear in. Spawn tables are based on the map.
    When using a table name, specifying Police matches tables that are exactly named 'Police', so 'Police_Guns' wouldn't be matched.
    The * Symbol matches anything, So Police* would match 'Police' as well as 'Police_Guns'
    You can see a list of spawn tables for official maps Here
  • Item Workshop

    Format: Workshop:WorkshopID
    Example: Workshop:2136497468
    Specifies items that originate from a workshop mod. E.g., Workshop:2136497468 specifies Elver Items, since '2136497468' is Elver's workshop ID. These are the same workshop IDs you use in your server's WorkshopDownloadConfig.json

Transient Database Connection

By default, SherbetVaults connects to your database on launch, and maintains the single connection, using it for all database tasks. This makes anything that reads/writes the database faster and more 'snappier'. Some servers may have a poor database connection, or their database is set with a maximum connection time, and auto disconnects after it.

You can use a 'transient' database connection by setting SingletonDatabaseConnection in the config to False. With this disabled, anything that reads/writes to the database opens a new connection, and closes it after. While this is more reliable, it reduces performance and response speed of commands, though it will not create lag.

Unless you're experiencing issues with your database connection, it is advised to leave this option as the default value of 'True'

Revision B

  • Fixed an issue where /vault and /vaults would error.

Revision C

  • Fixed an error when a player tried to access an existing vault they didn't have permission to.

Misc

Note: Since RocketExtensions has been updated, you will want to also re-install the libraries for this plugin.

Vault selection improvements

14 May 11:54
Compare
Choose a tag to compare
  • Fixed an error when running /SpyVault with an offline player
  • Added a DefaultVault option to config, to set the default vault when LargestVaultIsDefault is disabled.
  • Improved the default vault selector for the /Vault command, and improved response messages

Inital Release

12 May 12:14
Compare
Choose a tag to compare

Initial Release

  • /Vault [vault]
  • /Vaults
  • /Trash
  • /SpyVault [Player] [Vault]
  • WipeVault [Player] [Vault]