- The minecraft client sends the hash of <client>.jar to the server the player is connecting to. (for those who don't know what it is, a hash is like a "fingerprint" for a file, each file has its own and it can be used to identify the file and other stuff. although it is possible for two different files to share the same hash, they have to be drastically different for that to happen, as it's not a continuous function)
- The server compares that hash to a saved list found in the server folder.
If it matches any of the lines in the file, the player can enter the server.
If there's no match, the player cannot enter the server.
This list works as a whitelist to allow or not the use of certain clients and is completely optional (e.g., if a server allows the use of optifine and badlion, but not the use of any other unofficial client, they can activate this whitelist in the server.properties and put the hash of the allowed clients in that file to prevent players using fabric, forge, clients with cheats/hacks and so on. But if they allow the use of any modified clients, as in anarchy servers, they can leave the option deactivated and thus allow any player to enter).
If someone creates a client that modifies the part of the code in charge of sending the hash to the server, this client can be reported to Mojang and Mojang can take legal action. I dont know exactly how, maybe saying that in the EULA or something like that, but as far as I know Mojang can already do this, so no problem.
Please sign in to leave a comment.