-
Notifications
You must be signed in to change notification settings - Fork 0
benkimball/ndig
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
ndig is a haven-type chat server mixed with a MUD.
Future plans:
* embedded neo4j may not be the way to go. With a server I get http management
and the ability to use a better API.
* furnishings
* fights!
* Registration
Proposed augmentation to the ".name" command to support registration of names, i.e., association of
passwords.
Add logged_in flag to NdPlayer.
Update .name command to reject '=' symbol in names. All name matching must be case-insensitive.
Upon receipt of ".n <newname>" command (without password):
If player's name matches <newname>, issue error message.
Next check to see if <newname> is already in use; if it is, respond with error message.
Next check to see if <newname> is in the name registry. If it is, respond with message:
The name "newname" is registered. If it belongs to you, try ".n newname=[password]".
If it is not in the registry, and not in use, update the player's name. Include text
'this name is unregistered' in the response.
Upon receipt of ".n <newname>=<password>" command (with password):
If player is logged in with name <newname>:
If <password> is not empty, update the password in the registry.
If <password> is empty, un-register <newname> and set logged_in to false.
Otherwise (player not logged in, or logged in under another name):
If <newname> found in registry with password, update player's name and set
logged_in to true.
If <newname> found in registry with other password, auth failure message.
If <newname> is currently in use, issue error message.
Otherwise (<newname> not in registry and not in use):
Add <newname,password> to registry, update the player's name, and set
logged_in to true.
Some other rules about registered names:
"Zubin" and any name beginning with "sysop" are reserved. Names must be at least
3 characters, must be made up of [a-zA-Z0-9 \.,:;'"\-_], may not include more than
one consecutive space, and must start with a letter or number.
.n Zubin=rascals
> Incorrect password.
.n nobody
> Name changed; this name is unregistered.
.n nobody=lovesme
> You have registered the name "nobody". Don't forget your password, you'll need it to use this name again.
.n nobody=
> Password removed; the name "nobody" is no longer registered.
About
Learning concurrent Java by implementing a MUD with Netty
Topics
Resources
Stars
Watchers
Forks
Packages 0
No packages published