I was looking into FPS Shooter template in Roblox Studio and there are a lot of great code here. But there is a really questionable decision: all weapon stats are taken from attributes of a model that was sent through remote event. Is it really reliable?
i’m okey with this because i am not doing a shooter and guns are really small part of a game, but why it is reliable? i don’t get why i can’t send some false stuff through remote and set some crazy attributes to it
The client does NOT put the item through the event. When the event is fired, the server goes and checks the gun the player is using. The client CANNOT change the values, as the server will only see the server values.
Yes, I believe I have enough knowledge in order to speak about topic.
Of course, if client sends same weapon, server still will see values that he have set. But why we can’t imagine situation when we create imaginary tool from the sky, give him same properties but change attributes to other numbers?
Okey, then it seems like I don’t exactly understand how instance sending works under the hood. In my picture it was sending like a table with fields and so on. So server will think that it is a real instance. Do I understand it right: server gives some unique ids to all instances and under the hood when I send instance from client, I in fact just send this unique id and then server just takes this id and find instance under this id so it’s not possible to give him invalid instance (meaning instance that I have created on client) in fact?