BETAServer is in pre-launch beta · official launch date TBAWhat this means →
Crushbone

Server Info

ZEM — Zone Experience Modifier

How ZEM works on EverQuest servers, how Crushbone tunes it, and where to see the live per-zone values.

ZEM — Zone Experience Modifier — is a per-zone multiplier on the experience points a kill awards. A zone with ZEM 2.00 gives twice the XP per kill as a zone with ZEM 1.00, all else equal.

The ZEM system is why, on canonical servers, a specific dungeon becomes "the" XP camp for a level band — ZEM values were tuned to steer players toward intended content. Crushbone inherits the ZEM system and actively tunes it.

How ZEM is computed into XP

Your XP per kill, per canonical EverQuest formula, is approximately:

xp = base_mob_xp × zem × party_penalty × level_penalty × server_xp_multiplier

Only the zem factor is per-zone. The rest are per-kill or per-group adjustments. A level-appropriate mob in a 2.00-ZEM zone is always going to out-XP the same mob in a 1.00-ZEM zone.

Reading a zone's ZEM tier

On Crushbone, ZEM values cluster in predictable bands:

ZEM Tier Intent
≥ 3.00 S Premium endgame zones (Plane of Fire, Plane of Earth, Plane of Water, etc.)
2.50 – 2.99 A High-yield progression zones
2.00 – 2.49 A Solid group XP, designed progression content
1.50 – 1.99 B Default for many outdoor zones and group content
1.00 – 1.49 C Standard starting and filler zones
0.50 – 0.99 D Low-yield, usually city interiors or travel zones
0.00 No XP bonus (typically cities, tutorial zones)

The live table is published at ZEM Table — All Zones and refreshed whenever the wiki snapshot is regenerated. For real-time live values, see the Crushbone admin dashboard (private).

Crushbone's ZEM philosophy

Crushbone adjusts ZEM values to serve two goals:

  1. Steer players toward era-appropriate content. Zones outside the Classic-through-PoP era (expansion 5+) are set to zero or near-zero ZEM by default — they are inactive on the server, so giving them XP would be misleading.
  2. Prevent single-zone monopolies. If every level-50 group piles into one zone, the server adjusts that zone's ZEM down and a sibling zone's ZEM up. The goal is a live ecology of valid XP camps, not a conveyor belt of one.

These adjustments are made by the GM team and logged in the Changelog. If you find yourself in a zone where XP feels unusually slow or unusually fast, check the changelog — a recent ZEM tweak may explain it.

Changing a zone's ZEM

ZEM values live in the zone_exp_multiplier column of the zone table in the EQEmu database. Changes take effect on zone reload — the GM team typically chains a reload zone <shortname> after a ZEM update to bring the value live without a world restart.

On Crushbone, ZEM tuning is available to GMs via the local crushbone-admin dashboard. Adjustments trigger a live reload zone <shortname> so the new value takes effect without a world restart.

Dynamic ZEM rotation (planned)

Crushbone is designing a rotating-ZEM mode where a subset of zones receive a temporary bonus multiplier on a daily or weekly schedule. The intent is to prevent any single zone from becoming "the" grind camp for a level band and to distribute player activity across the map more evenly. Three rotation modes are on the table:

  1. Weighted RNG, daily reshuffle — pick 2 bonus zones per era tier each day at server reset.
  2. Scheduled event windows — cron-driven, e.g. weekend Kunark dungeon boost.
  3. Player-driven "dust bonus" — zones that have been empty for 72+ hours get a rising bonus until someone camps them.

Details and guardrails are captured in the admin project's internal design notes. When rotation ships, this page will document the active mode and show the current bonus zones alongside the static ZEM table.

Related