> that there are... the reason for closing all sockets for a given idnum > when 1 socket closes is to prevent the now well known "duping bug". > (im not going to go into it cause its late ;) ). > > there are also other problems with the current stock circle code with > regards to logging in etc... such as being able log a player to the "main > menu stage" more than once (certainly bad for new character creation), but > since Jeremy has also signified his intentions (already done?) to rewrite > this (and other) sections fthe login/out routines i wont go into it :) Yes, the socket bug in pl8 is rather dumb, and I too feel pretty dumb that it's been in the most recent version for so long, but that code has already been rewritten for pl9. (It both fixes the duping bug and the you-can-kill- other-people's-connections bug). Before you ask if I can post a patch to the mailing list, I'm afraid I can't because the changes were somewhat fundamental and are spread througout various files - I'd be afraid of what would happen if people tried plugging it in on its own. If you're running a pl8 MUD, you can fix the disconnection bug just by going into comm.c and searching for "sanity" (I think it's at the end of comm.c's close_socket()) and deleting or commenting out the little loop at the end that d/c's people with the same IDNUM as you. Of course this opens up the duping bug again - but if you want *both* bugs closed, wait for pl9 or write it yourself. :-) Best regards to all, Jeremy
This archive was generated by hypermail 2b30 : 12/07/00 PST