You can use
I imagine you will have something like square map , for example 50 * 50. You need to know coordinates of corners and it would be good to have it surrounded by some solid blocks (glass, stone, etc), so lava won't flow everywhere...
Then inside a map you will have some islands etc.
All you need is some control room, for example I would make it above the gameplay area, so you can have access for it and there is no problem with loading the chunks...
In this area you will need some redstone.
I already mentioned /fill command, this will be useful.
/fill <x1> <y1> <z1> <x2> <y2> <z2> <TileName> <dataValue> replace [replaceTileName] [replaceDataValue]
For our use it will shrink into :
/fill <x1> Y <z1> <x2> Y <z2> minecraft:lava 0 replace minecraft:air
Now how to setup it:
- You need to be sure that all blocks you want to flood with lava are air ones. And be sure that flammable materials can be destroyed if you have such a settings enabled (gamerule). If careful enough, you can make even renewable arena.
- You will need one commandblock PER each Y value (I expect you want to raise the lava by one block at time).
- You will need to have "slowing" redstone or some timers.
Check the coordinates of opposite corners of arena, one will be x1,z1, second will be x2,z2. Y coordinate will be same in both parts of command, meaning the layer you want to flood.
Now the timers. You can make kinda extended redstone setup (repeaters slowing signal down, or droppers, hoppers, etc), or you can use /scoreboard.
If using redstone, all you need is to start the game by pressing some button and let redstone flow (best would be with hoppers which can slow down the current for long time, but are compact) run through the commands. Then it depends on how fast you will make the redstone.
So your commandblocks will be something like:
/fill 0 1 0 50 1 50 minecraft:lava 0 replace minecraft:air
/fill 0 2 0 50 2 50 minecraft:lava 0 replace minecraft:air
/fill 0 3 0 50 3 50 minecraft:lava 0 replace minecraft:air
For resetting arena, you can then use something like reverse command:
/fill 0 1 0 50 YMAX 50 minecraft:air 0 replace minecraft:lava