Hi all

This email outlines the status of development on tpserver-cpp.

Since March there has been no release of the server because of various issues. 
First I will outline what work has happened so far.

First there were some changes for the AI Competition, such as the status 
command, making designs visible to everyone and guest account.

MTSec had some work early on, but mostly just following the core and minisec.

A metaserver update to support TP04 metaserver parameters as done.

Turn processing was moved from the core to each ruleset (TurnProcess classes).

The biggest new feature so far has been the start of TP04 support. Almost 
everything in TP04 is supported, except for some change (diff) lists, and 
storing history. This broke persistence, so currently no persistence works. 
These things in TP04 do work:
 - new frame header format
 - GetGames, Games frames
 - Added Filter support 
 - paddingfilter added
 - Object Parameterisation
 - Object Descriptions
 - OrderQueues split from objects
 - New Asynchronous frame support, much cleaner
 - New turn timer infrastructure

I have converted Minisec and MTSec to use the new ObjectParameters. I also 
removed the now unneeded mysql classes from Minisec and MTSec, thanks to them 
now using Object Parameters and they now don't depend on MySQL if you 
compiled with it.

I also rewrote the way Minisec Turn processing worked, to make it better. I 
have since rewritten parts of it again, along with writting RSP combat to 
work correctly (ie, to what the documentation says it should do). This last 
rewrite has taken a lot of time away from work on the core, which would get 
the next release sooner.

Some other core work includes:
 - dirty flag on Objects to make cache tracking easier
 - saving game information
 - Split PlayerAgent from Player for frame processing
 - Split PlayerView from Player for information about what the player can see
 - Cleaned up Order Parameter adding
 - Components and Properties can now be in multiple categories
 - Removed some Minisec specific hacks from the core
 - Nop, Universe and EmptyObject moved out of the core to the rulesets

I have also added quickstart conf files for Minisec and MTSec.

Paul Schulz and Krzysztof Sobolewski have contributed Debian packaging 
updates.

Git says:
206 files changed, 10562 insertions(+), 6144 deletions(-)


AND after all that, xdotx (Tyler Shaub) for Google Summer of Code, wrote a 
ruleset for "Reach for the Stars". This will be merged into the mainline 
shortly.



So that is where things are now, basically.

This is what needs to occur before the next release (going to be 0.5.0):
 - Merge RFTS
 - Decide on approach to Object History and object player view method
 - Code working object player view and object history
 - Finish difference support
 - Rewrite MySQL persistence to work with object parameters, difference lists, 
etc


Future work (ie, straight after 0.5.0 or someone else beating me to it):
 - BattleXML support
 - Moving Get Feature frame processing to Player Connection
 - Write CalendarTimer
 - Merge PlayerTlsConnection into PlayerTcpConnection to support ssl/tls 
filter
 - MTSec
 + everything else

Currently, excluding rtfs, tpserver-cpp is nearly 20,000 lines of C++.

So yeah, that is the current status of tpserver-cpp, and why it has/is taking 
so long to get to the next release. Help is welcome.

Later
Lee

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
tp-devel mailing list
[email protected]
http://www.thousandparsec.net/tp/mailman.php/listinfo/tp-devel

Reply via email to