On January 14 2011 10:02 Yurie wrote:
A way to build on this might be to have a search opponent feature on the webpage. It then searches among those currently searching and gives you a map and player name with id. You two then can play. Not sure if that is needed though, if it is very popular such a feature could make matchmaking possible as well, kind of like how dota-league and other dota sites does it.
A way to build on this might be to have a search opponent feature on the webpage. It then searches among those currently searching and gives you a map and player name with id. You two then can play. Not sure if that is needed though, if it is very popular such a feature could make matchmaking possible as well, kind of like how dota-league and other dota sites does it.
This stuff is prohibited by the EULA, I think the system can go as far as providing a rating & rank for a player but not match him up against someone else.
On January 14 2011 09:54 darmousseh wrote:
You can use md5 hash checks to make sure the result of the game is valid. Each player has a private string (ID) (only public to the player) , the game adds a unique value for that specific game along with using a global key, the two players IDs, and the value of the game result (0,1,-1) and then you md5 it. That value is stored in the bank file along with the ID of the player and the unique game value. The server checks the md5 to make sure it is the same as it expects. Since the math to do the md5 is obscured and is done in the client it will be really hard to decrypt and fake and only one player would need to report the result.
The only way to fake it is if you figure out the global key, the rules for the unique key, access another players key and figure out the correct formula to md5 the string (order of addition), the odds of this are basically 0.
You can use md5 hash checks to make sure the result of the game is valid. Each player has a private string (ID) (only public to the player) , the game adds a unique value for that specific game along with using a global key, the two players IDs, and the value of the game result (0,1,-1) and then you md5 it. That value is stored in the bank file along with the ID of the player and the unique game value. The server checks the md5 to make sure it is the same as it expects. Since the math to do the md5 is obscured and is done in the client it will be really hard to decrypt and fake and only one player would need to report the result.
The only way to fake it is if you figure out the global key, the rules for the unique key, access another players key and figure out the correct formula to md5 the string (order of addition), the odds of this are basically 0.
Interesting stuff, sounds pretty foolproof.