MMO Mapserver Boundaries

Started by
31 comments, last by loufoque 15 years, 2 months ago
Heya, I'm currently trying to develop a mmorpg as programming training and right now I'm stuck. How is it possible to manage the bounds for a particular map so players can't get past a canyon as example? I mean I can't do it clientside because players could attempt to get outside the map by manipulating the datastreams so it must be done serverside. Any ideas how I could possibly do this? Obviously I need to check the player xyz coordinates against the map bounds but the map is far away from a rectangle shape so I thought it could be possible to check against edges but this way players could possibly move through walls. Thanks in advance for any help, Sargo Darya
Advertisement
How is your map defined?
How do players move, can they fly, use vehicles, jump, ...?
What shape is your map? You might be able to split it into triangle shapes and then shoot a ray from your player to the ground and see whether or not there was a hit with a zone triangle.
Artist 1st - Programmer 2nd(I'll get some material linked here sometime to support these claims, haha)
Currently the game is made with portals and gates. You are in a town and you can choose 3 words from a wordlist and it teleports you to the map. The map could be any shape. This way I don't even have to create swap zones to get from one zone to another.

@etsuja: Thanks for that, I'll try that
Do an initial client-side verification (ray tracing, physics collision detection, etc). Then, every so often, have the server verify and check that the player is in a valid location. If it's not, "something bad happened", and the server forcibly either kills the player or moves him to a "safe" spot.

This way, hackers will be able to get through walls but not for long until the server detects the error (and flags the account, perhaps) and resets the player. Regular users will still be OK because of the client-side detection.
Quote:Original post by Grafalgar
Do an initial client-side verification (ray tracing, physics collision detection, etc). Then, every so often, have the server verify and check that the player is in a valid location. If it's not, "something bad happened", and the server forcibly either kills the player or moves him to a "safe" spot.

This way, hackers will be able to get through walls but not for long until the server detects the error (and flags the account, perhaps) and resets the player. Regular users will still be OK because of the client-side detection.


is that really going to work though? even being able to walk through walls for just a single second will open the game to rampant cheating. walking through a wall may only take half a second, then your back in legal map bounds and the server never noticed

instead, the client makes a *request* to the server to move, the server verifies where the client wants to move, and then gives it the OK, telling the client his position. the server should step the physics and check all collisions at a fixed rate.. then the hard part is making it all look good, and in MMO, making it scalable...
FTA, my 2D futuristic action MMORPG
What MMO's have server side validation of things like that?
-=[Megahertz]=-
Quote:Original post by Megahertz
What MMO's have server side validation of things like that?


Silkroad Online is one that I know does first hand from having done lots of reversing on it. I assume you were asking that of graveyard filla's post. I won't bore you with details of how their game is structured unless you really want to hear it.
Quote:Original post by Megahertz
What MMO's have server side validation of things like that?


I would think any MMO which wouldn't want people walking through walls & other players and stuff... so.. probably all of them.. ?? [lol]
FTA, my 2D futuristic action MMORPG
Quote:Original post by graveyard filla
Quote:Original post by Megahertz
What MMO's have server side validation of things like that?


I would think any MMO which wouldn't want people walking through walls & other players and stuff... so.. probably all of them.. ?? [lol]


Funny enough, this is far from true on an alarming amount of MMORPGS. A lot of free to play MMORPGs have such movement bugs to where the server does not properly verify movements, it's all done on the client's side. Even Warhammer has had a long standing speed and jump movement hack since beta. The Final Fantasy MMORPG has such hacks as well, but they are server detected and players are quickly auto-banned.

The underlying cause for that is because its easier to program it that way. Rather than have to develop an extensive system for the server, a lot of places rely on the client doing all the checks and keeping the player in check. The golden rule of networking is never trust the client, but very few games actually follow that rule! It's harder to do the right thing and so much easier to do the wrong thing and as a result, cheating prevails in a lot of games due to this and it is not something that can easily be fixed once it's exploited.

This topic is closed to new replies.

Advertisement