The Lost Cities
The Lost Cities is a mod that allows the player to play in an old abandoned city instead of the normal overworld. When you create your world you can select 'Lost Cities' as your worldtype. You spawn in an old and partially destroyed city that takes over the entire overworld. There are highways, bridges, tunnels, a subway system, tons of dungeons with spawners and loot and so on. There are also various configuration presets (called profiles) to alter how the world is generated.
This mod is very configurable. You can add custom buildings, blocks, control how cities are generated, and a lot more. Documentation on this can be found here: Lost City Wiki
This mod can be used server-side only (so vanilla clients can connect). To use it server side you have to use 'lostcities' as the worldtype.
Note that there is also a dimension (default ID 111) that you can travel too. This dimension can be disabled (useful if you want this for vanilla clients). But using this dimension you can keep the overworld normal and have The Lost Cities in a dimension. To go there (and back) the current way is to place a bed on top of two diamond blocks and surround it with 6 skulls. Then try to sleep in it.
If Biomes O Plenty is present there is also a Lost Cities (BoP) variant (or 'lostcities_bop' for servers) which will use Biomes O Plenty biomes.
To use a specific 'profile' (configuration profile) on a server you have to add this to your server-properties file:
Also check the companion mod Lost Souls to add more challenge to the buildings:
Modpack policy: Feel free to use this mod in any modpack you want.