GSoC/TP Weekly Report (June 2 – June 6)

This Week:

There is now a fully functional CommandManager in tpserver-cpp. It implements a basic command set similar to what was once in the console, and allows modular addition of new commands (from rulesets or plugins, for example). It also implements the command description portions of the protocol extension, in a fashion similar to order descriptions in TP04. Together, the CommandManager and Command classes already implement just about everything necessary for commands on the server side.

My plans to continue expanding the Python mini-client are on hold, since Lee reports that libtpproto-cpp is nearly ready and I should start working on a branch to add admin extensions soon. Most likely, I will relegate this work to when I branch libtpproto-py similarly for use in tpclient-pywx’s single-player mode.

In the meantime, tpserver-cpp now also runs as a daemon (quite properly, I think) by default. The interactive console has been removed accordingly. I ran with it and wrote a Gentoo init.d script, which is able to start and stop the server daemon as user “tpserver-cpp” nicely. On a related note, while I was editing my local tpserver-cpp ebuild (which builds from my working copy of the config branch), I modified it to import games.eclass and install things to the proper games directories.

I’m satisfied with the pace of my progress. Based on my original milestone goals, I’m about 2 weeks ahead of schedule, although it’s a little lopsided since I don’t have an actual client yet. If I can hammer out the client reasonably quickly, I should be more than on track to finish up the server stuff by the midterm evaluation.

Next Week:

The plan now is to start developing a C++ command-line client for normal administration, to replace the console (but with a few new commands and remote access). This will be based on the console and libtprl code for the actual interactive shell, and libtpproto-cpp for communication and the protocol. I’ll spend some time working on the former until libtpproto-cpp is ready.

Another thing I may look into next week is adding a UNIX IPC socket for administration connections, which would be better than TCP for local administration. This is a fairly important goal since a large proportion of cases will benefit from it, but it isn’t absolutely necessary for the time being. When I get to this will depend on how the client development goes.

I have a conference to attend in Boston next week, from Tuesday to Friday. Hopefully the hotel provides wireless access so I can work remotely…

Jun 6th, 2008
Tags: ,
Comments are closed.