On Thu, 14 Mar 1996, Ned Lovely wrote: > Hello all! > > Anticipating problems, I am setting up a twink filter for my mud that > will require users to register with me before they are allowed access. > > I'm going to mail them a random password to an email address that they > provide, and I am only going to allow only one account per email > address... > > At any rate, what I want to know is: Can I tack a new user onto the > /lib/etc/players file without Circle puking? Will I need to implement > semaphore locking on the players file? (ewww) I have no idea what semaphore locking is, but what you describe sounds like something I did in an afternoon. It's not very difficult, and it has its pros and cons. Mainly, it allows you as implementor to ban selective email addresses instead of more general measures against a site, and it also allows you to have the code police multiplaying rather than having the administration do it. On the other hand, some people will not play your game because they don't want to register, and more importantly, people can't play your game who don't have an e-mail address. I figured it was worth it, and here's my implementation: When a player logs on the first time, he creates a character without being prompted for a password. When the character is ready to be saved to the pfile, he is prompted for his email address or to (a)ttach to another player. If he enters an email address it does some error checking (must have a '@', must not be root, must return non-zero from getHostByName()) before saving the player with the email string and kicking him off the MUD. It then mails him his initial password just as you described. I just generated a random short int with the standard random() call and used the resulting (usually) 5-digit number as the password. Instead of an email address, a player has the option of typing 'a' to attach to another player. It prompts him for the other player's password, and if correct copies the email address over, saves, and places him at the main menu. As my game is not open yet, we haven't decided on a multiplaying policy yet, or what we think of storage characters etc., but we feel this method is flexible enough to handle whatever policies we eventually implement. If you'd like the code, mail me and you're free to have it. No sense in reinventing the wheel, and if you find bugs that'll help me too :) -- Mandy, Director of The Multiplex pccs.cs.pomona.edu 4747 http://www.tmarts.com/Multiplex
This archive was generated by hypermail 2b30 : 12/07/00 PST