Devblog: Merging previously merged servers 2022-09-28 16:00
Back to list
How do server mergers work in DOFUS?
In a nutshell, when we merge two servers, we don't actually move characters from the old server to the new one. We simply mark a link between the 2 servers. For example, when we merged the single-account servers to Ilyzaelle, we told each server that the Dramak server had now become the Ilyzaelle server. Then, the first time a given player logged into Ilyzaelle, the server would realize that the character was on Dramak and that it should move them to Ilyzaelle.
What was the problem?
The system in place does not allow for a link of a link to be established. Going back to our Ilyzaelle example: if we wanted to merge this server, we would specify a link between Ilyzaelle and the new server. However, for all the characters that are still on Dramak (i.e. the ones who had never logged in since the merger to Ilyzaelle in 2017), the new server would go to look for the character on Ilyzaelle the first time the player logged in after the second merger… and would fail to find that character, because it is still on Dramak.
How did we resolve the problem?
The technical changes were broken down into 2 parts:
- Character migration: as explained above, it's not possible to establish a link of a pre-existing link. To achieve the desired effect, we opted for a different approach: forcing character migration. The goal is not to wait for the player to log in again to migrate his character from the old server to the new one. However, this requires a lot of computing effort for the server to migrate all of that character data (with their inventories, equipment, characteristics, achievements, houses, paddocks, quests, bank, etc.). This job is too big to do all in one go. So we came up with a way to force these migrations using a small part of the server's computational power at the same time you were continuing to play on these servers. To give you an idea of the magnitude, for the Echo, Rubilax, Atcham and Crocabulia servers, this represents 11.8 million characters to migrate. These migrations were carried out during the whole month of August and September. To optimize this process, we made a second technical modification before that.
- Deleting archived accounts: There are a certain number of archived accounts in the account databases (the vast majority of which are accounts that were banned for using bots). The problem is that the character data for these archived accounts hadn't necessarily been deleted from the game servers. As a result, these servers had a very long list of accounts, some of which were actually "useless". To avoid having to migrate all those archived accounts, we deleted all the associated data. For the Echo, Rubilax, Atcham and Crocabulia servers, we're talking about 8.78 million deleted accounts.
As a result of these two technical steps, we wound up with servers that no longer have any connection to the old servers, and are therefore ready to be merged.
Note that we've greatly simplified our explanation of this process to make it easier to understand. Even if the solution seems simple and obvious as we've presented it here, it's important to keep in mind that there are a huge number of technical constraints on any project that's been evolving for 18 years. This would never have been possible even a year ago, so hats off to the Server Developer team for making it happen.
So what happens next?
The server mergers will proceed in 3 steps. We'll get things started on October 11 with the fusion of the Echo, Crocabulia, Atcham and Rubilax servers. This merger will be an important first step – in part because it's the first merger, but also because it's the one with the most servers (4 servers being merged), one of which is Echo with its 10 links to older servers.
Two more mergers are then scheduled for October 25. Once again. And if all goes well, we'll do the last 3 mergers on November 2 November 8. This schedule was designed to let us anticipate any problems that may arise without interfering with the December update.
How did we decide on these mergers?
The decision to do these mergers was based on multiple factors:
- The server populations are very different, which creates inequalities in the economy and access to resources, and makes it more difficult for us to balance these aspects.
- Maintaining 16 servers is more difficult and expensive than maintaining 7, and the weekly maintenances take longer as a result.
- Certain sparsely populated servers (especially the international servers) have been in need of a merge for a long time, in order to make it easier for people to connect and play in groups.
- The technical constraints described above have prevented us from making progress for a long time. New ideas, new technological developments, and far-reaching technical upgrades that we've initiated over the past few years have combined to make these changes possible. So it was the perfect opportunity to move forward with these mergers.
In terms of population, the goal was to have servers with approximately the same number of simultaneous players as what Ilyzaelle can handle today. As for Agride, even though the economy is rather different than that of the other multi-account servers, we have chosen to fuse it with another server because its population would have been smaller than on other servers, and because we wanted to eliminate any major differences among servers.
After these mergers, there will be 7 servers in all (1 single-account server, 1 international server, 4 multi-account servers and one epic server). This concludes our article on server mergers. Thanks to all of you who had the wherewithal to read through the whole thing. We hope we've clearly explained all the steps that have led up to these mergers, and that the mergers will be a source of new connections and opportunities (and not just in the economic sense!) for everyone.
Happy gaming!