[FIXED] Refresh issue immediately after logging in

Here we stuff all the bugs we've managed to squash/squish/squelch.
Post Reply
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Refresh issue immediately after logging in

Post by Xuri »

Using the latest version off of the CVS (0.98-3.1e), UOX3 seems to fail to refresh the client immediately after logging in. No amount of waiting will fix the problem, but a 'RESEND will.

EDIT: *non-working screenshots removed*
Last edited by Xuri on Sat Dec 03, 2005 9:46 am, edited 3 times in total.
-= Ho Eyo He Hum =-
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

Xuri wrote:The following two screenshots show the issue, before and after a 'RESEND is used:
Before RESEND
After RESEND
The links don't work :P.
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

*grumble*
Ok, ignore the screenshots - they're not important. The important thing is, my characters sometime appear ingame as "grey" humanoids with no clothes, and no items/other characters in the area are visible. :P
-= Ho Eyo He Hum =-
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

I noticed that when I used Razor to start up my UO client, it displayed the following system messages when I logged in:

"Queuing action request 1... 1.2 seconds left.
Finished 2 queued actions in 0.7 seconds."

Is it Razor doing that "queuing" of actions, or is it something UOX3 does? If the latter, could it be related to the error mentioned in this thread (and in viewtopic.php?t=695 )?
-= Ho Eyo He Hum =-
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Razor is doing the queuing of actions.
Scott
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

The refresh issues at login may be caused by the LoginThread.

I have disabled the LoginThread temporarily for v0.98-3.2f (which will be on the CVS in the next day or two) at which point I will need verification if this issue is fixed.
Scott
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Ok, this change is up on the CVS, please test 0.98-3.2f anyone that can.
Scott
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Is this issue still happening? (I haven't been able to reproduce it any longer).
Scott
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

I haven't seen this happen once since the LoginThread was disabled.
-= Ho Eyo He Hum =-
stranf
UOX3 Guru
Posts: 939
Joined: Wed Jan 04, 2006 3:59 pm
Has thanked: 0
Been thanked: 0

Post by stranf »

I don't know if this is the same thing you are talking about:

In my worldfile, next to SkaraBrae I've construced a pretty nice PC castle using Xuri's worldbuilder. I haven't hardcoded it into the .mul file yet so it is a LOT of individual tiles that are being sent to the client.

If you log in as a PC inside the castle, UOx3 only sends about half the information on login. floors and walls are missing and you can even fall through the floor.

If you 'refresh, it only re-draws what is on screen, and as soon as you move, it won't draw the new tiles. You must constantly 'refresh.

The fix? Walk away, and re-walk towards it. Then refresh works and you get the entire castle. If you log in as a PC away from the castle and walk towards it, the entire castle shows and you don't even need refresh. The issue seems to happen with a local log in. Does this make sense? Sorry if I didn't explain it well.


Sounds similar to the above issue.

It's not a big deal, I wonder if 'resend would be faster, never tried.
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Most likely this is happening because of the client. I remember once apon a time people could create "black holes" in UO, where if you went nearby you immediately crashed. This was caused by stacking hundreds (thousands?) of items on a single tile (or in a small area). OSI's fix for this was to only allow loading of a certain amount of tiles at a time. When you walk near an area, we send only items that update at the end of the visibility range, rather than all at the same time. Quite likely if you teleported directly into the castle from some other part of the world you would experience the same issue.
Scott
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Wasn't there some kind of issue with how we sent items to the UO client? Something about the "radius" being a square instead of a circle, or something like that, so if you approached the items from certain directions they didn't show up?
-= Ho Eyo He Hum =-
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Well we send items in a square, in the case of walking, we send only new items that have come into range on either the x or y axis (or both if we move diagonal). It's been thought (though we have no way to verify) that the client adds new items to your view in a circle, rather than a square, which would cause some items at the corners to be left out.
Scott
Grimson
Developer
Posts: 802
Joined: Sat Jun 04, 2005 1:52 am
Location: Germany
Has thanked: 0
Been thanked: 0

Post by Grimson »

giwo wrote:Well we send items in a square, in the case of walking, we send only new items that have come into range on either the x or y axis (or both if we move diagonal). It's been thought (though we have no way to verify) that the client adds new items to your view in a circle, rather than a square, which would cause some items at the corners to be left out.
If I'm not wrong the objInRange code uses a circle (or at least something close to a circle) to calculate whether an item is in range. So it shouldn't be to hard to change it to a square using this code as a basis. Basicly make two objInRange calls first one with the current update range the if the object is in range a second one with the current update range minus 1. Then if it's in range of the first call but not in range of the second call send it to the player. For removing it from the sight just make the second call using the current update range plus 1 instead.

On the other side, I haven't had a problem with missing items, when walking, for a long time. And since I have changed the SendWalkToOtherPlayers() (it also uses a square) I haven't had a problem with missing/shadow NPCs.

The only problem seems the inital login, there it is sometimes missing one or two items that should be on screen. A possible (but maybe not practical) solution for this might be to use two squares/circles, the normal one and a smaller one, for the first steps after a login. The smaller one would resend items that cross it, but not remove them from sight like the normal one.
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

A very easy way of reproducing the "missing items" issue is to setup an area with quite a lot of dynamic items, such as a custom house. Then just approach the house from different directions, and you should notice some missing items here and there. :P
-= Ho Eyo He Hum =-
Post Reply