My Freeciv recorder has now reached version 0.0.1. It should be usable for people technical enough to read this list. A game is recorded by inserting the recorder between the server and the client(s). The records can later be played back to the Freeciv server.
It should be started from the command line. To run it Java 6 or 7 is required. It has been tested on GNU/Linux (Debian Wheezy). It has been confirmed to work on at least some Windows configurations. Before play back the Freeciv server must be in the same state as it was before recording. This can be done by loading the same savegame or setting the same gameseed and mapseed. More details on how to use it are found in the README. Getting it: * A version compiled for the Freeciv 2.4 beta (without including it) can be found at http://folk.ntnu.no/kvilhaug/freeciv/0.0.1/FreecivRecorder-0.0.1-for-freeciv-2.4-beta.tar.bz2 It also include the source code and the Freeciv source code used to generate some of the Java code. * A tarball containing the source code alone can be found at http://folk.ntnu.no/kvilhaug/freeciv/0.0.1/FreecivRecorder-0.0.1.tar.bz2 * The source code and its version history can be downloaded using Bazaar by running the command bzr branch http://folk.ntnu.no/kvilhaug/bazaar/FreecivRecorder/ * The source code and its version history can also be downloaded using a recent versions of git + the git contrib script git-remote-bzr by running the command git clone bzr::http://folk.ntnu.no/kvilhaug/bazaar/FreecivRecorder/ To get Freeciv download the 2.4 beta from the Freeciv web site or compile SVN trunk. To test that everything works start a freeciv server and run the helper script testSignInToServer (testSignInToServer.bat on Windows) or launch FCJTestSignIn.jar directly if that is easier. If you can see the protocol converted to text it works. The next thing to test it the recorder. Start a Freeciv server listening to port 55555. Start the recorder ("./proxyRecorder" or proxyRecorder.bat). Then start a client connecting to the regular port. Set the gameseed and the mapseed from the Freeciv client so the state is taken care of. It is recommended to only record a few turns using a single client until you know its working. Exit the server by typing "/quit" on its command line. To play it back start a Freeciv server listening to the normal port. Then run playRecord. Don't connect a client until the record is done. If everything is the same as they were when you exited it worked. Known issues: * The Freeciv server, at least using my set up, have a tendency to crash when a global observer is connected. * The play back's implementation of Freeciv's hack protocol will act as if it were the client. If you record a remote client and play it back locally this may cause hack access to be granted when it really shouldn't. * The Windows implementation of the Freeciv hack protocol may use a different location than Freeciv use on some set ups. * Unless you exit the Freeciv server (by using "/quit") before disconnecting the last client the recorder may not exit. * The capability support is limited. Programs that understand the packets, like inspectTrace, will error out on variants. The recorder don't understand anything by default. -- Sincerely Sveinung Kvilhaugsvik _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev