Installing Marauroa 2.5 and Stendhal 0.67

Help
Tim2005
2008-03-28
2013-06-06
  • Tim2005
    Tim2005
    2008-03-28

    Hi all,

    I am back and stucked again. I've read the Visual Guide and saw that it was modified. But now I am stucked after doing that. I changed my marauroad.bat to:
    set LOCALCLASSPATH=.;libs/marauroa.jar;libs/jython.jar;libs/mysql-connector.jar;libs/log4j.jar; libs/stendhal-server-0.67.jar;libs\stendhal-maps-0.67.jar;libs\stendhal-xmlconf-0.67.jar;libs\commons-lang.jar; libs\groovy.jar;libs\simple.jar
    java -cp "%LOCALCLASSPATH%" marauroa.server.marauroad -c libs\server.ini -l

    But when I run the marauroad.bat I get some ugly errors:
    [code]
    D:\Game Servers\marauroa>java -cp ".;libs/marauroa.jar;libs/jython.jar;libs/mysq
    l-connector.jar;libs/log4j.jar; libs/stendhal-server-0.67.jar;libs\stendhal-maps
    -0.67.jar;libs\stendhal-xmlconf-0.67.jar;libs\commons-lang.jar; libs\groovy.jar;
    libs\simple.jar" marauroa.server.marauroad -c libs\server.ini -l
    Marauroa - arianne's open source multiplayer online framework for game developme
    nt -
    Running on version 1.90
    (C) 1999-2007 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

    Configuring Log4J using marauroa/server/log4j.properties
    log4j:ERROR setFile(null,true) call failed.
    java.io.FileNotFoundException: log\server.log (Het systeem kan het opgegeven pad
    niet vinden)
            at java.io.FileOutputStream.openAppend(Native Method)
            at java.io.FileOutputStream.<init>(Unknown Source)
            at java.io.FileOutputStream.<init>(Unknown Source)
            at org.apache.log4j.FileAppender.setFile(FileAppender.java:282)
            at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:161)
            at org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollin
    gFileAppender.java:215)
            at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:2
    56)
            at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.j
    ava:132)
            at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.j
    ava:96)
            at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigura
    tor.java:654)
            at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigura
    tor.java:612)
            at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyC
    onfigurator.java:509)
            at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurato
    r.java:415)
            at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.
    java:349)
            at marauroa.common.Log4J.init(Log4J.java:57)
            at marauroa.server.marauroad.main(marauroad.java:235)
    log4j:ERROR Either File or DatePattern options are not set for appender [File].
    ERROR [main      ] DatabaseFactory          (56  ) - cannot get player database
    java.lang.ClassNotFoundException: games.stendhal.server.core.engine.StendhalPlay
    erDatabase
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Unknown Source)
            at marauroa.server.game.db.DatabaseFactory.getDatabase(DatabaseFactory.j
    ava:58)
            at marauroa.server.game.db.DatabaseFactory.getDatabase(DatabaseFactory.j
    ava:38)
            at marauroa.server.marauroad.main(marauroad.java:239)
    ERROR: Marauroa can't connect to database
    Verify "server.ini" file to make sure access to database is possible.
    [/code]
    What should I do now?

    Kind Regards,
    Tim

     
    • Tim2005
      Tim2005
      2008-03-28

      Add:

      I re-read the error code and I saw some Dutch text:
      "Het systeem kan het opgegeven pad niet vinden", what means "The system can't find the file specified".

      Kind Regards,
      Tim

       
    • Just create there a folder named log
      That should fix the problem.

       
    • Katie Russell
      Katie Russell
      2008-03-29

      ERROR: Marauroa can't connect to database
      Verify "server.ini" file to make sure access to database is possible.  is the ERROR below it. Which is the real error.

       
      • oslsachem
        oslsachem
        2008-03-31

        As kymara says, I think the log4j error isn't fatal and thus is not the one keeping your server from running.
        However, I would say that "Verify "server.ini" file to make sure access to database is possible. " is a secondary fallback error hint message and not the main one in this case.

        In my opinion, "java.lang.ClassNotFoundException: games.stendhal.server.core.engine.StendhalPlay
        erDatabase" is the clue in this cryptic (as usual :)) log.

        I'd say that the Java Virtual Machine can't find the jar named "stendhal-server-0.67.jar" in the classpath.

        And, judging from the classpath you have posted, I would think that "stendhal-server-0.67.jar" along with "stendhal-maps-0.67.jar" and "stendhal-xmlconf-0.67.jar" are not inside the "libs/" directory but in the parent directory which was in fact their usual place.

        So, to conclude, I'd try deleting the prepended "libs/" words in those jars in the classpath.

        In the case that didn't solve the problem, I'd suggest you to post in this forum's thread your "server.ini" file contents, omitting the username and password entries.

        I hope this can be of help. Good luck :)

         
    • Tim2005
      Tim2005
      2008-04-01

      Well, I created the logs folder :)
      And the files are in libs/

      So here is my file list:
      D:\Game Servers\marauroa>Tree /f /a
      Map PATH-lijst
      Het volumenummer is 0006FE80 1073:15FA
      D:.
      |   AUTHORS
      |   BUGS
      |   COPYING
      |   LICENSE
      |   Makefile
      |   README
      |   marauroad
      |   marauroad.bat
      |
      +---libs
      |       jython.jar
      |       log4j.jar
      |       mysql-connector.jar
      |       marauroa.jar
      |       simple.jar
      |       groovy.jar
      |       commons-lang.jar
      |       stendhal-maps-0.67.jar
      |       stendhal-server-0.67.jar
      |       stendhal-xmlconf-0.67.jar
      |       server.ini
      |
      \---log
              server.log

      Contents of marauroad.bat:
      set LOCALCLASSPATH=.;libs/marauroa.jar;libs/jython.jar;libs/mysql-connector.jar;libs/log4j.jar; libs/stendhal-server-0.67.jar;libs/stendhal-maps-0.67.jar;libs/stendhal-xmlconf-0.67.jar;libs/commons-lang.jar; libs/groovy.jar;libs/simple.jar
      java -cp "%LOCALCLASSPATH%" marauroa.server.marauroad -c libs\server.ini -l
      pause

      Contents of libs/server.ini:
      # Generated .ini file for Test Game at Fri Mar 28 18:40:07 CET 2008
      # Database and factory classes. Don't edit.
      database_implementation=games.stendhal.server.core.engine.StendhalPlayerDatabase
      factory_implementation=games.stendhal.server.core.engine.StendhalRPObjectFactory

      # Database information. Edit to match your configuration.
      jdbc_url=jdbc:mysql://localhost/marauroa
      jdbc_class=com.mysql.jdbc.Driver
      jdbc_user=root
      jdbc_pwd=my_root_password_wich_is_working

      # TCP port stendhald will use.
      tcp_port=32160

      # World and RP configuration. Don't edit.
      world=games.stendhal.server.core.engine.StendhalRPWorld
      ruleprocessor=games.stendhal.server.core.engine.StendhalRPRuleProcessor

      turn_length=300

      server_typeGame=stendhal
      server_name=stendhal Marauroa server
      server_version=0.70
      server_contact=https://sourceforge.net/tracker/?atid=514826&group_id=66537&func=browse

      # Extensions configured on the server. Enable at will.
      #server_extension=groovy,http
      #groovy=games.stendhal.server.scripting.StendhalGroovyRunner
      #http=games.stendhal.server.extension.StendhalHttpServer
      #http.port=8080

      statistics_filename=./server_stats.xml

      n = 3216650388055717998745399694886457914106401523565474166778536540364634862255464576357987420360207534484550898979427123982585445692768706369472738891975567523581
      e = 15
      d = 428886718407429066499386625984861055214186869808729888903804872048617981634061928390259234798687094903580957694046008024124240201611123277120684724476006300151

      Contents of log/server.log:
      2008-04-01 11:43:23 ERROR [main      ] DatabaseFactory          (  56) - cannot get player database
      java.lang.ClassNotFoundException: games.stendhal.server.core.engine.StendhalPlayerDatabase
          at java.net.URLClassLoader$1.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClassInternal(Unknown Source)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Unknown Source)
          at marauroa.server.game.db.DatabaseFactory.getDatabase(DatabaseFactory.java:58)
          at marauroa.server.game.db.DatabaseFactory.getDatabase(DatabaseFactory.java:38)
          at marauroa.server.marauroad.main(marauroad.java:239)
      2008-04-01 11:46:50 ERROR [main      ] DatabaseFactory          (  56) - cannot get player database
      java.lang.ClassNotFoundException: games.stendhal.server.core.engine.StendhalPlayerDatabase
          at java.net.URLClassLoader$1.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClassInternal(Unknown Source)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Unknown Source)
          at marauroa.server.game.db.DatabaseFactory.getDatabase(DatabaseFactory.java:58)
          at marauroa.server.game.db.DatabaseFactory.getDatabase(DatabaseFactory.java:38)
          at marauroa.server.marauroad.main(marauroad.java:239)

      Maybe this is the data wich we need to find out te problem, I am testing the database at the moment to verify that there is no problem there.

      Kind Regards,
      Tim

       
      • Just noticed a weird comand in marauroa.bat.

        -l pause

        The other thing i had to modify is in the server.ini.

        From:
        jdbc_url=jdbc:mysql://localhost/marauroa

        to:
        jdbc_url=jdbc:mysql://localhost:3307/marauroa

        Use the correct port (3306) in your case. I believe is part of the new driver format.

         
      • oslsachem
        oslsachem
        2008-04-01

        >>
        Contents of marauroad.bat:
        set LOCALCLASSPATH=.;libs/marauroa.jar;libs/jython.jar;libs/mysql-connector.jar;libs/log4j.jar; libs/stendhal-server-0.67.jar;libs/stendhal-maps-0.67.jar;libs/stendhal-xmlconf-0.67.jar;libs/commons-lang.jar; libs/groovy.jar;libs/simple.jar
        >>

        I would try deleting the leading blank spaces after the semicolons that separate the different classpath entries:
        ;_libs/stendhal-server-0.67.jar;
        ^ This space

        ;_libs/groovy.jar;
        ^ This space

        I hope this helps :)

         
        • Here's the content of the marauroa.bat I used to update the wiki and is currently working on my server:

          set LOCALCLASSPATH=.;libs/marauroa-2.5.jar;libs/jython.jar;libs/mysql-connector.jar;libs/log4j.jar;libs/stendhal-server-0.67.jar;libs\stendhal-maps-0.67.jar;libs\stendhal-xmlconf-0.67.jar;libs\commons-lang.jar;libs\groovy.jar;libs\simple.jar
          java -cp "%LOCALCLASSPATH%" marauroa.server.marauroad -c libs\server.ini -l

          hope it helps

           
    • Tim2005
      Tim2005
      2008-04-01

      Is Mysql running on port 3306?
         Yes, used telnet to verify

      Can you connect with phpmyadmin with the same login credentials:
         Yes, I can

      Does the database marauroa exisist?
         Yes, It does

      Are there tables in the database?
         No there aren't

      Is root allowed to acces the database?
         Yes, otherwise it was not in phpmyadmin

      So, I think that there is no problem with the mysql database...

      Kind Regard,
      Tim

       
    • Is that really a marauroa 2.5 jar? It can be the answer unless you renamed it.

       
    • Kyle Kinney
      Kyle Kinney
      2008-04-03

      Why do you have both forward slashes and backslashes in your classpath? It doesn't seem like that'd be the problem, since it's finding marauroa.jar just fine, but it's worth a shot.

       


Anonymous


Cancel   Add attachments