Clientside integrity check can still be avoided in some way. The correct way to resolve the issue is to program the server aspect of the game so that the server is the ultimate authority and does not accept anything the client sends that is wrong. When a server tells a client to spawn it should not let the client say ok i am now at x,y,z at angles p,y,r. The server should say you ARE at x,y,z at angles p,y,r and if the client tries to send commands that dispute this then they are simply ignored and the client effectively is sitting there doing nothing. Just the same that the server should not accept anything the client tells it that would allow an AI plane to be spawned. The server should only accept what the server wants to happen.
There is a saying in the programming world, no matter if its the web, an application, or any other user interface...NEVER TRUST THE CLIENT!