Points #5 and #6 are not very clear to us.
Parent the player to the MMOItem so that whereever the MMOItem moves to, so will the player.
Maybe you mean the opposite? Because it's the player that is moving around, I'd expect.
But in any case I still don't understand the logic behind this particular MMOItem:
Code it so that when the player is out of the AOI of the MMOItem or vise versa, the MMOItem will be destroyed.
Here you say that the MMOItem should be destroyed when it goes out of the AOI but two lines later you write:
This is to ensure the player is always going to be in the same AOI as the MMOItem, as the player is riding the "car" the car should never dissappear.
If player and MMOItem are locked in the same AOI what's the point of the first statement?
Now make the MMOItem move across several "sectors" so that is it in different AOI. Move it quick enough a few times and the MMOItem will get destroyed as if it is out of the player's AOI.
What do you mean by "quick enough"?
Can the MMOItem jump from place to another in a "discontinuous" way (i.e. be teleported) rather than moving across the map at a certain speed?
The way the game works is that normally the player will walk around, but when they enter the vehicle, the vehicle which is an MMOItem will be the thing that moves, and the players who are sitting in the vehicle are children of the vehicle. So as the vehicle moves, the players will as in real life move at the same speed as the vehicle that is moving. The player is no longer walking, they are just sitting in the vehicle and riding it.
The players riding the car should always be in the AOI, but players who are not in the car, on their screen the car will be destroyed when the car exits the AOI. This first statement is simply talking about setting up the callback so vehicle/mmoitems that exit the AOI will get destroyed. This is how it should behave.
The later statement is talking about as the vehicle moves, the MMOitem position is set, that's why it's broadcasted to the world so everyone sees the vehicle moving, but we also need to remember that the players are moving on the client side with the vehicle simply because they player.transform.parent is locked on the vehicle, but the server does not know the players position is moving, so we need to ensure the players riding on the vehicle is setting their positions on the server side, or else even tho on the client side, you see the player at the same position as the vehicle, on the server the mmoitem(vehicle) has a position of e.g. 100,100,100. But the player's position is still at 0,100,00, which would cause the player to be out of range from the vehicle's AOI.
No the car should never teleport, but I manage to reproduce this issue by moving the vehicle in the editor really fast b/t several "sectors".
If I'm not explaining this properly please let me know, I'll try to setup a sample project that reproduces this issue.