For example, if a city is destroyed or some evil demon is awoken that raises undead throughout the entire world, how can you make that work in a multiplayer game?
If the player still has quests in that city, what happens to those? Or if you have relatively normal quests and suddenly there are undead everywhere, who would really care about e.g. delivering a love letter?
And even that is solved, what about other players? Do you just not see them if they're in a different phase of story progression?
Should I just not do this and have those events happen before the game starts, like e.g. in The Legend of Zelda: Tears of the Kingdom where they awake the Demon King before the game really starts? But then I can only tell the story through memories, which doesn't feel right.
Lord of the Rings Online solved this by letting you travel to previous states. But it is very weird to see Théoden die in the battle of the Pelennor Fields, then take a horse back to when he still lives to finish another quest.
Sure, destroying a city would only affect that city, so you can just let that happen before the player gets there, maybe have them participate in the battle, but then you have no real emotional connection to that city, you never really saw it before the destruction. And that would not even work for the undead thing because that would affect the entire world.