The bug
Generation of custom world only using the server.properties on a multi-player server for a FLAT level-type is not possible.
When level-type is FLAT, the generator-settings is parsed into the flat_world_options json property that afaik is never used.
Should be either parsed into this flat_world_options and code should be implemented to convert "preset" data into the appropriate json format that is being put into the generator-settings key of the level.dat or allow using the new json format in generator-settings similar to BUFFET.
Note, that when level-type is BUFFET, the generator-settings take a json string that is directly used for the generator-settings key in the level.dat, so it works as expected.
But for FLAT, it doesn't implements json in this new manner, and doesn't look like it is parsing the flat_world_options as the "preset" or legacy format. Documentation is limited.
Can confirm. I've been digging around, but flat_world_options is completely ignored. This ignores server.properties's generator-settings property when level-type is FLAT. This is quite annoying..
Edit: http://supa.me/E0E2kR.png On the left is "The Void" preset generated using single player. On the right is the string from The Void preset in generator-settings.