Review Of 2010: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
imported>Kymara
No edit summary
imported>Kymara
Line 34: Line 34:
==Marauroa Milestones in 2010==
==Marauroa Milestones in 2010==


Marauroa is the engine of the Arianne project. It has two main functions: Manage the communication between the servers and the clients. And store the player progress to a persistent database. Therefore this section will be very technical.
Marauroa is the engine of the Arianne project. It has two main functions:
* Manage the communication between the servers and the clients.
* Store the player progress to a persistent database.
Therefore this section will be very technical.


The most visible change with regard to the database was adding support for the ''installationless H2 database'' at the beginning of 2010. H2 requires no download, installation or configuration which is a huge improvement on ''MySQL''. Under the hood games can now ''update the database structure'' automatically on first server start after an update.
The most visible change with regard to the database was adding support for the ''installationless H2 database'' at the beginning of 2010. H2 requires no download, installation or configuration which is a huge improvement on ''MySQL''. Under the hood games can now ''update the database structure'' automatically on first server start after an update.


You may have noticed that [[Stendhal_Events#Clone_Wars_2010-02-20|Clone Wars]] in Stendhal on 2010-02-20. As a result, Marauroa now ''supports configurable limits'' on account and character creation and number of parallel connections per IP address. This is just a precaution, Marauroa did handle the huge amount of parallel characters very well.
You may have noticed the [[Stendhal_Events#Clone_Wars_2010-02-20|Clone Wars]] in Stendhal on 2010-02-20. As a result, Marauroa now ''supports configurable limits'' on account and character creation and number of parallel connections per IP address. This is just a precaution, Marauroa did handle the huge amount of parallel characters very well.


In preparation for the POTM, we overhauled our ''documentation'', integrating and improving JavaDoc, Wiki and Website. So that new developers can easily start using Marauroa. Last but not least, ''RPEvents'' now supports RPSlots, which allowed the Shop signs in Stendhal.
In preparation for the POTM, we overhauled our ''documentation'', integrating and improving JavaDoc, Wiki and Website, so that new developers can easily start using Marauroa. Last but not least, ''RPEvents'' now support RPSlots, which allowed the new look shop signs in Stendhal.


The summer was focused on improving performance: ''database access'' is now completely handled ''asynchronously'', which greatly reduced lag spikes. Marauroa used to have a huge lock on PlayerEntryContainer which prevented processing of all message during an active turn. However, only placing players into the world and removing them needs to be synchronized. So all other ''messages are now processed in parallel'', which speeds up logins noticeably.


For the developers, we added support of a new datatype for ''maps''. This required a change to the Marauroa protocol and while we worked on it, we added support for ''multiple protocol versions'', so a newer server can now talk to older clients and vice versa.
The summer was focused on improving performance: ''Database access'' is now completely handled ''asynchronously'', which greatly reduced lag spikes. Marauroa used to have a huge lock on PlayerEntryContainer which prevented processing of all message during an active turn. However, only placing players into the world and removing them needs to be synchronized. So all other ''messages are now processed in parallel'', which speeds up logins noticeably.

For the developers, we added support of a new datatype for ''maps''. This required a change to the Marauroa protocol and while we worked on it, we added support for ''multiple protocol versions'', so a newer server can now talk to older clients and via versa.


We concluded the year with adding support for a ''test server environment'' which shares some database table with the main server. So players are now able to test the upcoming releases with their own characters. Marauroa is the first sub project that switched from the development coordination tool CVS to ''git''.
We concluded the year with adding support for a ''test server environment'' which shares some database table with the main server. So players are now able to test the upcoming releases with their own characters. Marauroa is the first sub project that switched from the development coordination tool CVS to ''git''.