Re: login

From: Greg Alexander Irvine (s9211947@arcadia.cs.rmit.edu.au)
Date: 11/28/95


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