I am making a dropper system that will work as follows:
- On the server, HTTPService’s GenerateGUID is called to create a random string.
- This string will be stored in a dictionary; the monetary value of the block will also be stored in this dictionary
- A RemoteEvent will be fired on the client of the owner of a tycoon.
- On the client, this event will be used to create a block, which will have its name set to the randomly generated string, that only the owner of said tycoon can see.
- This block will touch a part that will “clean it up” and fire a RemoteEvent to tell the server that the block has reached the end of the conveyer. Parameters for this event will be the block’s name, and Boolean attributes to see if the block passed through “upgraders.”
- The server will check to see if the block’s name matches up to the one inside the table.
- The server will then see if the block has been “upgraded” and apply those upgrades in respect to the original value
- The server will then give the tycoon owner the money owed.
I think this system will be pretty secure from exploiters, but I’m worried what can happen when there are 20+ tycoons that could have upwards of 30+ droppers going each calling GUID often. Will it cause lag/performance issues? And if this is bad practice, what should be done instead?