I am engaged on a web-based Net RPG recreation (jRPG) with a map, that characters can go round.
Additionally, an necessary half, is that every participant has his personal world and every participant can invite his associates to play on the map collectively.
Virtually any motion might be processed by a devoted server as effectively, aside from the character’s motion/animations, as a result of the server is written over WebSockets, which are utilizing TCP below the hood.
Truly, these actions might be processed with an overhead of bundle reliability.
However I believed, what If I create a peer for every participant and use it together with an authoritative server?
After which, in a case, if one participant invitations the second participant to play collectively, then the second payer simply connects to the primary one utilizing p2p know-how.
However on the identical time, every motion, like setting a brand new prop on a map or opening a chest with a reward (that may be hidden within the forest) is processed by a devoted server (by means of the WebSockets)
So, the aim of p2p right here is to transmit not dependable(or too frequent) knowledge, resembling person’s actions(place)/animations/and so forth.
Additionally, my opinion is that can work nice for hubs (some areas, the place 16-32 random gamers can meet one another, like in No Man’s sky)
All appears to be like excellent, aside from one factor:
I need gamers to have the ability to transfer over the map(need to WASD), however not to have the ability to
transfer by means of the objects (e.g. wallhack) So, if gamers enter a
dungeon, I need to ensure, that they resolve a dungeon, however not
completed it by transferring by means of the partitions.
There may be one other drawback just like prev: Not permitting quick map exploration (e.g. pace hack)
Is there any method to deal with this concern with out processing participant actions(and different frequent unreliable knowledge) on the principle server for every replace tick?
I do know that p2p is for gamers that like to cheat as effectively, however in that case, I’ve a further Authorative server that may approve/reject loads, I simply don’t need to make all of the stuff laggy on the principle server (if there shall be loads of messages per replace)
Btw. positions are solely utilized by the participant(dungeons, map exploration) or the group of gamers that play collectively, it is NOT an MMO, the place hundreds of gamers can see one another.
As for me, it is ineffective to replace the participant every body or to make the sport an actual MMO, so there shall be a way to replace all of the positions on the principle server.
P.S. I do know, If there shall be no WASD, however mouse clicks then the motion path might be constructed utilizing the principle server. On this case, p2p will work as anticipated. However I actually need to use a joystick on cell gadgets to maneuver round.