[crossfire] Bug [ 1735459 ] Ground view missing face updates
Andreas Kirschbaum
kirschbaum at myrealbox.com
Fri Jul 6 11:13:46 CDT 2007
Nicolas Weeger wrote:
> > At some level, it is very easy to fix - if player is on a space, and
> > anything (including face) on that space change, we just send all the
> > contents of that space again to the player.
>
> Why all items? Don't items on a space get a tag, that can be used to
> simply send this item's update to clients?
I agree: the server should remember which items and attributes he has
sent to the client. (Which IMO already have to be implemented in order
to make the item/upditem/delitem/delinv commands work right.) Using this
information, the server is able to issue correct upditem commands for
changed ground objects.
> > Now a simple answer could be we don't really care about bandwidth,
> > and I can put in my fix. I'm not sure if that is really the right
> > answer.
>
> If it is really that costly, I'd say no.
I think wasting bandwidth is ok if any other solution would be way too
complex to implement. But in this case I think such a "fix" would not be
the correct answer.
> The bug isn't important enough to warrant the fix.
I somewhat disagree here: the bug is at least (slightly) confusing. For
example, go into Beginners and follow the instructions of the first
handle ("Type an A to open"). This applies the handle but the ground
view does not change until you move off and on.
> Yes, client should handle all animation it can. Would simplify the
> server code, and save some bandwidth.
I also agree here.
> Also, one should consider the case where the modified face is not
> visible because the map layer is full (can happen if many objects).
Map layer does not apply here since it is the ground view. But still:
the ground view holds only a maximum of 50 objects.
But this case is implicitly handled by the previously suggested
solution: the server would detect that the changed object has not been
sent to the client. Therefore it would not send any updates to the
client.
Andreas
More information about the crossfire
mailing list