But theres a problem, in my gamew, there is a big map. So i don’t want the server to be rendering the rain, but the client. How can i do this with protection against hackers?
Example: Should i create events that fire when the server says it, and the local clients create weather sound and particles or whatever happens.
I don’t really know how to secure this without people exploiting it (removing the rain, but its a important event in my game, so i really need to fix this)
Its important bc when it rains it gets really dark, and i don’t want people to have an advantages agains other people when its dark (higher visibility range). (its a pvp game)
Isn’t it possible to check locally if the player has the rain enabled?
Well, given that an exploiter has full control of their local side, meaning they can delete or add in anything they want to their local player, you can’t stop them from having such advantage.
Even if things are replicated from server to client, the client can be modified if the exploiter wanted to do so.
Well, it depends how he had the weather. He can check if the person has the current weather or if it’s not there, well it’s deleted, so then you could ban/kick for exploiting
You don’t need to run it all on the client, just the rendering part. So you can have the server run all the events to communicate to the client like when it starts raining. In this way you can also have the server send an event constantly (every 10 seconds or so) that tells the client whether to render the rain or not. This will mean that if the rain is removed, it will come back. But no system is ever fully non-exploitable, so I wouldn’t bother too much about insane anti-exploit measures.