Keep objects local Z orientation the same as global while allowing rotation on x, y

I have a cylinder I’m trying to rotate on the X and Z axis at the same time while keeping the local Z axis’ orientation the same as global Z axis.

Whenever I rotate the object on the X axis the Z orientation changes. If I constrain the Z orientation in logic the object no longer spins around the X.

Ill post blend soon, I think I may have figured it out haha, instead of sphere collision bound, convex is workin a little better now, or I tried something new

blend is too big im going to try to repolicate in smaller file, if anyone has run across this problem plz lemme know

Heres a small i guess example of the basics of what im trying to accomplish, if I enable physics visualization I can see why it doesnt work, the objects 2 axis’ are changing their global i guess orientation, if theres a python solution or anything thanks ahead of time
\