Rex

Moderator
ServUO Version
Publish 58
Ultima Expansion
Endless Journey
Anyone seen this UltimaLive map update issue? I use maps that are aligned which use teleporters to go from map0 to map1 at the same X Y position, and randomly ultimalive will not update the maps correctly, or get confused and send map0 info to you while you are teleported to map1. this only effects your client and not other players. using the [updateBlock command does not fix the issue as the system either doesn't think there is an issue with the blocks i guess.
The only way to fix it is to close the client, delete the maps effected in C:\ProgramData\<SHARDNAME>, and reload the client. even then as soon as i use a teleporter to go from map to map the issue will randomly happen again.
View attachment UltimaLiveMapUpdateError.mp4
 

Gemini said​

This is a classic "ghosting" sync issue that crops up in UltimaLive, especially with custom map configurations. When you use perfectly aligned X/Y coordinates for teleports, you’re essentially hitting a race condition in the UltimaLive protocol.

The system is designed to stream blocks based on your location, but because the coordinates haven't changed, the client-side proxy sometimes fails to realize the Map ID has shifted before it requests the next set of visual blocks. It thinks, "I'm at X,Y; I already have the data for X,Y," and serves you the cached Map 0 tiles while your character is technically standing on Map 1.

Here is a breakdown of why this happens and how you can try to kick it into gear.


Why the​

The [updateBlock command typically tells the server to push a fresh version of a block to the client. However, if the client’s UltimaLive proxy is convinced it is still looking at Map 0, it will interpret that incoming data through the lens of Map 0. If the hashes match or the "Map Change" packet was delayed/dropped by the proxy, the client simply ignores the update because it doesn't see a conflict.

Potential Fixes & Workarounds​

1. The "Nudge" Technique (Most Reliable)​

While I know you want the maps perfectly aligned, the most stable fix for this engine quirk is to offset your teleporter destination by just one tile (e.g., if Map 0 is 1000,1000, set Map 1 to 1001,1000).

  • This forces the client to calculate a new block position.
  • It triggers a "Movement" update alongside the "Map Change," which usually clears the UltimaLive buffer more effectively.

2. Clear the Client-Side Cache​

Sometimes the local UltimaLive cache gets "sticky" with specific block hashes.

  • Close your client.
  • Navigate to your UO folder and look for the UltimaLive folder (usually where your Map0.mul or .uop files are being redirected).
  • Delete the cache files therein. This forces the client to re-request every block from the server upon login.

3. Script-Side "Double Tap"​

If you are using a custom script for the teleporter, try adding a tiny delay or a double-update packet. In your OnMoveOver or teleport logic:

  1. Send the player to the new Map/Location.
  2. Explicitly call player.Send(new MapChange(player)).
  3. (Optional) Force a "Location" update packet immediately after.

4. Check the​

Ensure that your UltimaLive server-side configuration explicitly defines the boundaries for both Map 0 and Map 1. If there is any overlap in the defined "Live" regions or if Map 1 isn't fully registered in the UltimaLiveSettings, the hashing logic can default to the primary map.

1772470817353.png

If this is happening consistently at a specific world-build location, it might be worth checking if there's a corrupted static item in that specific block on Map 1 that's causing the stream to hang.
 
Thanks for the reply. Grok said about the same thing. I tested a bunch of solutions with teleport and delays, double teleports etc still nothing worked. When i just shifted the entire map by 100 it started to work fine. What a pain!

I'm trying to figure out if there is any solution other then shifting the maps over. It would be ideal if it just worked nicely.
 

Donations

Total amount
$105.00
Goal
$500.00

Shards

Back