Giter VIP home page Giter VIP logo

shimmysadmintools's Introduction

ShimmysAdminTools

An admin toolkit for Unturned including flight and Noclip.

Demo Video

Heres a very out-dated demo video. I'll get around to making a proper one eventually.

https://www.youtube.com/watch?v=2yo6BurDUA4

Commands

Command Description
AFly Toggles flight
AFlySpeed [Speed] Changes/resets fly speed
AFlyVSpeed [Speed] Changes/resets vertical fly speed
Noclip Toggles Noclip
CheckBedOwner Checks who has claimed the bed your looking at
DisableVehicleAccess [Player] Disables/Enables a player's ability to enter and use vehicles
ForceDismount [Player] Forcibly removes a player from their vehicle
GotoBed [Name/ID] Teleports you to another player's bed
Marker [Marker Name] Places a marker at your position
GotoMarker [Marker Name] Teleports you to a previously set marker
PointTool [Tool] Toggles/Changes your active PointTool (See Below)
MapJump Toggles Map/Marker jumping (teleport on new marker).
SalvageTime [Sec] Changes the amount of time required for you to salvage an object
CommandSpy Toggles global command spying.
CommandSpy [Players] Toggles command spying on a player.
SetFireMode [Mode] Force changes the fire mode of your gun (e.g., full auto grizzly).
UnlockFireModes Allows you to cycle through all fire modes using your change fire hotkey.
Attachment [Attachment Name/ID] Forcibly adds an attachment to your weapon.
Attachment [Magazine Name/ID] Forcibly gives your weapon any Magazine/Ammo Clip.
UnlimitedAmmo Enables/Disables unlimited ammo.
UnlimitedAmmo [Max Ammo override] Enables Unlimited Ammo, overriding your gun's max ammo.
Exec [Player] [Command/Message] Similar to /sudo, however the target player does not need permission to run the command.
ExecAll [Command/Message] Same as /Exec, but targets all players.
WipePlayerBuildings [Player/PlayerID] Wipes all structures/barricades placed by the target player.
WipePlayerBuildings [Player/PlayerID] [Structure/Barricade ID] Wipes all instances of the target structures/barricades placed by the target player.
Ascend [Distance] Teleports you up the specified distance.
Descend [Distance] Teleports you down the specified distance.
PlaceObject [Barricade/Structure Name/ID] Creates and places the specified barricade/structure where your standing.
ClearInventory Clears all items in your inventory

PointTools

PointTools is a small toolkit includes tools that are triggered by punching/gestures. These tools will target where/what you are activly looking at.

Tool Description
Destroy Destroys what your currently looking at. Works on barricades, Structurs, and Vehicles.
Kill Kills the Player/Animal/Zombie you are looking at. Turns Players to gold.
Jump Teleports you to where your looking.
  • Left Punch - Finds the highest point near where you punched. e.g. punch at a flag pole, get TPed ontop of it.
  • Right Punch - Teleports you just inside of what your looking at, to allow you to clip through walls.
  • Point - Teleports you directly where your looking, but not inside of the object.
You can also punch up into the sky to teleport to the skybox, then punch down anywhere on the map. Allowing you to teleport anywhere, quickly, and with high accuracy.
Utility A kit of smaller tools
  • Explodes charges
  • Opens/Closes doors (Even if you don't own them)
  • Checks the owner of a bed (Same as /CheckBedOwner)
  • Opens storage (from any distance, even if you don't own them)
Tools are still to be added.
Repair Repairs Barricades, Structures, Vehicles, and Vehicle Tires.
CheckOwner Shows you the owner of Structures, barricades, and Locked Vehicles. Along with the player's group.

There are still more 'PointTools' to be added. This is not the final version.

Permissions

Permission Description
ShimmysAdminTools.Flight Provides access to all the flight commands, incl. /Afly, /AflySpeed, and /AflyVSpeed
ShimmysAdminTools.Flight.MaxSpeed.X Sets the max fly speed, where X is the speed. Default is 1 (Walk/Run speed)
ShimmysAdminTools.Flight.MaxSpeed.Bypass Disables fly speed restriction (global limit still applies)
ShimmysAdminTools.Flight.MaxVSpeed.X Sets the max vertical fly speedd. Default is 1
ShimmysAdminTools.Flight.MaxVSpeed.Bypass Disables vertical fly speed restriction (global limit still applies)
ShimmysAdminTools.PointTool Provides access to /PointTool
ShimmysAdminTools.PointTool.all Grants all PointTool perms
ShimmysAdminTools.PointTool.Destroy Provides access to the Destroy tool
ShimmysAdminTools.PointTool.Jump Provides access to the Jump tool
ShimmysAdminTools.PointTool.Utility Provides access to the Utility tool
ShimmysAdminTools.PointTool.Kill Provides access to the Kill tool
ShimmysAdminTools.PointTool.CheckOwner Provides access to the CheckOwner tool
ShimmysAdminTools.PointTool.Repair Provides access to the Repair tool
ShimmysAdminTools.PointTool.DestroyOtherPlayersStuff Grants permission to destroy other player's vehicles/buildables with the Destoy Tool
The rest of the perms are to be granted via their respective command.

Screenshots

Command Spy

Command spy displays the commands of other players and admins. It's a useful tool to keep an eye on commands without needing console. An example of command spy in action:

Downloads

You can download this plugin from the Releases page.

Donate

I maintain and develop this product for free and for everyone to use. If your feeling generous and want to support my open source work, you can donate/sponsor the project on my Ko-Fi Here. Even $3 goes a long way.

shimmysadmintools's People

Contributors

charterino avatar shimmymysherbet avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shimmysadmintools's Issues

SeeInv massive error (crashes the server)

After putting something into a player's inventory:

[03.05.2021 16:58:54] [Error] The requested operation caused a stack overflow.
[03.05.2021 16:58:54] [Error]   at System.Number.ParseNumber (System.Char*& str, System.Globalization.NumberStyles options, System.Number+NumberBuffer& number, System.Text.StringBuilder sb, System.Globalization.NumberFormatInfo numfmt, System.Boolean parseDecimal) [0x000ab] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Number.StringToNumber (System.String str, System.Globalization.NumberStyles options, System.Number+NumberBuffer& number, System.Globalization.NumberFormatInfo info, System.Boolean parseDecimal) [0x00020] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Number.ParseInt32 (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) [0x00013] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Int32.Parse (System.String s, System.Globalization.NumberStyles style, System.IFormatProvider provider) [0x0000e] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Convert.ToInt32 (System.String value, System.IFormatProvider provider) [0x00005] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.String.System.IConvertible.ToInt32 (System.IFormatProvider provider) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Convert.ChangeType (System.Object value, System.Type conversionType, System.IFormatProvider provider) [0x0011a] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Enum.TryParseEnum (System.Type enumType, System.String value, System.Boolean ignoreCase, System.Enum+EnumResult& parseResult) [0x000bd] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Enum.Parse (System.Type enumType, System.String value, System.Boolean ignoreCase) [0x00010] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Enum.Parse (System.Type enumType, System.String value) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at Rocket.Unturned.Events.UnturnedPlayerEvents.onInventoryUpdated (System.Byte E, System.Byte O, SDG.Unturned.ItemJar P) [0x00027] in <b6c32bcf50e74c9889c9314006c50810>:0 
  at (wrapper delegate-invoke) <Module>.invoke_void_byte_byte_ItemJar(byte,byte,SDG.Unturned.ItemJar)
  at SDG.Unturned.PlayerInventory.onItemUpdated (System.Byte page, System.Byte index, SDG.Unturned.ItemJar jar) [0x00008] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at (wrapper delegate-invoke) <Module>.invoke_void_byte_byte_ItemJar(byte,byte,SDG.Unturned.ItemJar)
  at SDG.Unturned.Items.updateState (System.Byte index, System.Byte[] newState) [0x0004b] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at SDG.Unturned.PlayerInventory.updateState (System.Byte page, System.Byte index, System.Byte[] newState) [0x00021] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at SDG.Unturned.PlayerInventory.sendUpdateInvState (System.Byte page, System.Byte x, System.Byte y, System.Byte[] state) [0x0000a] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at ShimmysAdminTools.Behaviors.SeeInventoryBehaviour.onItemUpdated (System.Byte page, System.Byte index, SDG.Unturned.ItemJar jar) [0x0004d] in <9dcb33b641a447dfbae45cf12a43d54d>:0 
  at (wrapper delegate-invoke) <Module>.invoke_void_byte_byte_ItemJar(byte,byte,SDG.Unturned.ItemJar)
  at SDG.Unturned.Items.updateState (System.Byte index, System.Byte[] newState) [0x0004b] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at SDG.Unturned.PlayerInventory.updateState (System.Byte page, System.Byte index, System.Byte[] newState) [0x00021] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at SDG.Unturned.PlayerInventory.sendUpdateInvState (System.Byte page, System.Byte x, System.Byte y, System.Byte[] state) [0x0000a] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at ShimmysAdminTools.Behaviors.SeeInventoryBehaviour.onItemUpdated (System.Byte page, System.Byte index, SDG.Unturned.ItemJar jar) [0x0004d] in <9dcb33b641a447dfbae45cf12a43d54d>:0 
  at (wrapper delegate-invoke) <Module>.invoke_void_byte_byte_ItemJar(byte,byte,SDG.Unturned.ItemJar)
  at SDG.Unturned.Items.updateState (System.Byte index, System.Byte[] newState) [0x0004b] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at SDG.Unturned.PlayerInventory.updateState (System.Byte page, System.Byte index, System.Byte[] newState) [0x00021] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at SDG.Unturned.PlayerInventory.sendUpdateInvState (System.Byte page, System.Byte x, System.Byte y, System.Byte[] state) [0x0000a] in <7f74451bddaa4dee88d211bbaf0fd5b8>:0 
  at ShimmysAdminTools.Behaviors.SeeInventoryBehaviour.onItemUpdated (System.Byte page, System.Byte index, SDG.Unturned.ItemJar jar) [0x0004d] in <9dcb33b641a447dfbae45cf12a43d54d>:0 
  at (wrapper delegate-invoke) <Module>.invoke_void_byte_byte_ItemJar(byte,byte,SDG.Unturned.ItemJar)

Also when a player takes something from another player's inventory there's a chance that the entire server will crash.

Add logging to point tools

Is there a log of what my staff /pt u? Because they don't have to type in a command for each item my concern is that there is no log of it and they can abuse it very easily.

Originally posted by @Texhammer in #12 (comment)

Discord webhook /checkowner

There could be an option when using /checkowner to send a message via webhook to discord informing the player's steamid, it would make it easier for example to copy the player's steamid.

Pointtool Destroy Error on Resources

OverflowException: Value was either too large or too small for an Int16.
  at System.Convert.ToInt16 (System.Int32 value) [0x0001a] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Convert.ToInt16 (System.Double value) [0x00006] in <695d1cc93cca45069c528c15c9fdd749>:0
  at uScriptEvents.OnResourceDamaged.onResourceDam (Steamworks.CSteamID instigatorSteamID, UnityEngine.Transform objectTransform, System.UInt16& pendingTotalDamage, System.Boolean& shouldAllow, SDG.Unturned.EDamageOrigin damageOrigin) [0x0005b] in <88c74d4192b5478cadb43a69a9a279d4>:0
  at ModuleEvents.ModuleEvents+<>c.<OnModuleLoaded>b__1_2 (Steamworks.CSteamID instigatorSteamID, UnityEngine.Transform objectTransform, System.UInt16& pendingTotalDamage, System.Boolean& shouldAllow, SDG.Unturned.EDamageOrigin damageOrigin) [0x00001] in <88c74d4192b5478cadb43a69a9a279d4>:0
  at (wrapper delegate-invoke) <Module>.invoke_void_CSteamID_Transform_uint16&_bool&_EDamageOrigin(Steamworks.CSteamID,UnityEngine.Transform,uint16&,bool&,SDG.Unturned.EDamageOrigin)
  at SDG.Unturned.ResourceManager.damage (UnityEngine.Transform resource, UnityEngine.Vector3 direction, System.Single damage, System.Single times, System.Single drop, SDG.Unturned.EPlayerKill& kill, System.UInt32& xp, Steamworks.CSteamID instigatorSteamID, SDG.Unturned.EDamageOrigin damageOrigin, System.Boolean trackKill) [0x00018] in <fb1655bc0c7943709df04342a39838e1>:0
  at ShimmysAdminTools.Modules.PointToolManager.RunDestroyTool (Rocket.Unturned.Player.UnturnedPlayer Player, ShimmysAdminTools.Models.RaycastResult Raycast) [0x00219] in <12a2ee9cddcb49c0aca4dcbf6bc8ef2c>:0
  at ShimmysAdminTools.Modules.PointToolManager.RunPointTool (Rocket.Unturned.Player.UnturnedPlayer Player, ShimmysAdminTools.Models.PlayerSession Session, Rocket.Unturned.Events.UnturnedPlayerEvents+PlayerGesture gesture) [0x00064] in <12a2ee9cddcb49c0aca4dcbf6bc8ef2c>:0
  at ShimmysAdminTools.Modules.PointToolManager.ManageGestureUpdate (Rocket.Unturned.Player.UnturnedPlayer player, Rocket.Unturned.Events.UnturnedPlayerEvents+PlayerGesture gesture) [0x0005c] in <12a2ee9cddcb49c0aca4dcbf6bc8ef2c>:0
  at ShimmysAdminTools.Behaviors.PointToolInputListener.FixedUpdate () [0x000c3] in <12a2ee9cddcb49c0aca4dcbf6bc8ef2c>:0


New Utility

Can you make it, so when you use the point with the Utility Tool, you get the SteamID and Player name of the owner from said structure?

How to install?

Hello,

i havent figured it out how to install the .dll file.
i have a unturned server on my PC, but i cant find the folder where i put in the .dll

please help

Option to build inside safe zones

I was pretty intrigued by the /unlockFireModes command.
Because it seems it kinda affects both the server (to allow the gun to fire at auto mode) and the client (to show auto on the HUD).

So, using a combination of these or something, would it be possible to make something to allow the admin to place barricades and or structures inside a safe zone? Like the island in Elver, or the Ship in Russia and all.

Thanks a lot!

Issues since Unturned update 3.23.4.0 (24-03-2023)

I'm experiencing issues with the functionality of the plugin since the Unturned update 3.23.4.0 (the plugin worked fine up until the mentioned update), examples:

  • pointtool jump not working
  • pointtool destroy not working
  • pointtool utility not working

I've not tested every command.

/checkowner, /firework and /boom work like before.

Tested on 4 different (Linux based) dedicated servers. I do not see any error messages on the server(s) console(s).

Does anyone have a solution?

Thanks in advance for any helpful suggestion!

p.s. I use the latest version of the plugin v.1.7, the file property details state file version 1.6.0.0 and product version 1.6.0.0 (downloaded a fresh copy twice to double check, is this me misunderstanding something or....)

Players can't chat (Using Avi's plugins)

Plugin errors out on any message, also players can't chat after installing this plugin
Using Avi's plugins (might be the cause) -> AviRockets.Unturned.Chat

[25.02.2021 0:09:31] [Info] [World] [Player] shalash1203 [shalash1203]: "afgwsrg"
[25.02.2021 0:09:32] [Error] Exception has been thrown by the target of an invocation.
[25.02.2021 0:09:32] [Error]   at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at (wrapper dynamic-method) SDG.Unturned.SteamChannel.SDG.Unturned.SteamChannel.receive_Patch2(SDG.Unturned.SteamChannel,Steamworks.CSteamID,byte[],int,int)
[25.02.2021 0:09:32] [Error] Object reference not set to an instance of an object
[25.02.2021 0:09:32] [Error]   at ShimmysAdminTools.main.Chat_OnCheckPermissions (SDG.Unturned.SteamPlayer player, System.String text, System.Boolean& shouldExecuteCommand, System.Boolean& shouldList) [0x00132] in <0c7dd7f7f102495cbd3293649f1c3ee8>:0 
  at (wrapper delegate-invoke) <Module>.invoke_void_SteamPlayer_string_bool&_bool&(SDG.Unturned.SteamPlayer,string,bool&,bool&)
  at SDG.Unturned.ChatManager.process (SDG.Unturned.SteamPlayer player, System.String cmd, System.Boolean fromUnityEvent) [0x0005f] in <6ca2c550579548f6b1714cffb90a0fb7>:0 
  at SDG.Unturned.ChatManager.askChat (Steamworks.CSteamID steamID, System.Byte flags, System.String text) [0x001ed] in <6ca2c550579548f6b1714cffb90a0fb7>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <eae584ce26bc40229c1b1aa476bfa589>:0 

/wpb (Clears Barricades not Structures)

Currently the plugin only clears barricades and not structures, for example structures are: floors, ceilings, walls etc

i know you know what a structure is, just for everyone else wondering lol

Flight buttons are fully inverted

For example, writting /afly gives you flight ability, ok
but , when pressing W - players goes back, as when pressed S. Same for A,D

4 ideas for features to add

Discussed in #25

Originally posted by KRIBEnjoyer April 29, 2023
Hi, I'd like to suggest 4 features that came to my mind which I think are cool.

  • First feature I’d like to see is a blacklist for weapons to which you couldn’t add attachments. For example, so you could block staff from putting attachments on weapons which would become very dangerous if they could add to them. This feature is very similar to the blacklist for attachments themselves.
  • Second feature is also related to attachment command. Would be cool if setting a magazine attachment like for example fragmentation rounds would automatically set the amount of the gun’s ammo to the max capacity of the magazine you added to it. This is to remove the need for having unlimited ammo enabled and would also stop abuse of putting something like explosive arrows over full military drum. Additionally, stuff like suppressor attachment when set would automatically get set to 100% quality.
  • Third feature is about adding a command which would keep all weapons and suppressors at max quality when enabled. Maybe even add the ability like unlimited ammo command where you can override it with a specified amount.
  • Last feature is about adding a configuration option which would allow owners to have the server from start set server jump, speed, and gravity to what ever they want without needing to manually input it every time server restarts.

These are some of the ideas I’d personally like to see but still, even if I don’t, you made an awesome plugin as is and huge props to you. ☺

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.