Why isn't spawn-protection protecting the spawn?
Solved it!
A meandering discussion on the Talk page for the server.properties article on the Minecraft Wiki indicates that this is Forge's fault. Apparently it redefines spawn-protection
to be a boolean that turns protection on or off entirely (which you can't do in vanilla), and defines a new variable, spawn-protection-size
for what the former variable means for a vanilla server.
As a side effect, it appears that a server with the Forge API installed will honour the default spawn-protection area of 16 blocks until you edit the variable, at which point it treats it as boolean and looks for spawn-protection-size
instead, doesn't find it, and effectively turns spawn protection off entirely.
So this is what happened to me then. Adding spawn-protection-size=42
to my server.properties
file made spawn protection work (again) as expected. Redefining configuration variables is poor practice!