Classic Server “Leeway”, Not A Bug – #NoChanges

Feared characters run fast? Not a bug.

Tauren having a larger hit-box? Not a bug.

Being able to melee a moving target outside melee range? Not a bug.

…wait what?

tl;dr: I am on team #NoChanges, however, leeway is an outdated mechanic that will ruin valid PvP.

My favorite rogue, Perplexity, published a video three days ago on a Classic game mechanic refereed to as “leeway”.

If you have not already seen the video or are aware of leeway, leeway is the scenario where a character in motion has an artificially enlarged hit-box. For relevancy, this means that if you are a warrior chasing down a mage in Stranglethorn Vale and can get just outside what normal melee range would be, you will be able to connect with abilities outside of the normal melee range. (The most significant factor in play here is the requirement that both players are in movement.)

This does not happen in Retail.

Internet and Gaming in 2004

The cause of this is an yet another artifact of a game written on and designed for 15 year old computer architecture. In 2005, 2Mbps download speed over broadband was made publicly available. I want to drive home the fact that not only is this speed incredibly slow compared to what we have as the top end cap of ISP download speed, but also that the 2Mbps speed was available in 2005, not 2004.

World of Warcraft was built to be able to run on average machines of the time. High resolution models and complex physics were subservient goals to that of widespread play-ability; get everyone and their grandmother playing. Some players had faster connections than other, some had dual core processors, some had add-ons adding latency to their client. Harmonizing one users input with another continues to be a hot topic (for the nerds) in every internet connection based multiplayer game today.

How do you allow for interactive player versus player combat where when you press 1, Mortal Strike swings, and not a LUA error about being out of range, when the average family household has the download speed of a current day dentists office free wifi?

Change the way characters interact with the environment.

Client/Server Interaction

(Incoming wordy explanation.)

Our character has moving parts and animations that extend beyond the space occupied by your character when standing still. Pointing outstretches an arm, dancing changes the direction your character is facing, lying down changes your heads distance from the ground…at least visually. The game client does not recognize these movements as changing your characters location in space: lying down does not mean a sword swing will go above you and miss. These types of movements does not tell your client-side game to send an update to the server that your character’s location in space has changed, no movement data is sent.

What does trigger our client to send a location update to server? Right click rotation, movement keys, and jumping (and many other interactions).

Lets break it down step by step:

  • Right Click & Turn Left/Right
    • Characters are able to spin 360 degrees on an axis in the center of their character. The actual location of your character stays static, but our characters do have a front/back that is relevant to game mechanics.
  • Movement Keys
    • Press forward, move forward. Press strafe left, move left. Press backward, get mocked.
  • Jumping (This one is tricky…)
    • When your character jumps, the location of your character does not move. The space that your character takes off from the ground/surface is, in the eyes of the server, the location where your character is.
      • This is not a bug.
    • When your character lands, then your client sends an update to the server with the location where your character touches down.
      • This is not a bug.
    • Jumping and its mechanical mastery is a topic that deserves its owns post…

Every player’s client is separate and interacts with another player’s client through the server. Then in turn the server coalesces and relays this information to the respective clients. It doesn’t require a degree in rocket appliances to recognize that information between clients is not exchanged absolutely instantly with a middle man like this.

Giving Leeway

With the basics of how client/server interaction operates and the architecture that the game was created on in mind, we can finally address leeway!

When a player is moving, the space that they occupy on their client is not the same space they occupy on another client in the same instant in time, because of latency. To address this, Blizzard added a feature that accounts for this difference in space by artificially expanding a players hit-box.


When a player is on their own this is of little concern as most NPC interactions are generated on the Client.

However, this presents itself differently when we have two real players engaging in PvP.

Lets imagine we have two Players, A and B.


If Player A is moving and Player B is moving, they both have extended hit-boxes and are able to connect melee abilities in a larger than standard radius.

If either Player A is not moving, Player B is not moving, or both Player A and B are not moving, the extended hit-boxes will not overlap and result in melee abilities connecting outside the standard radius.

Still not seeing the issue?

Non-melee abilities are not affected this.

System architecture has changed.

Servers are more stable and more powerful.

Internet speeds are monumentally faster.

I believe that #NoChanges has the best of intentions and I agree that the game needs to be as close to it’s original form as possible. However, what was once a beneficial addition to account for the technology of the time is now a game-breaking mechanic that can be and will be abused.

Get rid of leeway.


  • Latency in World of Warcraft can be World or Home, but for this article we are referring specifically to the World latency.


One Comment Add yours

  1. johnyd says:

    No changes means no changes, not “change things I arbitrarily consider outdated”.

    People can also say that looking for a group in trade chat is outdated as well.

    We have been aiming for a vanilla experience for years, if you want a game in the same spirit as vanilla, but with more modern mechanics petition for them to fix retail wow. Leave classic alone.

Leave a Reply