Try spawning the player (as self).
Use walkmove(0,0)
Test its return values.
This will tell you if they are properly spawned there or if they're stuck in something.
Quirks: It'll trigger touch functions, so make sure you clear out the player's classname first, just in case, and restore after, or your player will be able to pick up ammo boxes that they're not even spawned upon.
This is after all what zombies do to see if they can get back up.
Might want to do a traceline too, just in case.
Delaying spawns works too, and encourages people to actually move (instead of going afk while the loading screen is up in slow loading engines..)