As explained in the shoutbox, server-side code adjustment is necessary. This happens in Sub PlayerMove. In Case DIR_UP where you have:
Call SetPlayerY(index, GetPlayerY(index) - 1)
You need to add under that:
Call SetPlayerX(index, GetPlayerX(index) - 1)
And then you do a similar process in the other direction cases.
Otherwise the movement doesn’t function correctly, as I did try it without.
There is something else, called Sub ForcePlayerMove, which I adjusted but haven’t tested it’s functionality. This is only ever used TILE_TYPE_SLIDE which I doubt I’ll ever use so haven’t bothered testing yet.
Apart from that, Sub PlayerMove is the only part of the server script that needs adjusting to work with diagonal movement.