En tant que joueur, je souhaiterai pouvoir me connecter à une instance afin de pouvoir jouer en multijoueur
Dans le POC un joueur devra pouvoir au moins rejoindre un serveur, cela aurra le challenge de réaliser un premier mécanisme de sécurité, avec des comptes, des mots de passes et des tokens pour éviter que qui que ce soit puisse immiter un joueur, un chiffrement pour éviter que un tier pique les identifiants / le token.
Pistes pour réaliser la sécurité de l'application:
- Penser à réutiliser de l'existant, ex HTTPS, TLS
- Phase 1 : login avec nom + password -> reçoit token, a bien passer par HTTPS ou TLS sinon ca vas être difficile de réimplémenter quelque chose
- Si déjà login skip
- Phase 2 : utiliser token, pour toutes les requêtes nécessaires, possiblement mettre une expiration sur le token .
- Le serveur est en charge de s'assurer que le client dise des choses cohérentes (le client peut tenter de tricher, ou être juste désynchronisé)
- Partir du fait que un client peut toujours manipuler un packet qu'il envoie
- Par example, pour sécurité, au lieu d'envoyer la position actuelle du joueur, on peut penser a envoyer les entrées du joueur, a faire attention dans ce cas à la désynchronisation (pour de la rapidité, les changements de position appariassent directement sur le client), il faudra que le serveur corrige ceci en donnant la position du joueur supposée
- A penser aussi : interpolation, pour éviter la téléportation entre deux positions, l'interpolation tente de deviner les espaces entre deux packets