Invalid or Expired CD Key / Invalid CD Key

Call of DutyCall of Duty: United OffensiveCall of Duty 2Call of Duty 4: Modern Warfare

Invalid CD Key
Invalid or Expired CD Key
CD Key in use

Cause

At connect, the server validates the client's key against the publisher's authentication service. That infrastructure for the classic titles has been unreliable for years, which means the check can fail for a perfectly legitimate key.

Genuine causes, in order:

  1. The key authentication service is not answering.
  2. Two clients on the same key connecting at once ("CD Key in use").
  3. The key really is missing or malformed in the client's config.
  4. The server enforces a key check that the client cannot satisfy.

Fix, server side

If your player base is hitting this constantly on a private or community server, the practical answer is to stop requiring the check. How depends on the game:

  • Call of Duty 4 — run CoD4X, which does not depend on the Activision key service.
  • Call of Duty 2 — CoD2x servers are widely used for the same reason.
  • Call of Duty 1 — 1.1 servers running CodExtended sidestep the original auth path.

For a genuinely public server on stock binaries there is no configuration that makes a dead authentication service work.

Fix, client side

Re-entering the key makes the client register it again. Where it is stored depends on the title and installation method — the classic games keep it outside the normal config, in a separate key file or in the registry, not in config_mp.cfg. The reliable route is the game's own key entry prompt rather than editing files by hand.

Player config, for the settings around it:

CoD1:  <install>/main/config_mp.cfg
CoD2:  %USERPROFILE%\Documents\Call of Duty 2\main\config_mp.cfg
CoD4:  %USERPROFILE%\Documents\Call of Duty 4 - Modern Warfare\players\

"CD Key in use" means someone else is connected with the same key. Only one connection per key is allowed.

Worth knowing: in practice almost all surviving Call of Duty 1 servers no longer enforce a key check at all, so this error is rare there.

Related