Before the match starts disable auto saving of that world and when the match ends unLoad the world then re-load the world.
Not sure why you would use a command if it's an automated SkyWars arena. But this is what I used: PHP: $this->getServer()->unloadLevel($level);
Was that forked from my SkyWars repo? It is the exact same code. [EDIT] There are some additions but other than that the same.
That's why I suggested disabling world saving and unloading the world at the end of each level that will restore it.
Nope, it wont. The level will only get reloaded when you restarted the server. Here use that code to reset a world:https://forums.pocketmine.net/threads/how-to-reset-map.15404/#post-149954 I use that code for my minigame, so it should work.
I disabled world saving unloaded loaded etc, and my SkyWars plug is fully working with PHP7 and map restore. I'm not trying to argue but I believe the issue should be resolved.