A Strange happening with LinearVelocity

I’m trying to make a space ship that floats around in space using only python linear velocity, but it’s acting strange when it rotates. It has something to do with local linear velocity.

Here is a .blend, thank you for your assistance.

(And all though I own everything in this .blend, you may use what you please.)

you should save your own linear and angular velocity

if not "linVel" in own:    own["linVel"] = mathutils.Vector((0,0,0)) 
if not "linAng" in own:
    own["linAng"] = mathutils.Vector((0,0,0)) 
own["linVel"] += (SelfXVec + SelfYVec)
own["linAng"] += (SelfZrVec + SelfZlVec)

own.setLinearVelocity(own["linVel"], True)

and remove getLin and geAng

Thanks. Man it was killing me. You’ve really helped man. If anytime you need anything contact me, I owe ya.