Here is a temporary URL for my archive: http://wakka.dyndns.org:8080/~conor/arch/2005
The project/branch is londonlaw--twisted. It is based off of londonlaw--wx25 from Paul's archive.
My server design is based off of IMAP4Server from twisted.protocols.imap. So much so that it should have the original's copyright, with the new stuff moved to a different file.
Here is an overview:
* To make it easy on telnet users, tags are optional. Specifically, if no tag is given, a blank tag "" is added to the command. * It parses commands using the shlex.split function from the standard library. * Currently all commands have a rigid syntax, i.e. each command has a fixed number of required arguments. This can pose a problem when dealing with optional passwords/multi-moves/messaging to specific players. I think if we want to get more flexible, then we should look into the pyparsing module rather than rolling our own parser. * It is based on the one server per process model. Personally, I feel that this is acceptable, because one game can't interfere with another game if things break. I definitely think that the master server functionality (find games, user accounts, etc.) should be moved to a different package (londonlaw.master) that runs in a different process.
-Conor
-- Conor Davis conor@xxxxxxxxxxx