But if the game you are making is going to be a competitive one then this might be necessary to prevent exploiters or cheaters. Now there are many advantages and disadvantages to making a vote kick system in your game. Well, then you might ask how does the server check the WalkSpeed well if you watched the video you would know that you have to use stuff like magnitude to check the WalkSpeed of the player. Now if you watched the video one thing you will notice is that you are not going to be checking Humanoid.WalkSpeed this is because the server will not be able to see that the client has changed their WalkSpeed to something abnormal. Now I will link a good resource for making a server-side anti-cheat now make sure not to forget to design it around your game. Now when making a server-side anti-cheat it is highly important to design it around your game if you fail to do this it might not work properly or it might even falsely kick or ban players and this would not be good. Now you might ask why make the anti-cheat server well this goes back to the main point is to never trust the client if you end up making a client-side anti-cheat it can be easily bypassed but a server-side anti-cheat will be almost impossible to bypass. Making a good server-sided anti-cheat can prevent game-breaking hacks like no-clip hacks, speed hacks, and even fly hacks. Now you might need to make an anti-cheat if you are making a competitive game like an FPS or a TPS. It is pretty easy to see that the only difference between the secure scripts and non-secure ones is that the server does the money check. Local Shotgun = īuyEvent.OnServerEvent:Connect(function(Player) = - ItemPriceįor this example, you see that the client checks the amount of money the player has now this is not secure because an exploiter can modify the amount of money they have on their client and they can theoretically get infinite shotguns because they can give themselves infinite money on their client.Įxample #4 Non-Secure Server Script: local BuyEvent = So In short if the Client modifies values the server cannot see that they did so this is one of the reasons why you do server checks on remote events.Įxample #3 Non-Secure Local Script: local Player = So this means if an exploiter changes the amount of money they possess to 200 dollars from 100 dollars this will not allow the player to get 2 shotguns because the server script only sees that the player has 100 dollars. Now one thing you will notice is that the Money is checked on the server now this is done because the server cannot be manipulated but the client can. This local script does not do check money on the client because the client can be manipulated very easily so then you may ask where does it check the money you will see very soonĮxample #2 Secure Server Script: :Connect(function(Player) One thing that you will notice with this local script is that it does not check the player’s money on it. You make secure remote events by adding server-sided checks for values like money some examples will be listed below:Įxample #1 Secure Local Script: local Player = Making a secure non-exploitable remote event is one of the biggest ways to make your game secure. Because of the simple fact that a lot of people actually tend to think that securing a game involves making a strong anti they forget to actually add secure non-exploitable remote events. So most of you might think securing a game is all about making a strong Anti Cheat but that is far from securing a game. Never trusting the client includes a lot like not trusting the client to make just basic checks. One of the first things is to never trust the client now I am saying this because the client can always be modified by an exploit program like KRNL, Synapse, JJSploit, and more. So to get into this there are some things you should understand to make a secure game.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |