Someone wrote .... > > 'lo guys ... > > > > are there anyone who are willing to post the fix for login problem in the > > circle mud ? > > > > login as a player ... try to login as the same player with wrong > > password will close both sockets ... > On Mon, 27 Nov 1995, KLA wrote: > we corrected this problem in our mud (problem being mainly in comm.c) > i can send my file if you wish... > > but there are much more important bugs than that.... 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 :) As for a solution to the disconnection bug stated.. there are bound to be plenty, but the safest (for all intents and purposes, especially anti-duping) is to prevent players from getting past the name stages more than once at any one time. So, after a player has entered a name, check with all current sockets that that name isn't present then let them in, else say "already in the game". This is the way merc does it (you can find merc1 code any old place :) ) There is however a major catch 22 in this solution, and was actually the reason for Jeremy to go the way he did (yes, he said so himself :) )... Sometimes, when a player drops his link, the machine doesn;t notice that the link has gone (no, this isn't the muds fault), and so, the mud believes the player is still in the game... hence, when that player tries to log back in the game (THEY know they've dropped their link :) ), the mud tells them to bugger off 'cause IT thinks they are still playing. Which obviously means, that until the mud notices the player's link is gone, it won't let them in. (mind you it doesn't usuall take too long to realise, but i've seen people wait up to 10 minutes.. and this isn't good when you're fighing a tough mob ;) A solution to the other current problem of players to the main menu... firstly, it doesnt matter if an existing player gets to the main menu multiple times simultaenously, beyond the fact that if one is in the game and one changes their description the description will obviously be lost (same for self deletion, but hey, who's gonna be playing and self delete themselves at the same time... we don't share characters do we? tch tch). However, if we get two people creating a character of the same name at the same time... well that's bad.. someone dips out. A simple solution to this follows the lines of the other solution.. if a player is in the creation stage (ie. it doesnt exist int he pfile, but has an equivalent name in the currently connected sockets), then don't allow entry. Gee that was a log longer than i intended... lucky I didnt explain in detail :) -- Greg alias Ted mostplaces. ps. i havent reread over this so its prolly a load of cr*p
This archive was generated by hypermail 2b30 : 12/07/00 PST