How would you check client version ?

Hello,

I am working on my multiplayer game and I was wondering what would be the best way to be sure the user is using the correct version of the client.

Let’s say you have a v1 client which has some weaknesses which can be exploited for cheating.
Now you fix the weaknesses and add an anticheat system to the v2 client.
You deploy it and now you want te be sure that nobody is using your old v1 client in order to continue using exploits.

How would you do ?

You can hash all scripts and compare the hash in a login handshake packet.

But keep in mind that hackers can circumvent this very easily and pretty much use any client that they want.

You can make sure that everybody has the same client via some sort of launcher. Though it won’t save against hacking, it will ensure that legit users will have deployed most recent version of your client.

Take a look at something like Patchkit (was free last time I checked). It’s for PC/Mac/Linux.