Menu

#107 Ghost characters..

CVS
open
nobody
Map (28)
5
2004-07-23
2004-07-23
Anonymous
No

Under the current CVS, we have found that sometimes
under strange server load, when people disconnect from
the server, their bodies/ghosts remain behind. You
cannot hit them or attack them. Othertimes, when
people speak, others will see what they are saying
multiple times.

While we have seen it in many situations, the only way
we seem to reproduce it was to put 4 or 5 people into a
room together and have them all @save and then start
@load'ing rapidly as well as casting and warping and
teleporting...

Every few times we'd then speak and others would
state if they could see the words multiple times.

If you wish help seeing it or reproducing it, you can
message our "team" at AIM:MouseJstr, AIM:Emuz, and
AIM:JohanDarkStalker. One of us should be able to
assist in reproducing it.

Also, if we are available, we can have you join our test
server and we might be able to reproduce it there while
people are watching

Discussion

  • Lopez Rafael

    Lopez Rafael - 2004-07-24

    Logged In: YES
    user_id=449690

    Being one of the aformentioned persons, I have to correct it
    in that you can reproduce that bug with only two characters,
    with absolutely no server load. Some maps (all the guild
    catsles, geffen fields, for example) cause that bug to occur,
    and some (prontera fields, towns) work just fine. Just have
    two people jump be in the same screen (on gefg_cas05 for
    example on our server), ask one to go to char select, and his
    sprite will stay. If he relogs on the same screen, the sprite
    will be removed, if he relogs on another map, the sprite will
    stay until you walk far enough or use a warp point to force
    the screen to refresh.
    My opinion is that this bug is tied with another bug: on some
    maps, the server will not save your position when you log out,
    but instead will overwrite it with your save point. This
    happens before the call of the subroutines of
    pc_makesavestatus(sd) in pc.c, we checked that by making it
    verbose the SQL queries run and the map and coords that
    pc_makesavestatus was using. It seems the server skips a
    routine somewhere that should 1) save your position for when
    you respawn, thus using the save point instead; 2) tell the
    client to remove that sprite from the screen with the
    logout/warp effect.
    Also note that this non saving issue has nothing to do with
    the nosave flag. The pvp maps who have that flag work
    perfectly, but the geffen fields (gef_fildXX) which don't have
    that flag have that bug.

     
  • Josh Siegel

    Josh Siegel - 2004-07-28

    Logged In: YES
    user_id=9682

    the problem was in core/map/map.c:map_quit

    there is a hack in there to prevent camping during WoE.. it is
    replacing the mapname before the server gets a chance to
    clean itself up or remove the sprites from all the clients

    This needs to be moved down to before the save status is
    created or just put INTO the code that generates the save
    status

     

Log in to post a comment.