Download and Join our server. Just extract and run Mordhuo.exe.

MORDHUO

Classic, pre-T2A Ultima Online with free 360° movement, realtime, skill-based melee in the spirit of Mordhau, and aimed archery and magery, drawn with UO's original sprites. A mod for ModernUO and ClassicUO, the standards in community-built open source UO server and client.

Shard rules

What MORDHUO changes from classic UO, beyond the combat above:

Changelog

Every commit in the project's four git repositories, newest first (collected 2026-10-14).

dist/ — the shareable repository

DateCommitSubject
2026-10-1406f8ad7Netcode defaults to 60 Hz near / 30 far; purge of load-test accounts
2026-10-1426643caLoad-test keep-alive; event-loop phases in the net stats
2026-10-14d9ebbe5Netcode study: observer batches, 30 or 60 Hz, traffic counters, load-test zombies
2026-10-13939fa24Point blank is a hit; side strikes by the last turn; fixes
2026-10-13ef5c0c8The carrot's serialization schema
2026-10-1349770c2The carrot; trampling training dummies
2026-10-1388bbcc5README: mounted combat, couching, jousting and trampling; current numbers
2026-10-138df133fMounted combat: couching, jousting, trample, knockdowns, the lance
2026-10-1291a6f80Starting gear drops on death like anything else
2026-10-126d2f39aOverload decided before the step; ghosts move freely
2026-10-12a3c4588Riders have no stamina limits; silent practice arenas; hoofbeats
2026-10-127ea987eREADME: stamina rules; tables as wrapped lists that read in a plain text editor
2026-10-121244577Running costs realtime players no stamina; it only pauses regeneration
2026-10-12e3010a3Fatigue decided before the step: walk at low stamina instead of twitching
2026-10-12d832c3fREADME: shard rules summary; status (test shard, client download)
2026-10-120e3464fRiders play UO's mounted animations
2026-10-12705c220Client: plugin-capable launcher layout (Razor), UO folder view for plugins, run from own folder
2026-10-115d0bcd8Players' mana regenerates 3x faster
2026-10-1168b0074Self-targeted spells land on the caster; every landed harmful spell trains resist
2026-10-11725b9a5Stat cap 225; stats rise on every skill attempt
2026-10-115f3dc7fEvery skill gain raises the stats that skill trains
2026-10-11b1e0a51Death resets stats to 10/10/10
2026-10-11cd77ce7Arena chests usable by players; arena dummies teach like any target
2026-10-11fe17810Player stat cap 300: all three stats can reach 100
2026-10-115323044Flat skill gain: 5.0 on every attempt (700 total, locks decide what drops)
2026-10-112b53bbbREADME: ModernUO does not save on shutdown; [save before stopping
2026-10-118c7bfb4Pre-T2A world generator, shard rules, realtime skill gains, mounted movement, player package support
2026-10-11e6ea233Missile spells fire at any click; expired flights fade out
2026-10-11d75692aInstaller config: mount stamina off (pre-UO:R)
2026-10-11f2ccc78Pre-UO:R skills and professions only
2026-10-117507592README: skill and gear set damage as in UO; only the chance to miss is gone
2026-10-116fef690Effects anchored on their bright spot
2026-10-112b2ab7bEffects on a mobile centred on its centre of mass
2026-10-11ef1eea3Spell effects centred on the exact clicked point
2026-10-11d3b663bMagery fixes: empty-tile effects, Protection and Reactive Armor, reveals
2026-10-11cf7b015Aimed magery, ReleaseSweep and stop on hit, E pickup from containers, docs
2026-10-110c3aabcREADME: archery in the introduction
2026-10-11eabe5caAim at the body under the cursor (centre mass), else land on the ground point
2026-10-117776240Arrows drawn from the bow, no classic autofire, fumbles
2026-10-11097fc6fArchery fixes: recovered-arrow crash, chest-height aim with a bow, launch from head height
2026-10-118de2ba9Aimed archery; era audit round 1
2026-10-110904710Held block breaks from behind, shield disarm rule, war-mode spell icons, docs
2026-10-10202043fMordhau-style disarm and stun at 0 stamina
2026-10-106b086d8Held block, obstacles, bows, pre-UOR fixes
2026-10-1062c8564Blocks, fist block and punches, obstacles, dodge
2026-10-10710b29dMORDHUO: realtime movement and melee for ModernUO and ClassicUO

repos/ModernUO — branch mordhuo (server fork, on upstream d857f03b6)

DateCommitSubject
2026-10-14512a84749MORDHUO: 60 Hz near / 30 far by default; purge of load-test accounts
2026-10-14e294cedf6MORDHUO: load-test bots kept alive; event-loop phases in the net stats
2026-10-14740b535edMORDHUO: load-test zombies, kept around a point while loadtest.json exists
2026-10-14ac775cb70MORDHUO: netcode study: traffic counters, net stats, observer batches, 60 Hz option
2026-10-1337bc14bd6MORDHUO: no dead zone on the shaft: point blank is a hit
2026-10-13a6e3049e8MORDHUO: no crouch pose outside a stun; dummies fall; a couched point knocks the unhorsed-on-foot down
2026-10-13683ad40cdMORDHUO: the carrot's serialization schema (WarCarrot v0)
2026-10-139d1e9a4d0MORDHUO: carrot at dagger speed with a longer couch; dummies can be trampled
2026-10-1308b253734MORDHUO: a carrot that can't be taken in hand says why
2026-10-136fe05bedaMORDHUO: every vendor that trades sells carrots (the fighting kind)
2026-10-130e5300810MORDHUO: the carrot: Mordhau's couchable carrot, absurd on purpose
2026-10-13db866dc3dMORDHUO: combat.json version 5: changed defaults reach an older file; new weapons get their profile
2026-10-13bd9f884b7MORDHUO: a stun on the feet huffs and puffs: the crouch's 2nd and 3rd frames, rooted
2026-10-1348391f6b4MORDHUO: every knockdown lies on the ground a second before getting up
2026-10-139de53ffb8MORDHUO: any rider a couch strikes is unhorsed with both hands emptied
2026-10-131d1630358MORDHUO: jousting: of two couched riders in each other's point, the squarer wins
2026-10-13957258382MORDHUO: couching 50 % faster to lower, a quarter less damage
2026-10-138d88cdb5dMORDHUO: trample judged on the mount's speed before the collision; war mode only; the riled-up whinny
2026-10-13560db4b8aMORDHUO: the couch's damage cone in the panel; the lance never swings
2026-10-13ce070e6b7MORDHUO: a couched hit is harder the squarer the meeting
2026-10-13a317ef236MORDHUO: the lance back to the spear's art and two-handed couch pose, hued; how to couch on mounting
2026-10-13279510472MORDHUO: the lance is for the saddle; couched at its own animation's farthest frame
2026-10-13d45dab35cMORDHUO: the lance (Captain's exception to pre-T2A), for couching
2026-10-133fdb82edaMORDHUO: couched damage is the weapon's own hit, steady, x4.64 at full gallop, then armor
2026-10-1387797ff79MORDHUO: a couch lifts the moment the mount falls below the speed it needs
2026-10-1300f3478adMORDHUO: a couch is held at the mounted attack's farthest frame; ending it rewinds to rest at 2x
2026-10-13d49d29002MORDHUO: the shepherd's crook couches (a CouchDamage key may be a UO weapon class)
2026-10-1307077193cMORDHUO: only Mordhau's couching weapons couch
2026-10-13b7b56c765MORDHUO: couch from 70 % of full gallop, lowered over 0.75 s; Mordhau's couch damage by weapon and speed
2026-10-13f748f1148MORDHUO: couched lances (F), billhooks, frontal stops, unhorsing
2026-10-136b59fa69dMORDHUO: Mordhau's parry window; full-windup morphs; trample; riders have no shaft dead zone; parry sounds; pickup 2.0
2026-10-136a194db7dMORDHUO: a rider's strike flank is chosen at the click, to the pixel, by the client
2026-10-1305fedca5bMORDHUO: a rider's attack never steers the horse; it turns to the cursor as always
2026-10-13fdf0de823MORDHUO: riders only strike; a rider's strike goes out to one flank and sweeps it back to front
2026-10-1349a19b7d6MORDHUO: a rider's wheel-down strike isn't held (it charged to the cap before swinging)
2026-10-133aafae13aMORDHUO: the ridden sprite's gait under a swing; the rear drawn from the creature's body
2026-10-13892c73976MORDHUO: riders: no overhead, no weapon turn cap, a gallop into a wall rears and neighs
2026-10-13f2277d3afMORDHUO: turn caps on windups and charges; a lockout after a disarm
2026-10-13b97bce95bMORDHUO: parry holds against a blow on its way; parry out of windup, feint or recovery; morphs redraw; late recovery buffers; regen 1.5 s and on damage; riders
2026-10-135880b27f4MORDHUO: arena gold; players rearrange inside a supply chest; bank closes on the client; ground decay; no young tickets
2026-10-122df71a5b0MORDHUO: starting gear isn't newbied (mordhuo.newbieStartingItems, off): it drops on death
2026-10-12adc7cc713MORDHUO: overload decided before the step (the overweight twitch)
2026-10-12c75dca799MORDHUO: riders have no stamina limits; silent practice arenas; refused steps logged
2026-10-12b33c40db5MORDHUO: running costs realtime players no stamina; it only pauses regeneration
2026-10-12a02b8b232MORDHUO: fatigue decided before the step (no more twitching and rubber-banding at 0 stamina)
2026-10-12652c9ec30MORDHUO: riders play UO's mounted animations (no more dismounting to swing)
2026-10-11f08168056MORDHUO: players' mana regenerates 3x faster (mordhuo.manaRegenMultiplier)
2026-10-1128946751bMORDHUO: self-targeted spells land on the caster; every landed harmful spell is a resist attempt
2026-10-11a540995a6MORDHUO: stat cap 225 (pre-T2A); stats rise on every skill attempt, at GM too
2026-10-11ed020ed9fMORDHUO: every skill gain raises the stats that skill trains
2026-10-1159444285fMORDHUO: death resets stats to 10/10/10 (mordhuo.resetStatsOnDeath)
2026-10-11cb956808fMORDHUO: arena dummies teach like any target (no dummy gain cap)
2026-10-11584fc945aMORDHUO: players can take from arena chests
2026-10-11774c00313MORDHUO: player stat cap 300 (mordhuo.statCap), so all three stats can reach 100
2026-10-110433c2eb9MORDHUO: flat skill gain on every attempt (5.0), replacing the gain multiplier
2026-10-116005c7971MORDHUO: skill gain multiplier default 500 (Captain)
2026-10-11354b49e31MORDHUO: fix [GenWorldPreT2A crash; Felucca-only doors; mounted movement on the server
2026-10-11732bc85e3MORDHUO: [GenWorldPreT2A and the curated pre-T2A world data
2026-10-1156ce44503MORDHUO: shard rules (skill gain rate, skills lost on death, guards off) and realtime skill gains
2026-10-11cd60caabaMORDHUO: missile spells fire at any click (no range or sight check); expired flights fade
2026-10-114c8dd2895MORDHUO: empty-tile spell effects centred on the exact clicked point
2026-10-118aad4c4e0MORDHUO: empty-tile spell effects from the ground, Protection and Reactive Armor; draws and throws reveal
2026-10-116e0bb934fMORDHUO: ReleaseSweep, stop on hit, blade tip third, level spell missiles
2026-10-11f36021d48MORDHUO: aimed magery, first build
2026-10-11eb5403b9fMORDHUO: shots go for centre mass on a body, land on the point on the ground
2026-10-118e4d99444MORDHUO: no classic bow autofire for realtime players; fumbles
2026-10-11a8d9fc87eMORDHUO: archery fixes, recovered arrows via the bow's Ammo (crash), launch from head height
2026-10-111d9ad518aMORDHUO: aimed archery
2026-10-11e37d6f7a1MORDHUO: era audit, bulk orders, passive Detect Hidden and veteran rewards off before UO:R
2026-10-1142a69c8bfMORDHUO: a blow from behind breaks a held block; disarm takes a shield only while in use
2026-10-10cc85d85b9MORDHUO: Mordhau-style disarm and stun at 0 stamina
2026-10-10726d55832MORDHUO: held block stays up, obstacles by impassability, bows classic, pre-UOR fixes
2026-10-1079f009eecMORDHUO: dodge (server gating, stamina, snapshot dodge state)
2026-10-10572e8c787MORDHUO: Mordhau's three punches and fist timings
2026-10-10bc1744663MORDHUO: blocks bounce, fist block, no parry empty-handed, obstacles stop swings
2026-10-100bcd858ceMORDHUO: practice arenas around the GenArena pieces (no crime, no guards)
2026-10-10aed1768e3MORDHUO: training dummies' strikes are never criminal (guards ignored them)
2026-10-10892d2fea3MORDHUO: comments state the design without attributions
2026-10-105f1856c11MORDHUO: drop a local path from the sim reference comment
2026-10-10faca64643MORDHUO telemetry: tag hits by thrown items
2026-10-10e52815594MORDHUO telemetry: throws, drops, flights and landings
2026-10-10674f808e4MORDHUO: pickup reach measured continuously, 1.75 tiles
2026-10-10e5268d856MORDHUO: throws land at the cursor; tighter reach for realtime players
2026-10-1068a86bbb4MORDHUO combat: G drops the held item with bounces
2026-10-104939c28eeMORDHUO movement: observer snapshots every tick (30 Hz)
2026-10-10a908f7a72MORDHUO combat: held shield block (toggle) and throwing
2026-10-10167863e14MORDHUO combat: shield wall and shield-aware parries
2026-10-10b00f905ecMORDHUO combat: NPC swings at realtime players are realtime attacks
2026-10-10b0e26dd3bMORDHUO combat: parry pose on group 30 frame 1
2026-10-10f6a64bdceMORDHUO combat: morph until a cutoff before release
2026-10-1058acb7b23MORDHUO combat: combos with an input queue
2026-10-10d51b81f90MORDHUO combat: stricter chamber (120 ms) and clash (40 ms) windows
2026-10-106fc7cd435MORDHUO combat: clash, morph window, Mordhau chamber window
2026-10-105582d6d59MORDHUO combat: morphs and chambers
2026-10-10886618b97MORDHUO combat: no classic swing/hurt animation for realtime combatants
2026-10-10210075cc8MORDHUO combat: stamina calibrated against Mordhau
2026-10-1037f2f8f81MORDHUO combat: Mordhau stamina economy
2026-10-103d607e9f7MORDHUO combat: per-frame release reach, glancing blows, riposte, monitoring feed
2026-10-10350b7bf18MORDHUO: solid bodies, blade danger band
2026-10-1047c9f3978MORDHUO combat: arm reach, miss diagnostics
2026-10-105661838e3MORDHUO combat 4.2: parry, flinch, knockback, miss recovery
2026-10-102f2401219MORDHUO combat: strike windup arrives at frame 1 and holds there
2026-10-10cef93354eMORDHUO combat: Mordhau-style stamina regen for realtime players
2026-10-10f92955950MORDHUO combat, first slice: strike, stab, overhead, charge, feint
2026-10-103197c556bMORDHUO movement: observer flags, teleport fix, run pauses stamina regen
2026-10-10755f0be48MORDHUO arena: training dummies
2026-10-10f0e8f600eMORDHUO movement: aim input, sim-owned facing
2026-10-10a4663c85eAdd MORDHUO continuous movement (server)
2026-10-10236c12dfcAdd MORDHUO test arena: self-restocking supply chests and [GenArena
2026-10-105d85b4daeRevert "Set Felucca to 6144x4096 for the 1998 map0.mul"
2026-10-098b8e789ffSet Felucca to 6144x4096 for the 1998 map0.mul

repos/ClassicUO — branch mordhuo (client fork, on upstream ee79d7ebc)

DateCommitSubject
2026-10-14a2104e2b3MORDHUO: protocol 6 observer batches, server-chosen tick rate, perf log
2026-10-1333281fbb6MORDHUO: a rider's strike side is the way the horse last turned
2026-10-13225e0f42bMORDHUO: a carrot can be dropped on the paperdoll
2026-10-13c4a9d61f6MORDHUO: a carrot in hand, drawn from its own art
2026-10-13a6cce1128MORDHUO: the lance drawn as the spear again
2026-10-132be1c52cbMORDHUO: the lance drawn with its own animation, and walking with one on foot
2026-10-1373519008cMORDHUO: couched lances (F), billhooks, frontal stops, unhorsing
2026-10-13f71cde93cMORDHUO: Mordhau's parry window; full-windup morphs; trample; riders have no shaft dead zone; parry sounds; pickup 2.0
2026-10-13e0d9c6018MORDHUO: a rider's strike flank is chosen at the click, to the pixel, by the client
2026-10-1305e584bc1MORDHUO: a rider's attack never steers the horse; it turns to the cursor as always
2026-10-13a9a51fb63MORDHUO: riders only strike; a rider's strike goes out to one flank and sweeps it back to front
2026-10-13ae57ba4e7MORDHUO: the rider rises with the saddle while the horse rears; mount diagnostic out
2026-10-13600f8dd12MORDHUO: the ridden sprite's gait under a swing; the rear drawn from the creature's body
2026-10-1362d11d1beMORDHUO: the mount keeps its gait under a rider's pose; a mount's own action (the rear)
2026-10-1354ae221e9MORDHUO: the player's aim follows the server's turn cap during a windup, held through a release
2026-10-1375150a4a6MORDHUO: war mode, a left drag on a ground item picks it up
2026-10-13dc38ba277MORDHUO: the walk check ignores mobiles (the stamina twitch)
2026-10-12975fe873bMORDHUO: predict the overload cost as the server applies it; ghosts and riders unlimited
2026-10-1259269b7f1MORDHUO: no fatigue prediction while mounted (riders have no stamina limits)
2026-10-12ff518db2aMORDHUO: hoofbeats for riders in continuous motion
2026-10-128cc71a916MORDHUO: predict fatigue as the server applies it (walk at 1 stamina or less, stand at 0 overloaded)
2026-10-12ef2247e69MORDHUO: plugins get a UO folder view with the cliloc uncompressed (Razor)
2026-10-11cb16864ceMORDHUO: launcher and game run from their own folder
2026-10-11f9c9a2d58MORDHUO: mounted movement (prediction and gait)
2026-10-112675b6a0dMORDHUO: player package support (settings beside the exe, find the EA install)
2026-10-11625dfdb99MORDHUO: flights that run out of reach fade out over 0.5 s along their path
2026-10-1126a438b88MORDHUO: pre-UO:R skills only (the first 49) and the professions that use them
2026-10-113568537f4MORDHUO: effects put their bright spot on the point (Flame Strike's column stands on it)
2026-10-11d288d032fMORDHUO: effects on a mobile centred on its centre of mass, not standing on its tile
2026-10-115b771fc0eMORDHUO: Effect packet, an animated effect drawn centred on its point
2026-10-1113507b3edMORDHUO: E picks up from open containers too, paced to the server's lift interval
2026-10-11c007c444aMORDHUO: aim at the mobile under the cursor (where it stands), else the ground point
2026-10-11530bcb820MORDHUO: projectiles drawn about their centre at the flight point
2026-10-1115d91a140MORDHUO: with a bow, the cursor aims at chest height (clicking a body aims at it)
2026-10-11f9a017697MORDHUO: aimed archery on the client (bow clicks draw, arrows drawn along their flight)
2026-10-11957ca3fafMORDHUO: war-mode double clicks swallowed only over the world (spell icons, containers work)
2026-10-10fea15b378MORDHUO: rooted actions stop predicted movement (stun)
2026-10-10773dcda40MORDHUO: a bow or crossbow in hand keeps classic clicks (no melee input or parry)
2026-10-1065b70a965MORDHUO: dodge on Space with a direction key; panel feed shows Space
2026-10-10cd93b1299MORDHUO: comments state the design without attributions
2026-10-106672bf050MORDHUO: drop a local path from the sim reference comment
2026-10-107246e0ab6MORDHUO: send the cursor's distance with every input
2026-10-10d0bb7e54cMORDHUO: E picks up the hovered item, G drops the held one; bounces drawn
2026-10-10b867e8e7bMORDHUO: thrown items fly upright on a plain arc, black multiplied shadow
2026-10-10e778fb2ffMORDHUO: full frame rate when inactive; 70 ms remote interpolation
2026-10-105a911e7fcMORDHUO: thrown items drawn in flight with a shadow; held block key
2026-10-102361e36f9MORDHUO: R held raises a shield wall; R in the input feed
2026-10-104a734ce1fMORDHUO: input feed for the monitoring panel; drop stale classic animations
2026-10-1001ff432daMORDHUO: footsteps continue under swing and flinch poses
2026-10-10f7c98a632MORDHUO: body collision in prediction, footsteps on stride frames
2026-10-10da7d9852dMORDHUO: right-tap parry, facing flag separate from slowdown
2026-10-1021a8ffe7aMORDHUO: end-aligned action frames
2026-10-10adbba2ca1MORDHUO combat input and server-timed actions
2026-10-106a9d908d1MORDHUO: WASD moves screen-relative, facing held on the cursor
2026-10-10d169f7193MORDHUO: other players drawn from movement snapshots
2026-10-104151d4539MORDHUO: run sprite takes over at 1.4x walk speed
2026-10-10ba9993d60MORDHUO: stride starts at once, holds through the skid; Shift sprint; Ctrl crouch
2026-10-10ff5e690dbMORDHUO: cursor aim, WASD, backpedal animation, idle and 0x20 fixes
2026-10-10aac03e6b0MORDHUO: keep walk frames cycling during continuous movement
2026-10-10e33cb55a5Add MORDHUO continuous movement (client)

sim/ — the shared movement library (own repo)

DateCommitSubject
2026-10-14835d276MORDHUO: tick rate chosen at startup (30 or 60); protocol 6 observer batches
2026-10-138031384MORDHUO: StepResult reports the velocity before other bodies bent it
2026-10-13651b7c1MORDHUO: couched lances (F), billhooks, frontal stops, unhorsing
2026-10-13acad85dMORDHUO: a rider's strike flank is chosen at the click, to the pixel, by the client
2026-10-130da5ffbMORDHUO: a rider's attack never steers the horse; it turns to the cursor as always
2026-10-13c26f318Ridden mounts: a standing horse doesn't turn to the aim while its rider attacks
2026-10-13be7f8c1MORDHUO: riders only strike; a rider's strike goes out to one flank and sweeps it back to front
2026-10-1356050b0MORDHUO: the ridden sprite's gait under a swing; the rear drawn from the creature's body
2026-10-137a44e16Ridden mounts: a heading that turns at 2 s a circle (5 s at full gallop); a crash at a gallop
2026-10-1318126c4Turn caps: AimTurn.Step, and the Action aim modes (free, turn-capped, held)
2026-10-1338a9bfeMounted: walk to gallop on an ease-in-out over MountSprintMs (2 s); swings don't slow a mount
2026-10-11f97758eMounted movement: speed and acceleration x MountSpeedModifier (2000, UO's 200/100 ms a tile), no dodge
2026-10-1190cda70Protocol: ProjectileEnd reasons, including expired (fades out)
2026-10-11ad6babaProtocol: Effect (0x85), an animated effect centred on an exact point
2026-10-11658d3faInput: AimBody flag (the aim is a body under the cursor, not a ground point)
2026-10-107be0c07Protocol: ActionRoots (a stun stops movement)
2026-10-106b69123Dodge: a one-tick request bursts along the direction and slows to a stop
2026-10-10ccc6c10LICENSE: copyright holder [TDP] Minsc
2026-10-109493750License the shared library under MIT
2026-10-10accdbe8MoveInput: aim distance (1/256 tile), appended
2026-10-10046fde1Protocol: drop-held input; projectile bounces
2026-10-1033fe2baProtocol: held block key, thrown-item projectiles
2026-10-10ae1102dProtocol: ShieldWall input (R key)
2026-10-10e986565Body circles: motion bends around other bodies, never pushes them
2026-10-100fb1a62Protocol v5: parry input, Action holds-facing flag
2026-10-107f33951Action flag: end-aligned frame timing
2026-10-10d9e01e2Combat protocol v4: attack press/release/feint, Action, swing slowdown
2026-10-1032b0c8eProtocol v3: crouch input flag, moving/crouching snapshot flags
2026-10-103480b30Aim: face the cursor at rest, strafe and backpedal
2026-10-1045b7dacAdd the MORDHUO wire protocol constants (packet 0xFC)
2026-10-103be2410Pin LF line endings for the whole repository
2026-10-1024e47b8Add Mordhuo.Sim: shared fixed-point movement model