InstallingStendhal: Difference between revisions
imported>MiguelAngelBlanchLardin |
imported>MiguelAngelBlanchLardin |
||
| Line 175: | Line 175: | ||
</pre> |
</pre> |
||
Now simply go to Stendhal folder |
Now simply go to Stendhal folder and type |
||
<pre> |
|||
'''TODO''' |
|||
C:\...\stendhal>ant jar |
|||
For example copy the stendhal jar to the same folder where the compiled code for Maraurora is. |
|||
<pre> |
|||
Buildfile: build.xml |
|||
init: |
|||
[mkdir] Created dir: C:\....\stendhal\build |
|||
[mkdir] Created dir: C:\....\stendhal\lib |
|||
[mkdir] Created dir: C:\....\javadocs |
|||
client_compile: |
|||
[delete] Deleting directory C:\....\stendhal\build |
|||
[mkdir] Created dir: C:\....\stendhal\build |
|||
[copy] Copying 3 files to C:\....\stendhal\build\sprites |
|||
[javac] Compiling 18 source files to C:\....\stendhal\build |
|||
client_jar: |
|||
[jar] Building jar: C:\....\stendhal\lib\stendhal-0.00.jar |
|||
server_compile: |
|||
[delete] Deleting directory C:\....\stendhal\build |
|||
[mkdir] Created dir: C:\....\stendhal\build |
|||
[copy] Copying 3 files to C:\....\stendhal\build\games\stendhal\server\maps |
|||
[javac] Compiling 6 source files to C:\....\stendhal\build |
|||
server_jar: |
|||
[jar] Building jar: C:\....\stendhal\lib\stendhal-server-0.00.jar |
|||
jar: |
|||
BUILD SUCCESSFUL |
|||
Total time: 3 seconds |
|||
</pre> |
|||
Now in lib folder you have two jar files: |
|||
<pre> |
|||
C:\....\stendhal\lib>dir |
|||
19/02/2005 22:02 <DIR> . |
|||
19/02/2005 22:02 <DIR> .. |
|||
19/02/2005 22:02 109.104 stendhal-0.00.jar |
|||
19/02/2005 22:02 11.851 stendhal-server-0.00.jar |
|||
2 files 120.955 bytes |
|||
2 dirs 19.775.070.208 bytes free |
|||
</pre> |
|||
Copy stendhal-server-0.00.jar into Marauroa folder: |
|||
<pre> |
|||
copy stendhal-server-0.00.jar D:\.....\marauroa |
|||
</pre> |
|||
Go to Marauroa folder and edit marauroad.bat file, that should looks like: |
|||
<pre> |
|||
set LOCALCLASSPATH=.;stendhal-server-0.00.jar;marauroa-0.90.jar;jython.jar;mysql-connector-java-3.0.15-ga-bin.jar |
|||
java -cp "%LOCALCLASSPATH%" marauroa.server.marauroad -c marauroa.ini -l |
|||
</pre> |
|||
Did you noticed the added stendhal-server-0.00.jar file? |
|||
Congrats! You have successfully installed Stendhal in a Marauroa server.<br> |
|||
Now start marauroa server by running marauroad.bat |
|||
== Start the server == |
== Start the server == |
||
Revision as of 21:09, 19 February 2005
Install MySQL
Download the appropriate MySQL install package from http://dev.mysql.com/downloads/
Also download the java connector library from the same place (it's called "MySQL Connector/J" ), unzip it, and make sure it is on the classpath when running maraurorad later.
Download Maraurora
Download Maraurora from http://www.arianne.cx/ or check out the cvs version and build it.
Start MySql
Refer to the MySql installation documentation for details.
If you used the noinstall package, you can run bin/mysqld.exe.
Make sure to edit the configuration files to disallow external access if you are just going to use it for local testing, or simply use a firewall to block external access to the database.
Create a MySql user and database for the game
Run the sql client (bin/mysql.exe on the windows noinstall package). Paste the following lines to the prompt that opens:
create database stendhal; grant all on stendhal.* 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 stendhal; Query OK, 1 row affected (0.03 sec) mysql> grant all on stendhal.* to testuser@localhost identified by 'testpass'; Query OK, 0 rows affected (0.00 sec) mysql>
Create Marauroa.ini file
To create the marauroa.ini file you need to can write it by hand, copy from another place or use our application to generate it.
To launch the application that will generate the marauroa.ini file write:
java -cp marauroa-XXX.jar marauroa.server.generateini
It is a text application that will ask you for values. Let's see it.
Marauroa - arianne's open source multiplayer online framework for game development - (C) 1999-2005 Miguel Angel Blanch Lardin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Now write the name of the file where you will store the configuration.
Usually pressing ENTER will do the work, as marauroa.ini is a fine name.
Write name of the .ini file (marauroa.ini): Using "marauroa.ini" as .ini file
We need to give a name for database.
Use the one you have written above on database creation.
Write name of the database (marauroa): stendhal Using "stendhal" as database name Write name of the database host (localhost): Using "localhost" as database host Write name of the database user (marauroa_user): stendhal_user Using "stendhal_user" as database user Write value of the database user password (marauroa_pass): stendhal_passwd Using "stendhal_passwd" as database user password In order to make efective these options please run: # mysql create database stendhal; grant all on stendhal.* to stendhal_user@localhost identified by 'stendhal_passwd'; exit
Marauroa acts as a server. So it needs a valid UDP port where it will listen to incoming packets.
Write UDP port used by Marauroa (>1024): 32160 Using "32160" as database user password
This is perhaps the most complex part of Arianne: Choosing the game.
If you are using one of the Arianne supported games, just write the name and the params will be filled using a template automatically, but if you are using your own game, you must provide the complete class name for RPWorld and RPRuleProcessor of your game.
Marauroa is a server middleware to run multiplayer games. You need toadd a game to the system so that server can work. Actually Arianne has implemented several games: - stendhal - mapacman - the1001 If you write your own game, just write it name here. You will be asked for more info. Write name of the game server will run: stendhal Using "stendhal" as game Setting RPWorld and RPRuleProcessor for Stendhal Make sure Marauroa can find in CLASSPATH the folder games/stendhal/* NOTE: Copy games generated in stendhal inside folder that contains marauroa.jar file
You also have to choose the turn time.
Any range is valid, but the best value is around mean ping time for players, that is around 200-300 ms.
Write turn time duration in milliseconds (200<time<1000)): 300 Using turn of 300 milliseconds
Finally decide where to store logs and statistics.
Logs will be stored at path/logs.
Write path for logs generation (./)): Using path "./" for log generation Write path for statistics generation (./)): Using path "./" for statistics generation COMPLETE--- Generating "marauroa.ini" file Generated.
Congrats!. You configured your Marauroa server.
Copy Stendhal to the Maraurora classpath
Marauroa is just the middleware to make everything run.
But you need to feed it with games. To make Marauroa run Stendhal, just copy the result of compiling stendhal to marauroa folder.
If you download Marauroa, and unzip it you will see this:
C:\...\marauroa-0.90>dir
19/02/2005 19:51 <DIR> .
19/02/2005 19:51 <DIR> ..
19/02/2005 13:28 133 AUTHORS
19/02/2005 13:28 141 BUGS
19/02/2005 13:28 18.332 COPYING
19/02/2005 13:28 719.950 jython.jar
19/02/2005 13:28 18.332 LICENSE
19/02/2005 13:28 149.364 marauroa-0.90.jar
19/02/2005 13:28 1.294 marauroa.ini
19/02/2005 13:28 162 marauroad.bat
19/02/2005 13:28 235.712 mysql-connector-java-3.0.15-ga-bin.jar
19/02/2005 13:28 13.930 README
10 files 1.157.350 bytes
2 dirs 19.775.102.976 bytes free
Now simply go to Stendhal folder and type
C:\...\stendhal>ant jar
<pre>
Buildfile: build.xml
init:
[mkdir] Created dir: C:\....\stendhal\build
[mkdir] Created dir: C:\....\stendhal\lib
[mkdir] Created dir: C:\....\javadocs
client_compile:
[delete] Deleting directory C:\....\stendhal\build
[mkdir] Created dir: C:\....\stendhal\build
[copy] Copying 3 files to C:\....\stendhal\build\sprites
[javac] Compiling 18 source files to C:\....\stendhal\build
client_jar:
[jar] Building jar: C:\....\stendhal\lib\stendhal-0.00.jar
server_compile:
[delete] Deleting directory C:\....\stendhal\build
[mkdir] Created dir: C:\....\stendhal\build
[copy] Copying 3 files to C:\....\stendhal\build\games\stendhal\server\maps
[javac] Compiling 6 source files to C:\....\stendhal\build
server_jar:
[jar] Building jar: C:\....\stendhal\lib\stendhal-server-0.00.jar
jar:
BUILD SUCCESSFUL
Total time: 3 seconds
Now in lib folder you have two jar files:
C:\....\stendhal\lib>dir
19/02/2005 22:02 <DIR> .
19/02/2005 22:02 <DIR> ..
19/02/2005 22:02 109.104 stendhal-0.00.jar
19/02/2005 22:02 11.851 stendhal-server-0.00.jar
2 files 120.955 bytes
2 dirs 19.775.070.208 bytes free
Copy stendhal-server-0.00.jar into Marauroa folder:
copy stendhal-server-0.00.jar D:\.....\marauroa
Go to Marauroa folder and edit marauroad.bat file, that should looks like:
set LOCALCLASSPATH=.;stendhal-server-0.00.jar;marauroa-0.90.jar;jython.jar;mysql-connector-java-3.0.15-ga-bin.jar java -cp "%LOCALCLASSPATH%" marauroa.server.marauroad -c marauroa.ini -l
Did you noticed the added stendhal-server-0.00.jar file?
Congrats! You have successfully installed Stendhal in a Marauroa server.
Now start marauroa server by running marauroad.bat
Start the server
Run the maraurora.bat file (or create an equivalent shell script if in unix).
Start the Stendhal client
TODO: We need a bat file or such for starting the client.