Persisting world map for a multiplayer game

There will be some initial map built by us. Player are able to modify this map, eg. dig out tunnels, place down items and similar actions. Whole game will be backed by dedicated server running for a very long time.

My main concern is how to actually persist these changes in case we need to restart server or it just crashes? I assume there is no built-in solution for that? In that case, what would be the easiest approach? I am coming from JavaScript world so I can think of some JSON format or similar. Either way I assume it would require some sort of serialization.

I have found this wiki about about save system, but it’s most probably not multiplayer compatible. I mean server would be probably able to read from it and use it, but problem comes with clients. It would need to replicate to them immediate vicinity of the level and then gradually send move pieces as player moves through the map. Is something like that even possible?

If that would be possible, then perhaps the best approach would be to actually build the level with the in-game tools we would have to create and always stream data from authoritative server instead of packaging client with map data.

Follow up forum thread: Persistent world with UE4 (not an MMO) - General Discussion - Unreal Engine Forums

See if this would work for what you are looking for:

Thanks. That looks really interesting. We have postponed our multiplayer dream for now so hopefully before we decide to continue there, you would be able to polish and make it available :slight_smile: