Testserver with shared database: Difference between revisions

From Arianne
Jump to navigation Jump to search
Content deleted Content added
imported>Hendrik Brummermann
Created page with 'This article describes how to configure a test server so that players can use their normal accounts and characters for testing. == The easy ways == There are two easy way: ; Ju…'
imported>Hendrik Brummermann
update script
Line 11: Line 11:
The complex way allows players to test with their own account and characters, while doing smart things with the logs. The login events will be logged to the original database so that the number of wrong password tries sums up both databases. The Stendhal website displays a login history covering all sources: website, main server and test server. The gameEvents and itemlog tables will be kept for the analysis of bugs.
The complex way allows players to test with their own account and characters, while doing smart things with the logs. The login events will be logged to the original database so that the number of wrong password tries sums up both databases. The Stendhal website displays a login history covering all sources: website, main server and test server. The gameEvents and itemlog tables will be kept for the analysis of bugs.


=== Setup test database ===


{{TODO|describe database setup}}
{{TODO|describe database setup}}

=== Configure marauroa on test server ===

{{TODO|describe marauroa setup}}
{{TODO|describe marauroa setup}}


=== Nightly update script ===

This update script will copy the rpobject table from the main server. rpobject is the table the progress of characters is stored in:

<source lang="bash">
nice mysql -u testserver --password=xxx testserver < refresh-database.sql
mysqldump -f -u testserver --password=xxx stendhal rpobject | mysql -u testserver --password=xxx testserver
</source>

refresh-database.sql:
<source lang="sql">
TRUNCATE rpzone;
TRUNCATE rpobject;
</source>

Revision as of 21:06, 23 November 2010

This article describes how to configure a test server so that players can use their normal accounts and characters for testing.

The easy ways

There are two easy way:

Just setup a new empty database
Players can create new accounts there, and some script may give them enough XP and items for testing. There are two problems with this approach: Players may just go to the test server to play with a strong character. And people may play there for a couple of days and get used to it for normal playing
Just copy the production database into a second database every night
This has the obvious advantage that players can test with their own characters so the test are way more realistic. The problem with this approach is that it destroys the logs every night. An attacker may try to crack passwords on the test database without anyone noticing.

The complex way

The complex way allows players to test with their own account and characters, while doing smart things with the logs. The login events will be logged to the original database so that the number of wrong password tries sums up both databases. The Stendhal website displays a login history covering all sources: website, main server and test server. The gameEvents and itemlog tables will be kept for the analysis of bugs.

Setup test database

TODO: describe database setup

Configure marauroa on test server

TODO: describe marauroa setup


Nightly update script

This update script will copy the rpobject table from the main server. rpobject is the table the progress of characters is stored in:

<source lang="bash"> nice mysql -u testserver --password=xxx testserver < refresh-database.sql mysqldump -f -u testserver --password=xxx stendhal rpobject | mysql -u testserver --password=xxx testserver </source>

refresh-database.sql: <source lang="sql"> TRUNCATE rpzone; TRUNCATE rpobject; </source>