I wouldn't consider it a memory error.

This has to do with rigid body physics & collision detection. Along with how the physics are applied to complex meshes.

I imagine it starts at client ... the positions of the 2 meshes somehow break the defined physical bounds ... this updates the server state & then is propagated to the other clients when the world state update happens. This is why everyone sees the same "exploit" ... if it were a memory related error, I doubt it would propagate to the other clients. Typically in MMO programming, the clients recieve world state updates from the server -- basically the coordinates of the 2 meshes are screwed up and no correction took place.

It is a tough nut to crack & fix ... server side state correction would be the place to do it, but it has to be done sparingly ... the clocks required to test every object in state would just increase latency & if it passes the threshold of network latency, your basically fucked (rubber banding & other chaos ensues).

I have been down this road a time or two ... physics engines are brutal to program ... appling them to state is yet another hell of a task.

I wonder if AV wrote a home grown physics engine or used a commercial or open source one? I have been pretty damn impressed by it ... the gravity aspects are pretty solid and for the most part the collision detection is right on.

For example: Running part way up a tree on a horse, stopping & sliding back down is a really good example of some sophisticated physics & collision detection on multiple meshes. The bounds are small enough for the horse's hooves to make contact, the player's mesh bounds do not interfere, nor do they detatch from each other & rubberband back ... that is pretty friggin cool for a geek like me.


[Linked Image from w3.the-kgb.com][Linked Image from w3.the-kgb.com][Linked Image from w3.the-kgb.com]