Git Product home page Git Product logo

sherbetvaults's Introduction

SherbetVaults

A lag-free reliable vault plugin for Unturned.

Enjoy vaults hassle free and without random wipes or losses of data, or server stutters when opening a vault.

Full translation support, with easy rich text support.

Commands

/Vault {Vault}

Opens one of your vaults.

/Vaults

Lists what vaults you have access to.

/Trash

Opens a 15x15 trash storage, to discard unwanted items.

/SpyVault [Player Name/ID] [Vault]

Opens another player's vault, allowing staff members to search and modify the contents of vaults.

/WipeVault [Player Name/ID] [Vault]

Wipes the contents of another player's vault. Also says how many items were deleted.

/VaultAlias [list/set/remove] (Vault) (Alias)

Allows players to view, set, and delete aliases for vaults.

Aliases do not create new vaults, but creates a name that redirects to an already existing vault.

For more info on vault aliases, see Vault Aliases

Configuration

Database Settings

The MySQL settings for the plugin to use.

Vaults

Defines vaults, with their ID, and size.

Specific vaults are granted with the permission format Vaults.{VaultID}. Players also need the Vault and Vaults permissions to access any vaults.

Largest Vault Is Default

When enabled, sets the default vault for a player to the largest one they have access to.

When disabled, the default vault is the one named 'default'.

Database Table Prefix

Allows the name of the plugin's database tables to be renamed. This allows for multiple servers to store different vaults in the same database.

So you can change this value if you have 2 or more servers using the same database, and you don't want vaults to be synced across them.

Default Config

<?xml version="1.0" encoding="utf-8"?>
<SherbetVaultsConfig xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <DatabaseSettings>
    <DatabaseAddress>127.0.0.1</DatabaseAddress>
    <DatabaseUsername>Username</DatabaseUsername>
    <DatabasePassword>SuperSecretPassword</DatabasePassword>
    <DatabaseName>Unturned</DatabaseName>
    <DatabasePort>3306</DatabasePort>
  </DatabaseSettings>
  <LargestVaultIsDefault>true</LargestVaultIsDefault>
  <DefaultVault>default</DefaultVault>
  <VaultAliasesEnabled>false</VaultAliasesEnabled>
  <DatabaseTablePrefix>SherbetVaults</DatabaseTablePrefix>
  <Vaults>
    <Vault VaultID="default" Width="8" Height="8" />
    <Vault VaultID="vip" Width="12" Height="12" />
  </Vaults>
  <Restrictions>
    <AdminsBypassRestrictions>false</AdminsBypassRestrictions>
    <ShowMessages>true</ShowMessages>
    <Enabled>false</Enabled>
    <Groups>
      <RestrictionGroup GroupID="Group1" Weight="1" Blacklist="true">
        <TranslationKey>Restrictions_Blacklisted</TranslationKey>
        <Selectors>
          <ItemSelector>1</ItemSelector>
          <ItemSelector>255-259</ItemSelector>
          <ItemSelector>Type:Throwable</ItemSelector>
          <ItemSelector>Table:Police*</ItemSelector>
          <ItemSelector>Slot:Primary</ItemSelector>
          <ItemSelector>Workshop:2136497468</ItemSelector>
        </Selectors>
      </RestrictionGroup>
    </Groups>
  </Restrictions>
</SherbetVaultsConfig>

Item Restrictions

This plugin comes with a powerful form of item restrictions. This system provides many different item selectors, weights, whitelisting, blacklisting, custom messages, ect.

See Item Restrictions for more info and documentation.

Note, workshop selectors/restrictors are currently broken. A work around is to manually restrict the item ID ranges for the workshop mod (e.g., 15100-15200).

Download

Downloads can be found in the Releases page.

Donate

I work on the project free of charge for everyone to use. Though, if your feeling generous, consider buying me a coffee

sherbetvaults's People

Contributors

dependabot[bot] avatar nvedsted avatar shimmymysherbet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sherbetvaults's Issues

Broken in new versions of unturned

The plugin crash after base.LoadPlugin(); in line 92 in SherbetVaultsPlugin.cs

I think is caused by the Rocket.Extension plugin

Parent class vtable failed to initialize, due to: Could not resolve the signature of a virtual method assembly:data-0000024B231B8800 type:RocketCommand member:(null)
  at (wrapper managed-to-native) System.RuntimeTypeHandle.type_is_assignable_from(System.Type,System.Type)
  at System.RuntimeTypeHandle.CanCastTo (System.RuntimeType type, System.RuntimeType target) [0x00000] in <47fc8c70fa834cbf8141d7c1a7589125>:0
  at System.RuntimeType.IsAssignableFrom (System.Type c) [0x00020] in <47fc8c70fa834cbf8141d7c1a7589125>:0
  at SherbetVaults.Models.Restrictions.RestrictionBuilder+<>c.<Init>b__5_0 (System.Type x) [0x00000] in <eb8f7fa8fa4a4fc7af258d82b2116a79>:0
  at System.Linq.Enumerable+WhereArrayIterator`1[TSource].MoveNext () [0x0002c] in <d61464951b0243f18092630834a7bf18>:0
  at SherbetVaults.Models.Restrictions.RestrictionBuilder.Init () [0x00078] in <eb8f7fa8fa4a4fc7af258d82b2116a79>:0
  at SherbetVaults.SherbetVaultsPlugin.LoadPluginInternal () [0x000b1] in <eb8f7fa8fa4a4fc7af258d82b2116a79>:0
  at SherbetVaults.SherbetVaultsPlugin.LoadPlugin () [0x0002c] in <eb8f7fa8fa4a4fc7af258d82b2116a79>:0

How do I negate access to other vaults?

Like, each group in permissions, usually have access to its previous, thus having access to the other vaults too.
is there a permission to give only one vault size to the other group?

MySql.Data version mismatch

Hello Shimmy,

First of all great work i love your repos!!!!

But i have a smal problem and this is not with your vault it works very good. But i will try to explain.
I run 3 unturned server with Uconomy systems the plug-ins are Uconomy, Zaupshop and Zaupuconomyextentions.
This Plug-ins run on MySql.Data 8.0.18 and some other old DLL files.
You Vault Plug-in runs on MySql.Data 8.0.29 and the new other DLL files

When i install you Vault plug-in >> Uconomy + depend... crash.
When i recover Uconomy + depend... >> Your vault crash

The problem is the MySql.Data version mismatch.

So a long story short is there a way to seperate your dll file to for example /libraries/shimmy/dll_files (inside rocket folders)
What files do i need to edit on your project before i make a pack... from sln?

Plugin doesn't load (Something to do with system.reflection) (Prerelease version)

[10:13:38 INF][RocketMod] SherbetVaults >> Loading Sherbet Vaults v1.2.0.0...
ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
at System.Reflection.Assembly.GetExportedTypes () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at SherbetVaults.Models.Restrictions.RestrictionBuilder.Init () [0x0000f] in <5bf357671c8041b2a5c2e6df87158f0d>:0
at SherbetVaults.SherbetVaultsPlugin.LoadPlugin () [0x000c3] in <5bf357671c8041b2a5c2e6df87158f0d>:0
at Rocket.Core.Plugins.RocketPlugin.OnEnable () [0x00000] in <59a13feb721848c8b0cd173f6d0e820b>:0
UnityEngine.GameObject:Internal_AddComponentWithType(Type)
UnityEngine.GameObject:AddComponent(Type)
UnityEngine.GameObject:.ctor(String, Type[])
Rocket.Core.Plugins.RocketPluginManager:Rocket.Core.Plugins.RocketPluginManager.loadPlugins_Patch1(RocketPluginManager)
Rocket.Core.Plugins.RocketPluginManager:Start()

[10:13:38 INF][RocketMod] ShimmysAdminTools >> Loading ShimmysAdminTools v1.6.0.0 by ShimmyMySherbet
[10:13:38 INF][RocketMod]

Could not find dependency: System.Configuration.Install

hello, i can't fix this problem
i have installed all the libraries attached in the 'Libraries' folder
and in the console I see this:

Loading SherbetVaults from C:\projet\steamcmd\steamapps\common\U3DS\Servers\Example\Rocket\Plugins\SherbetVaults.dll
SherbetVaults >> Loading Sherbet Vaults v1.2.0.0...
Fallback handler could not load library C:/projet/steamcmd/steamapps/common/U3DS/Unturned_Data/Mono/data-000001459A66E060.dll
Could not find dependency: System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Could not find dependency: System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Fallback handler could not load library C:/projet/steamcmd/steamapps/common/U3DS/Unturned_Data/Mono/data-000001459BC05040.dll
Fallback handler could not load library C:/projet/steamcmd/steamapps/common/U3DS/Unturned_Data/Mono/data-000001459A8A71E0.dll
Could not find dependency: MySql.Data.resources, Version=8.0.29.0, Culture=ru-RU, PublicKeyToken=c5687fc88969c44d
Could not find dependency: MySql.Data.resources, Version=8.0.29.0, Culture=ru, PublicKeyToken=c5687fc88969c44d
SherbetVaults >> Failed to connect to database: Unable to connect to any of the specified MySQL hosts.
SherbetVaults >>
[unloading] SherbetVaults

list of libraries:
image

Vaults stop working after some time

Plugin works fine ,but suddenly after some time it stop work and i need restart server(or reload), same happen when Im using VaultPlugin2.

SQL Error

Error while executing /Vault
[System.TimeoutException] Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
at MySql.Data.Common.StreamCreator.GetTcpStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings, MySql.Data.Common.MyNetworkStream& networkStream) [0x0009b] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.Common.StreamCreator.GetStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings, MySql.Data.Common.MyNetworkStream& networkStream) [0x00021] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.NativeDriver.Open () [0x00035] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.Driver.Open () [0x0000e] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0004c] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () [0x00006] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () [0x00095] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0x0003f] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.MySqlPool.GetConnection () [0x0001c] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.MySqlConnection.Open () [0x00245] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at MySql.Data.MySqlClient.MySqlConnection.b__78_0 () [0x00000] in <67abbb3783c24cd0a9c685bbfbcea559>:0
at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Threading.Tasks.Task.Execute () [0x00010] in <695d1cc93cca45069c528c15c9fdd749>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at ShimmyMySherbet.MySQL.EF.Models.ConnectionProviders.TransientConnectionProvider+d__12.MoveNext () [0x00080] in <6814dfed22f644d68a5a529899139560>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 at ShimmyMySherbet.MySQL.EF.Core.MySQLEntityClient+<QueryAsync>d__481[T].MoveNext () [0x0007e] in <6814dfed22f644d68a5a529899139560>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 at ShimmyMySherbet.MySQL.EF.Core.DatabaseTable1+d__28[T].MoveNext () [0x00079] in <6814dfed22f644d68a5a529899139560>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 at SherbetVaults.Database.Tables.VaultItemsTable+<OpenVault>d__4.MoveNext () [0x0008a] in <27b57007a59b43f699f442c393646f33>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0 at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
at SherbetVaults.Models.VaultManager+d__9.MoveNext () [0x0009d] in <27b57007a59b43f699f442c393646f33>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Runtime.CompilerServices.TaskAwaiter1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 at SherbetVaults.Commands.VaultCommand+<Execute>d__3.MoveNext () [0x00396] in <27b57007a59b43f699f442c393646f33>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask1[TStateMachine].GetResult (System.Int16 token) [0x00000] in :0
at RocketExtensions.Plugins.RocketCommand+d__24.MoveNext () [0x00112] in <91f1ef3d065e41ccb6bf4b5defd61539>:0

Translating text doesn't work

After I tried to translate it into Chinese, the plugin did not show any errors when loading, but I found that the translation file did not work in the game...

Mysql timeout (pre release)

Error appeared out of nowhere one day after successfully using the pre release for a few days, not sure what I had changed for this to have started happening, I'm also able to verify that my credentials in the config file are correct if that's relevant.

TimeoutException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at MySql.Data.Common.StreamCreator.GetTcpStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings, MySql.Data.Common.MyNetworkStream& networkStream) [0x0009b] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.Common.StreamCreator.GetStream (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings, MySql.Data.Common.MyNetworkStream& networkStream) [0x00021] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.NativeDriver.Open () [0x00035] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.Driver.Open () [0x0000e] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0004c] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () [0x00006] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () [0x00095] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0x0003f] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.MySqlPool.GetConnection () [0x0001c] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at MySql.Data.MySqlClient.MySqlConnection.Open () [0x00245] in <67abbb3783c24cd0a9c685bbfbcea559>:0 at ShimmyMySherbet.MySQL.EF.Models.ConnectionProviders.SingleConnectionProvider.Open () [0x0001f] in <6814dfed22f644d68a5a529899139560>:0 at ShimmyMySherbet.MySQL.EF.Core.MySQLEntityClient.Connect (System.String& errorMessage) [0x00006] in <6814dfed22f644d68a5a529899139560>:0 at ShimmyMySherbet.MySQL.EF.Core.DatabaseClient.Connect (System.String& errorMessage) [0x00006] in <6814dfed22f644d68a5a529899139560>:0 at SherbetVaults.SherbetVaultsPlugin.LoadPlugin () [0x00021] in <25d18dd8fc0140ddb735bb137519514e>:0 at Rocket.Core.Plugins.RocketPlugin.OnEnable () [0x00000] in <59a13feb721848c8b0cd173f6d0e820b>:0 UnityEngine.GameObject:Internal_AddComponentWithType(Type) UnityEngine.GameObject:AddComponent(Type) UnityEngine.GameObject:.ctor(String, Type[]) Rocket.Core.Plugins.RocketPluginManager:loadPlugins() Rocket.Core.Plugins.RocketPluginManager:Start()

You dont have access to any vaults

Hello, i dont understand what i need to do to give access a vault to the default group.

image

with this configurations continues saying that i dont have acess.

Fatal error encountered during command execution.

[World] TeemoCell [TeemoCell]: "/vault market"
Error while executing /Vault
[MySql.Data.MySqlClient.MySqlException] Fatal error encountered during command execution.
  at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x00296] in <b752b6b45092419fa62ce3332dc63bbd>:0 
  at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader (System.Data.CommandBehavior behavior) [0x00000] in <b752b6b45092419fa62ce3332dc63bbd>:0 
  at System.Data.Common.DbCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x00000] in <290425a50ff84a639f8c060e2d4530f6>:0 
  at System.Data.Common.DbCommand.ExecuteDbDataReaderAsync (System.Data.CommandBehavior behavior, System.Threading.CancellationToken cancellationToken) [0x00049] in <290425a50ff84a639f8c060e2d4530f6>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at ShimmyMySherbet.MySQL.EF.Internals.MySQLEntityReader+<RetriveFromDatabaseCappedAsync>d__4`1[T].MoveNext () [0x001b9] in <6814dfed22f644d68a5a529899139560>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at ShimmyMySherbet.MySQL.EF.Core.MySQLEntityClient+<QuerySingleAsync>d__50`1[T].MoveNext () [0x0010f] in <6814dfed22f644d68a5a529899139560>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at ShimmyMySherbet.MySQL.EF.Core.MySQLEntityClient+<QuerySingleAsync>d__50`1[T].MoveNext () [0x001d9] in <6814dfed22f644d68a5a529899139560>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at ShimmyMySherbet.MySQL.EF.Core.DatabaseTable`1+<QuerySingleAsync>d__32[T].MoveNext () [0x00079] in <6814dfed22f644d68a5a529899139560>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at SherbetVaults.Database.Tables.VaultAliasTable+<GetAliasAsync>d__2.MoveNext () [0x00084] in <5bf357671c8041b2a5c2e6df87158f0d>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at SherbetVaults.Models.Utility.VaultSelector+<GetVault>d__5.MoveNext () [0x000e7] in <5bf357671c8041b2a5c2e6df87158f0d>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at SherbetVaults.Commands.VaultCommand+<Execute>d__0.MoveNext () [0x000c8] in <5bf357671c8041b2a5c2e6df87158f0d>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0 
  at Cysharp.Threading.Tasks.UniTask+ExceptionResultSource.GetResult (System.Int16 token) [0x00000] in <b570aeb885074593be3f1a2137ad3fbd>:0 
  at RocketExtensions.Plugins.RocketCommand+<Run>d__24.MoveNext () [0x00112] in <91f1ef3d065e41ccb6bf4b5defd61539>:0

cant give perms

it works while admin but regular users cant access it
and i need you to provide permissions that i can just paste into my rocket perms

[Feature request] Adding vault extensions, option for litedb, and few some translations

Vault extensions:
If you have access to the default vault, you could get permissions to instead of having a default and vip vault, you would increment your main vault size instead. The best way I could think on this option is adding Extended to the vaults options, would look something like this:

<Vaults>
   <Vault VaultID="default" Permission="Vaults.$VaultID" Extended="true" Width="8" Height="8" />
   <Vault VaultID="vip" Permission="Vaults.$VaultID" Extended="true" Width="12" Height="12" />
   <Vault VaultID="extra" Permission="Vaults.$VaultID" Extended="false" Width="20" Height="20" />
</Vaults>

With this way, the bigger vaults with Extended="true" will get the highest priority. Lets say you only have permission for default vault, since default and vip are extended, if you get access to vip vault all your loot inside default will stay there but the vault will get bigger instead of having a second vault. And if you get access for extra vault, this one will be a separated vault since it doesn't have the extended option enabled. All of this is basically for getting bigger vaults keeping your loot on it, instead of having a lot of vaults, where cooldowns and trying to remember where did you saved something would be a problem

Option for LiteDB:
After installing the plugin, I just noticed you can't disable the DB config, so if you don't have or don't want to have a DB for the plugin, you won't be able to use it. Having an option for local LiteDB would be the way to go

Few some translations:
At this moment some syntax translations can not be changed, mostly of them are only for admins but still would be cool to be able to edit them. Also if you try to open a vault while seated on a vehicle it won't open the vault but also won't show neither a message, I'm aware this is not a bug since all vault plugins works just like that but would be nice have this message that you can't open a vault while on vehicles

help me..(

Hello, how i can fix this?
I have installed all the libraries attached in the 'Libraries' folder
And still in the console I see this:

[loading] SherbetVaults
[Error] Could not find dependency: netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
[Error] Could not find dependency: netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51

Support for multiple servers on the same database

It would be nice if it would become easier to have multiple servers with distinct vaults without having to create separate databases. I hope this is something you will consider. Since this will get opinionated quite fast, I will just keep this as an issue for now.

I see two ways to go about it:

  • Add the ability to change the table names through configuration. (Easily done with your current structure and probably a no-brainer to allow users to pick their own table name if they wish so.)
  • Introduce yet another key to the tables that distinguishes servers; either through configuration or some magic I am too new to Unturned to know, haha. This approach would also allow vaults to be shared across "server groups" by giving the servers the same identifier. With that being said, I am not sure if the plugin would properly handle the potential data races of having servers share the table in real-time.

Hoping to see something like this! Let me know if I can assist with anything. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.