InitialStepsWithMarauroa: Difference between revisions

From Arianne
Jump to navigation Jump to search
Content deleted Content added
imported>MiguelAngelBlanchLardin
imported>MiguelAngelBlanchLardin
Line 42: Line 42:
Once you have it configured, just run the server by executing:
Once you have it configured, just run the server by executing:
<pre>
<pre>
java -classpath marauroa.jar;mysql-connector-java-3.0.7-stable-bin.jar marauroa.server.marauroad -c <game.ini> -l
java -classpath .;mysql-connector-java-3.0.7-stable-bin.jar;log4j.jar -jar marauroa.jar -c <game.ini>
</pre>
</pre>


''NOTE'': On Linux use : instead of ; to define the classpath.
''NOTE'': On Linux use : instead of ; to define the classpath.


''NOTE'': You may change what it is logged by default, so you need to edit the <game.ini> configuration file and modify the options
''NOTE'': You may change what it is logged by default, so you need to edit the log4j.properties file.
For example:
* server_logs_allowed
* server_logs_rejected

Allowed is a semicolon(;) separated list of strings that defines what is allowed to be logged only if it starts with any of the strings allowed contains. If allows contains a * it will log everything. For example:
<pre>
<pre>
# Set root logger level to DEBUG and its only appender to A1.
server_logs_allowed=Stendhal
log4j.rootLogger=INFO, Console, File
</pre>
It will log everything whose location begins with Stendhal. In Marauroa every log has a location that generated the logged event and a level of that event, as well as a extra description of the event. For Example:
<pre>
2005-04-15 22:20:02.843 (7) > StendhalRPZone::populate
2005-04-15 22:20:02.859 (7) D StendhalRPZone::populate Adding SIGN: RPObject with Attributes of Class(sign): [text=Talk to Nishiya to buy a sheep!.|He will offer you a nice price.][zoneid=village][type=sign][y=27.0][x=26.0][id=1] and RPSlots
2005-04-15 22:20:02.859 (7) D StendhalRPZone::populate Adding NPC seller: RPObject with Attributes of Class(sellernpc): [zoneid=village][dx=0][type=sellernpc][y=28.0][dy=0][name=Nishiya][id=2][x=29.0] and RPSlots
</pre>


# Paste all logger entries with a threshold of WARN to the console
On a similar way works Rejected that is a semicolon(;) separated list of strings that simply reject for being logged everything that starts by any of the strings rejected contains. For example:
log4j.appender.Console=org.apache.log4j.ConsoleAppender
<pre>
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
server_logs_rejected=StendhalRPRuleProcessor::endTurn;StendhalRPRuleProcessor::beginTurn
log4j.appender.Console.layout.ConversionPattern=%-4r %-5p %c %x - %m%n

log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=server.log
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# Disabled debug messages for stendhal...some 10 thousand logs each minute is
# way too much
log4j.logger.marauroa.server.game.RPServerManager=WARN
</pre>
</pre>






Revision as of 16:52, 9 April 2007

OK, you have successfully compiled Marauroa and are wondering what to do next?

  BUILD SUCCESSFUL
  Total time: 3 seconds

Nice, isn't it? Basicly, if you have built a Marauroa server it must be because you either want to play with the server a bit yourself or because you want to run your own game server or because you are a developer who wishes to develop your own game.

If you are none of the above it is possible you are looking for http://arianne.sourceforge.net instead.

Configuration

Create a MySQL database and user

Run the sql client (bin/mysql.exe on the windows noinstall package). Replace <user> and <password> with the desired values and paste the following lines to the prompt that opens:

    create database marauroa;
    grant all on marauroa.* to <user>@localhost identified by '<password>';

It should produce output similar to this:

  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 1 to server version: 4.1.10
  
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  
  mysql> create database marauroa;
  Query OK, 1 row affected (0.03 sec)
  
  mysql> grant all on marauroa.* to stendhal_user@localhost identified by 'stendhal_passwd';
  Query OK, 0 rows affected (0.00 sec)
  
  mysql>

Create server.ini file

To create the marauroa.ini file you need to can write it by hand, copy from another place or use game application to generate it.
Please refer to game documentation about how to write it.

Running

Once you have it configured, just run the server by executing:

  java -classpath .;mysql-connector-java-3.0.7-stable-bin.jar;log4j.jar -jar marauroa.jar -c <game.ini>

NOTE: On Linux use : instead of ; to define the classpath.

NOTE: You may change what it is logged by default, so you need to edit the log4j.properties file. For example:

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=INFO, Console, File

# Paste all logger entries with a threshold of WARN to the console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%-4r %-5p %c %x - %m%n

log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=server.log
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# Disabled debug messages for stendhal...some 10 thousand logs each minute is
# way too much
log4j.logger.marauroa.server.game.RPServerManager=WARN


Make sure that you have the MySQL running too. Marauroa will build all the needed table structure for itself.

This will start Marauroa

Creating accounts

Before anything else, you MUST create accounts for your players. The idea is simple enough, you can even wrap it in to a webpage interface, much like we did with http://gladiators.game-server.cc

  <game>.<game>createaccount -i marauroa.ini -u <user> -p <password> -c <character> -e <email>

For example in mapacman:

  mapacman.mapacmancreateaccount -i marauroa.ini -u root -p pazzw0rd -c MaSSive -e root@localhost.com

For example in Stendhal:

 Initial Steps With Stendhal

Testing

To test that your connection is working use nullClient. It is a simple client that connects to the server, chooses a character and receives perceptions. If it works it means that everything else is also working.

  java -classpath marauroa.jar marauroa.nullClient root pazzw0rd MaSSive

Playing with clients

Please read the client pages at http://arianne.sourceforge.net