I have a game loop that sends new positions of every player to other players.
But there is no guarantee that the users will send the server their new positions at the same time. Actually if their connection is slow or some errors happen inbetween, then the data of the clients will flow to the server in a very varying way for every other user.
My question is, how should I handle so varying data on the server, and decide who should win in a fast-paced multiplayer game. Is the key, timestamp of the requests (seems like it is widely open to cheating), or just the clients sending me directions where they go, and their actions like pressing a button etc?
I've read lots of articles on the web, but none of them seems to completely cover the subject.
PS: I just want to decide on the server side, what should be the next 'frame' in the game by applying the game scenario to the user inputs.