Hey,

There are a number of reasons to have things validated by email address.  The 
best reason is so that all the different characters someone makes are all under 
the same umbrella, and someone doesn't just forget they have 200 alternate 
characters.

Of course, whether someone is allowed to have those extra characters at all is 
purely a matter of rules of your particular MUD.

Mark


>  -------Original Message-------
>  From: Rainer Roomet <[EMAIL PROTECTED]>
>  Subject: RE: Questions about FORK.
>  Sent: 15 Aug '06 19:31
>  
>  Hello!
>  
>  My mail is quite offtopic and it's not including any kind of solution but I
>  have one question - why you building that kind of feature?
>  
>  Hmm.. prolly to avoid multi-account but in the muds there are two different
>  type players - cheaters and no cheaters :) And if anyone wanna cheat
>  (multiplay, spying for example) he just creating a new account and he would
>  be very foul player, if he start using same email as his/her original
>  account have.
>  
>  My MUD having account system and not any kind of change needed - if anyone
>  multi-accounting (even account without any character) and we catch him/her -
>  then all of his characters and accounts will be nuked.
>  
>  
>  Rainer Roomet
>  Phone: (+372) 58133281
>  Mail/MSN: [EMAIL PROTECTED]
>  
>  
>  
>  
>  
>  >From: "Valnir" <[EMAIL PROTECTED]>
>  >To: <[email protected]>
>  >Subject: Questions about FORK.
>  >Date: Tue, 15 Aug 2006 12:35:56 -0400
>  >
>  >Ok.. I'm working on an account system, and want to make sure that no two
>  >accounts have the same email address. Don't want users having duplicate
>  >accounts. The issue I'm having is that during account creation I'm scanning
>  >all the existing user accounts to see if any have the same address. I'm
>  >using fork() so that I don't have the entire mud come to a screeching halt
>  >while it scans, but for some reason, although everything in the fork()
>  >seems to be working fine, it doesn't set the d->connected correctly or
>  >process the nanny function again at the end the way I'm wanting it to.
>  >Ideas? Thansk!
>  >
>  >- Valnir
>  >
>  >/* Code snippet */
>  >
>  >void check_dup_email ( DESCRIPTOR_DATA *d, char *email )
>  >{
>  >    DIR *user_dir;
>  >    struct dirent *users;
>  >    USER_DATA *usr;
>  >    char name[MIL];
>  >    char buf[MSL];
>  >    bool duplicate = FALSE;
>  >    int f;
>  >
>  >    if ( ( f = fork() ) == (-1) )
>  >    {
>  >        write_to_buffer( d, "\n\r\n\r", 0 );
>  >        write_to_buffer( d, "An error occured while trying to validate your
>  >email address!\n\r", 0 );
>  >        write_to_buffer( d, "You will not be able to complete continue
>  >creating your account\n\r"
>  >            "until this problem is solved. The staff has been
>  >contacted.\n\r\n\r"
>  >            "Please check back soon!\n\r\n\r"
>  >            "^e[^fPress Return to Disconnect^e]^0\n\r", 0 );
>  >
>  >        d->connected = CON_USER_DISCONNECT;
>  >        bug( "fork() failed in check_dup_email.", 0 );
>  >        do_bug( NULL, "fork() failed in check_dup_email." );
>  >        return;
>  >    }
>  >
>  >    if ( !f )
>  >    {
>  >        write_to_buffer( d, "Please wait while we scan for duplicate
>  >accounts.", 0 );
>  >        process_output( d, FALSE );
>  >
>  >        if ( ( user_dir = opendir(USER_DIR) ) != NULL )
>  >        {
>  >            while ( ( users = readdir(user_dir) ) != NULL )
>  >            {
>  >                write_to_buffer( d, ".", 0 );
>  >
>  >                if ( !str_cmp( users->d_name, "." )
>  >                || !str_cmp( users->d_name, ".." ) )
>  >                    continue;
>  >
>  >                if ( !strstr( users->d_name, ".usr" ) )
>  >                    continue;
>  >
>  >                /* get name from file filename - still need to parse the
>  >'.usr' off the filename */
>  >
>  >                if ( ( usr = load_account( NULL, name ) ) != NULL )
>  >                {
>  >                    if ( !str_cmp( usr->email, email ) )
>  >                    {
>  >                        sprintf( buf, "Attempt to use duplicate email
>  >address detected. "
>  >                            "Same as '%s'.", usr->name );
>  >                        log_string( buf );
>  >                        duplicate = TRUE;
>  >                    }
>  >                }
>  >
>  >                unload_account( NULL, usr);
>  >                process_output( d, FALSE );
>  >
>  >                if ( duplicate )
>  >                    break;
>  >            }
>  >        }
>  >        else
>  >            bug( "Could not open USER_DIR!", 0 );
>  >
>  >        closedir( user_dir );
>  >        write_to_buffer( d, "\n\r\n\r", 0 );
>  >
>  >        if ( duplicate )
>  >        {
>  >            write_to_buffer( d, "Duplicate email found! We do not allow
>  >multiple accounts\n\r"
>  >                "per player. If you have forgotten your account name,
>  >please contact\n\r"
>  >                "the staff at http://www.legendofthenobles.com/?page=email
>  >to request\n\r"
>  >                "your account name.\n\r\n\r"
>  >                "^e[^fPress Return to Disconnect^e]^0\n\r", 0 );
>  >
>  >            process_output( d, TRUE );
>  >            d->connected = CON_USER_DISCONNECT;
>  >        }
>  >        else
>  >        {
>  >            write_to_buffer( d, "No duplicate found.\n\r", 0 );
>  >            process_output( d, TRUE );
>  >
>  >            d->connected = CON_CONFIRM_EMAIL;
>  >            nanny( d, email );
>  >        }
>  >
>  >        exit(0);
>  >    }
>  >
>  >    return;
>  >}
>  >
>  >--
>  >ROM mailing list
>  >[email protected]
>  >Unsubscribe here ->>> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>  
>  _________________________________________________________________
>  Express yourself instantly with MSN Messenger! Download today it's FREE!
>  http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
>  
>  --
>  ROM mailing list
>  [email protected]
>  Unsubscribe here ->>> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>  
-- 
ROM mailing list
[email protected]
Unsubscribe here ->>> http://www.rom.org/cgi-bin/mailman/listinfo/rom

Reply via email to