Did you ever figure this out?
I tried to follow the logic, but it looks like when you add checkLogin as a callback you don't have an opportunity to specify what the values of the parameters are. Then when checkLogin does get called back, its query_result parameter is not initialized and is set to None. Maybe I missed some subtlety of Python, but I don't see you sending parameter values into checkLogin.
Thanks for the reply, Steve.
As far as I know, the result (in this case, the query result) will be passed to the callback (checkLogin) as the first argument. I think it is correct considering that query_result can be printed out on the server.
I think the error is in the login() function. It has to return something. It currently returns a deferred, but somehow, when the deferred fires and we get the result, the login() doesn't seem returning query_result.
By the way, do people use this kind of command-line thingy in multiplayer game?