The server tech that saved WoW 10 years ago is causing problems for Classic’s Season of Discovery, dev reveals- ‘a layer is actually just sharding with a lot of sticky tape’-

The second season of WoW classic’s Season of Discovery (SoD) is live—and the layers are acting up again, this time in Stranglethorn Vale (STV). For the uninitiated, this season brings Blood Moons to STV: 30-minute PvP brawls that tick around every three hours. The main issue? The bouncers at the door aren’t great at their jobs.

SoD’s server infrastructure runs on layers, which are meant to chop up the server load and keep things running nicely. Ideally, players engaging in these large-scale PvP events would let the layer system plonk them somewhere with a balanced amount of players. 

In reality, they’ve been shuffling into different layers on purpose by grouping up, leading to what one dev describes as a “gross” user experience. Senior game producer Tom Ellis took to Twitter to go over the technical details this weekend (thanks, WoWHead). As he notes, layering actually has its roots in a system which pulled World of Warcraft out of the fire 10 years ago, despite putting SoD in hot water now.

Where it all started

“Once upon a time, a realm ran one copy of each zone locally on its own hardware … it was all running in the same place, you could kite mobs across zones, escort quests had NPCs pathing across zone boundaries,” Ellis writes. “As hardware improved and performance improvements were made, expansion after expansion we raised the cap on the number of concurrent players we allowed to log in.”

This caused major problems however, when the CPU cores started to struggle under high loads. “This all came to a head in Warlords of Draenor when in the face of a very successful launch the starting zones in WoD were completely unable to handle the load they faced.” Ellis outlines how a former Blizzard developer spent “three days and nights (we don’t condone that sort of behaviour anymore!)” developing what’s now known as sharding technology.

“It made the game feel less cohesive, but it meant the realm cap and zone capacity were now disconnected entirely, it also gave us the ability to have specific values for specific zones.” Ellis says the team wasn’t intending to use sharding in classic, but “we had to find a way to use modern sized realm caps but not crush the zones with players.”

The major issue? Sharding messes with Classic-era vibes. At the time, it wouldn’t let players kite mobs or hunt each other in PvP across zones: “both people should keep chasing each other into the new zone and in a sharded world, they could end up on different destination shards.”

From sharding to layering

Instead, the sharding tech was reinvented by Omar Gonzalez, a developer who had apparently “locked himself away for weeks” to get Classic running as per an interview with Ion Hazzikostas in 2019. Ellis says “he took sharding and started stitching the shards together into something that became known as layers. Yes, a layer is actually just sharding with a lot of sticky tape.”

This solved a massive problem for Classic, but the technical debt would rear its ugly head again in Season of Discovery. “The biggest problem we are slamming into at the moment is some early code assumptions for layering are now very problematic, all zones in a layer have the same number of players that can be in the zone. We can’t for example say, 500 people in Ashenvale, 1,000 people in Orgrimmar, they all use the same value. This is a nightmare when zones perform very differently based on what players are doing.”

As Ellis points out, layering doesn’t just cause problems for the zone it’s happening in. “If the entire server goes to STV during the blood moon, we spin up entire layers to handle the extra STV, so we may be running 16 empty copies of every other zone just because we need 16 STVs, gross.”

In a second thread, Ellis does a deeper dive into Season of Discovery’s woes. “Since everyone is forming five-man groups and usually one person arrives ahead of the others, it’s running into the max value for the zone and not allowing the rest of your group to come into the same copy … think about it, if the zone can handle 500 people, and allows them all in then they each invite 4 more people, ah crap, we’re going to crash. So we have to have a hard limit somewhere.” 

The full thread’s absolutely worth a read if you’re interested in this sort of thing, but to keep things brief here: “The TL;DR? Groups are hard for the layering system to handle, and once a zone is full the [user experience] at that point is gross. As the Classic team already mentioned, there’s changes coming to help improve that.”

Related Posts

A Virtual LAN Party Is Coming To Steam

Thanks to high-speed internet and other cultural shifts, in-person LAN parties are largely a thing of the past beyond special occasions. However, there’s a LAN Party app…

CoD- Warzone Is Removing This Map Very Soon, Giving One Last Week To Play

Call of Duty: Warzone developer Raven Software has announced that one of the battle royale’s Resurgence maps will soon see its last week in the game. In…

Core Is A Roblox-Style Sandbox Game, And It's Out Now On The Epic Games Store

Manticore Games has just launched Core, a new sandbox game powered by user-generated content, allowing players to explore a multiverse full of different activities and stories to…

Elden Ring PC Frame Rate Issues, PS5 Save Loss Being Looked Into

Elden Ring is available now, and it’s one of the best-reviewed games of all time, building on From Software’s Souls formula with an open world, mounted combat,…

Endless Dungeon Delayed To October, Switch Release Date Coming Later

Amplitude Studios and Sega have announced that Endless Dungeon has been delayed to October 19. The game was originally set to launch on May 18. Come from Sports…

Halo Infinite Vehicles List- The Best Vehicles For Halo Multiplayer

Halo Infinite vehicles continue the series’ storied history with combat coming from not just the barrel of a gun, but also from behind the wheel of various…