As far as I know, the object's origin is the baricenter. Never checked though, I always have my stuff at 0,0,0.
Here's the full description of the model system.
tl;dr: Place an empty, a single arrow one. This arrow will point in the direction your thruster is firing (the Z axis), Now you name it as
thruster_ or
thruster_linear_. Linear will only fire at translation, plain thruster will fire at rotation too. The main engine should be thruster_linear. The size of the empty is the size of the exhaust flame, but keep the scale uniform, or the flame will elongate/squash. The engine will know from the directions which thrusters should be fired when rotating.
Light are empties too, I recomend sphere. Name it
navlight_red_,
navlight_green_ or
navlight_. Red goes to the left, green to the right side, and they will blink, any other navlight_ will be blue, and won't blink.
Edit: I've mistíped the navlight name, it should be
navlight_, not
nav_light_!
Animations usually go trough if they are linear interpolated. If you are using ease-in/ease out, then you should bake it first. Press space, type in bake action, and check what's needed. If you are using constraints or parenting, then check the clear... boxes.
Animation must be set up in the model file.