I used /setworldspawn to set the spawn point on the server, and I have a command block on a clock that tp's all new players to a custom first spawn point (based on players within a radius of 30 around spedific co-ordinates). I have all the command block stuff that makes the server go under there, and use that spot to execute commands on players that only need to be run once.
I increased the spawn protection in the server.properties because I kept having issues with hackers wrecking things at spawn (despite enforcing gamemode 2, etc within the spawn area), and now when players first join, they seem to spawn in any random place within the spawn protected area (which is not what I want). Is there any work around for this, or is this just how an increased spawn protection in server.properties is going to function?