Marauroa 3.9
This article deals with a pre release version of Marauroa.
There are a number of small new features in Marauroa 3.9 that will be explained on this page.
Please note, the term "Marauroa users" refers to developers using Marauroa in their own software. It does not refer to the end user of the programs developed using Marauroa.
Version compatibility
Marauroa 3.9 introduces protocol version 34, but is fully compatible to older protocol versions back to 31 on both the server and the client side. A server can handle clients of different versions (both older and newer than the server) at the same time and will use the appropriate feature set for each of them,
Content Transfer includes hash
- Summary
- Content transfer includes a md5 hash of the content, if both server and client are using Marauroa 3.9 or higher
- Reason for change
- It was difficult for applications to keep track of the modifications of content. Some application used the timestamp field for a CRC-checksum. CRC, however, is a error detection algorithm, it is not sufficient to keep track of large scale changes in content.
- Impact on Marauroa users
- The hash is a new attribute in the TransferContent object that may be read by the client.
Extended the size of the ban message
- Summary
- Ban messages may be longer restricted 256, if both server and client use Marauroa 3.9 or higher
- Reason for change
- It is desirable to include more details and contact information in the ban message.
- Impact on Marauroa users
- A longer ban message
Logging of failed login with distinct status
- Summary
- Failed logins are now logged with distinct status values
- Reason for change
- Making it easier for support to assist players on login issues
- Impact on Marauroa users
- none, unless the loginEvent table is read or written by other applications bypassing Marauroa
- Details
- The value in the result columns of the loginEvent table means: 0 failed password, 1 successful login, 2 banned, 3 inactive, 4 blocked, 5 merged
Client support for skipable empty perceptions
- Summary
- The Marauroa 3.9 client supports the omission of empty perceptions
- Reason for change
- Reduction of network traffic and allowing very short turn times (e. g. Marboard uses 10ms in order to be very responsive)
- Impact on Marauroa users
- None, yet. Starting with the future Marauroa 4.0 empty perceptions will actually be omitted. There might be an impact, if a client assumes that it receives a perception per turn time interval.
- Details
- The client was counting the perceptions in order to determine when to send the "keep a live" message. Starting with 3.9, the client will send the "keep a live" message based on actual passed time. Note: The server will not yet omit empty perceptions in version 3.9, but will start to do that in version 4.0 for 3.9 and above clients.
RPClass support for RPAction
- Summary
- RPClass are now supported for RPActions sent from the client to the server.
- Reason for change
- Reduction of network traffic and type checks before a message is sent
- Impact on Marauroa users
- Support for RPClass on RPActions on the server side exists since Marauroa 2.0, this change enables the client side to specify the RPClass.
- Details
- It is an optional feature. It requires the RPClass-entries for the actions to be defined on the server side. And the client may then use those RPClasses when instantiating RPActions on the client side.
Smaller features
- MySQL 5.5 and newer are now supported
- New server.ini variable server_abuseContact to add a sentence with contact information to the ban dialog.
- RPRuleProcessorImpl provides a default implementation for IRPRuleProcessor
- Automatically try to use a configured SOCKS-proxy. If it cannot be used, Marauroa will fall back to direct connections
{{#breadcrumbs: Marauroa | Overview | Marauroa 3.9 }}