Je travaille sur un jeu en ligne qui aura un traitement de détection de collision très lourd. Les modèles de joueurs entreront en collision avec d'autres joueurs, mobs, structures, terrains et objets solides qui n'existent que côté serveur (non stockés dans les fichiers de données client).
Pour des raisons de sécurité, dois-je faire toute la détection de collision côté serveur? Ou devrais-je demander au client de faire la détection et de faire suivre le serveur d'une manière ou d'une autre? J'ai l'impression que ce sera trop pour le serveur de le faire seul (je conçois le moteur pour des centaines de joueurs sur un serveur).
Est-ce que quelqu'un sait comment les MMO traditionnels le font? Je sais que presque tous les MMO en ce moment sont sensibles aux hacks physiques et les traitent généralement en détectant les hacks et en interdisant les gens. Je préférerais que les hacks ne fonctionnent pas du tout, du moins pour la composante physique.
la source
Si vous êtes préoccupé par les hacks et que cela a un grand impact sur le jeu, la réponse est OUI.
Dans mon jeu basé sur un navigateur qui est un jeu de type "construction de ville", je ne me soucie pas des hacks car le moteur client ne va pas échouer lorsque je mets en forme l'état du jeu enregistré.
Cependant, cela pourrait potentiellement abuser du gameplay car le joueur doit dépenser des pièces de jeu (ou de l'argent premium) pour agrandir la zone jouable afin de construire plus de maisons / bâtiments. Je vais donc implémenter une simple vérification du nombre de tuiles occupées par le bâtiment nouvellement ajouté contre le nombre de tuiles gratuites disponibles.
la source