I'm using Playfab Matchmaking to match 2 players, the player that is assigned to Team 1 creates a Steam server and the player on Team 2 joins the session automatically.
Player1 sends the match result to a Cloudscript function at the end of the match, which takes the game result (0: lost, 0.5: draw, 1: win) and the opponent entity as the variables.
The Cloudscript then compares the ratings of the player that sent the result and the opponent, then adjusts the new ratings using the Elo rating system.
It all works without any problems except I'm worried that if a hacked client were to be in Team 1, they could force the game result to be 1 (win condition) every time and set the opponent entity as anyone they want.
I'm not very sure how to secure this so a hacked client won't be able to alter game results, how can I achieve this without a dedicated server?