put this in init.sqf
if (!isDedicated) then {
waitUntil {!isNull player};
waitUntil {time > 0};
_ppos = getPos player;
player setPos [0,0,0];
hint format ["spawn pos: %1\nteleport to: [0,0,0]\ncurrent pos %2", _ppos, getPos player];
};
start dedicated server and join, you will appear in the water
hint will show
spawn pos: (your editor position) [whatever not important]
teleport to [0,0,0]
current pos [0,0,0] - in the water where you are all good
drop to the lobby and back....you are at default editor position not at [0,0,0] in the water, but hint shows
spawn pos: (your editor position) [whatever not important]
teleport to [0,0,0]
current pos [0,0,0]
again! "current pos" is getpos player after teleport. A. you never teleported as you should and B. getpos player shows you are teleported when you didn't!