If you want your plugin to potentially be more widely used and taken seriously, I would evaluate what I'm calling out here.
This project has bad security implications out of the box if used as-is, in regards to hacked clients and cheaters.
If someone were to use this plugin in an MMO, your server RPC's are user accessible and player's can freely add items they want to their inventory, and can also increase the quantity of items they want willy nilly.
Your interfaces such as AddItem_Server and ChangeItemQuantity_Server should not be server RPCs (that can be called by the client), they are exploitable by a hacked client and cheaters. Considering I spotted that, if I actually wanted to use any of your plugins, I'd have to thoroughly audit the code and modify interfaces like that.
Any interface a client can call cannot be trusted. If the server wants to modify the inventory by adding items and modifying quantity, it should be called by another server function dealing with gathering items, item transfers, or what have you.
I call these out because we had some exploitable server RPCs when developing Palia, but thankfully they weren't too bad and we were able to fix them quickly early on. So far it's an impressive looking plugin though, I hope you don't mind me calling this out.
If you want your plugin to potentially be more widely used and taken seriously, I would evaluate what I'm calling out here.
This project has bad security implications out of the box if used as-is, in regards to hacked clients and cheaters.
If someone were to use this plugin in an MMO, your server RPC's are user accessible and player's can freely add items they want to their inventory, and can also increase the quantity of items they want willy nilly.
Your interfaces such as
AddItem_ServerandChangeItemQuantity_Servershould not be server RPCs (that can be called by the client), they are exploitable by a hacked client and cheaters. Considering I spotted that, if I actually wanted to use any of your plugins, I'd have to thoroughly audit the code and modify interfaces like that.Any interface a client can call cannot be trusted. If the server wants to modify the inventory by adding items and modifying quantity, it should be called by another server function dealing with gathering items, item transfers, or what have you.
I call these out because we had some exploitable server RPCs when developing
Palia, but thankfully they weren't too bad and we were able to fix them quickly early on. So far it's an impressive looking plugin though, I hope you don't mind me calling this out.