|
| I have 2 issues. | |
| | Author | Message |
---|
AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: I have 2 issues. Sat 21 Jul - 6:05 | |
| First this forum seems to be incompatible with Internet explorer when trying to make a post because of that stupid little toolbar at the bottom or something, you might want to look into that. and please dont get bent out of shape , im just bringing that to your attention so no insult ment. ( im posting from firefox ) Secondly when I try to start a master server ( yes under cygwin running on windows server 2008 NOT R2 but regular 2008 ) First thing you must do is copy the "server" folder from the bin folder in the JDK ( im using JDK7u5) to the bin folder in your JRE folder or you get: "Error: missing `server' JVM at `C:\Program Files\Java\jre7\bin\server\jvm.dll'. Please install or use the JRE or JDK that contains these missing components. FAILED" when trying to run ./master.sh -v start. ok, so with that fixed up , now I am getting this: - Code:
-
./master.sh: line 249: [: too many arguments Error: Could not find or load main class file *** Starting master server *** ./master.sh: line 93: [: =: unary operator expected MV_HOME is .. ./master.sh: line 104: [: too many arguments Using .jar files from the /dist hierarchy Using property file ../bin/master.properties Using log directory ../logs/master Using common directory ../config/common, bin directory ../bin JAVA_FLAGS="-server -cp ../other/rhino1_5R5/js.jar;Properties file ../bin/maste;../dist/lib/injected.jar;../dist/lib/multiverse.jar;../dist/lib/mars.jar;../other/java-getopt-1.0.11.jar;../other/jython.jar;../other/log4j-1.2.14.jar;../other/bcel-5.2.jar;. -Dmultiverse.propertyfile=../bin/master.properties -Dmultiverse.logs=../logs/master" Starting master server: Error: Could not find or load main class file SUCCESS Wait for finished initializing msg...
I dont have a clue why I am getting this error, any sugestions? By the way, I have tinkered with Multiverse for a few years now and it has NEVER gotten any easyer to get started BUT its the kind of thing that once you do get everything sorted and running, its rock solid until YOU break it | |
| | | Guest Guest
| Subject: Re: I have 2 issues. Sat 21 Jul - 11:54 | |
| |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Progress ...well sort of. Mon 23 Jul - 9:58 | |
| So now after hardcoding some things and adding the private key code to master_server.py I am now getting this error at the end of master.out - Code:
-
ERROR [2012-07-21 18:54:16,298] main MasterServer.main caught exception multiverse.server.util.MVRuntimeException: could not find class: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at multiverse.server.engine.MasterDatabase.<init>(MasterDatabase.java:28) at multiverse.server.engine.MasterServer.dbConnect(MasterServer.java:40) at multiverse.server.engine.MasterServer.main(MasterServer.java:439)
Anyone know how to correct this? I also reverted back to JDK/JRE 6 and Java mysql Connector 3.1.14 | |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Tue 24 Jul - 10:31 | |
| Anyone? Surely someone has run into this problem as I see some of you have managed to successfuly get a master server running. | |
| | | awaredev Experienced Newbie
Posts : 32 Join date : 2012-06-29 Location : Halifax, NS, Canada
| Subject: Re: I have 2 issues. Tue 24 Jul - 11:03 | |
| I'm trying to avoid the master server if at all possible, but I imagine there's a configuration file for Master server that has a line that designates the path to the jdbc driver jar file. | |
| | | Guest Guest
| Subject: Master Server Wed 25 Jul - 14:06 | |
| I haven't tackled the Master Server yet. When I do, and assuming I can solve it, I'll post @aware AFAIK eventually you have to do the Master Server thing if your going to run a real game. I am still learning Python and .sh scripting and trying to figure out where the heck $WORLD_DIR and $WORLD_NAME come from so I can set the servers up correctly. Then the master server. Hey, when someone hands me 1+ million $ worth of software and says "Have fun with it..." I'm willing to do whatever it takes. /cheers |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Thu 26 Jul - 6:14 | |
| There is a page in the wiki that mentions changing a variable in master_server.py that points to the /../../..bin folder to point to some ../../../server folder to resolve the "NoClassFound......" error but I can not for the life of me remember where I saw it . And I agree, when someone hands me an SDK with all of the base servers written for me and all the other time consuming prerequsite stuff coded that usualy takes forever to get done before you can acculy start doing gameplay related development ( tools, server archtechture, game engine ...etc ) Im more than happy to start playing with it | |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Thu 26 Jul - 8:54 | |
| Ok i am smashing my head against the keyboard repeatedly now............ anyway here is the output of master.out: - Code:
-
INFO [2012-07-24 17:50:02,465] main pid 4988@ns1 DEBUG [2012-07-24 17:50:02,465] main Using property file master.properties DEBUG [2012-07-24 17:50:02,465] main Properties are: DEBUG [2012-07-24 17:50:02,465] main java.vendor = Sun Microsystems Inc. DEBUG [2012-07-24 17:50:02,465] main log4j.appender.FILE = org.apache.log4j.RollingFileAppender DEBUG [2012-07-24 17:50:02,465] main sun.java.launcher = SUN_STANDARD DEBUG [2012-07-24 17:50:02,465] main sun.management.compiler = HotSpot Server Compiler DEBUG [2012-07-24 17:50:02,465] main os.name = Windows Vista DEBUG [2012-07-24 17:50:02,465] main multiverse.db_password = ******* <--(omitted for obvious reasons) DEBUG [2012-07-24 17:50:02,465] main sun.boot.class.path = C:\Program Files\Java\jre1.6.0\lib\resources.jar;C:\Program Files\Java\jre1.6.0\lib\rt.jar;C:\Program Files\Java\jre1.6.0\lib\sunrsasign.jar;C:\Program Files\Java\jre1.6.0\lib\jsse.jar;C:\Program Files\Java\jre1.6.0\lib\jce.jar;C:\Program Files\Java\jre1.6.0\lib\charsets.jar;C:\Program Files\Java\jre1.6.0\classes DEBUG [2012-07-24 17:50:02,465] main sun.desktop = windows DEBUG [2012-07-24 17:50:02,465] main com.sun.management.jmxremote = DEBUG [2012-07-24 17:50:02,465] main java.vm.specification.vendor = Sun Microsystems Inc. DEBUG [2012-07-24 17:50:02,465] main java.runtime.version = 1.6.0-b105 DEBUG [2012-07-24 17:50:02,465] main user.name = Administrator DEBUG [2012-07-24 17:50:02,465] main user.language = en DEBUG [2012-07-24 17:50:02,465] main sun.boot.library.path = C:\Program Files\Java\jre1.6.0\bin DEBUG [2012-07-24 17:50:02,465] main multiverse.world_available_message = DONE INITIALIZING, you can log in now DEBUG [2012-07-24 17:50:02,465] main java.version = 1.6.0 DEBUG [2012-07-24 17:50:02,465] main log4j.rootLogger = DEBUG, FILE DEBUG [2012-07-24 17:50:02,465] main user.timezone = America/New_York DEBUG [2012-07-24 17:50:02,465] main multiverse.master_rdp_port = 9010 DEBUG [2012-07-24 17:50:02,465] main sun.arch.data.model = 32 DEBUG [2012-07-24 17:50:02,465] main java.endorsed.dirs = C:\Program Files\Java\jre1.6.0\lib\endorsed DEBUG [2012-07-24 17:50:02,465] main multiverse.master_tcp_port = 9005 DEBUG [2012-07-24 17:50:02,465] main java.rmi.server.randomIDs = true DEBUG [2012-07-24 17:50:02,465] main sun.cpu.isalist = DEBUG [2012-07-24 17:50:02,465] main sun.jnu.encoding = Cp1252 DEBUG [2012-07-24 17:50:02,465] main file.encoding.pkg = sun.io DEBUG [2012-07-24 17:50:02,465] main file.separator = \ DEBUG [2012-07-24 17:50:02,465] main java.specification.name = Java Platform API Specification DEBUG [2012-07-24 17:50:02,465] main java.class.version = 50.0 DEBUG [2012-07-24 17:50:02,465] main log4j.appender.FILE.layout = org.apache.log4j.PatternLayout DEBUG [2012-07-24 17:50:02,481] main user.country = US DEBUG [2012-07-24 17:50:02,481] main java.home = C:\Program Files\Java\jre1.6.0 DEBUG [2012-07-24 17:50:02,481] main java.vm.info = mixed mode DEBUG [2012-07-24 17:50:02,481] main multiverse.jdbcJarPath = ..othermysql-jdbcmysql-connector-java-3.0.14-production-bin.jar DEBUG [2012-07-24 17:50:02,481] main os.version = 6.0 DEBUG [2012-07-24 17:50:02,481] main multiverse.logs = C:\multiverse\logs\master DEBUG [2012-07-24 17:50:02,481] main multiverse.log_level = 1 DEBUG [2012-07-24 17:50:02,481] main path.separator = ; DEBUG [2012-07-24 17:50:02,481] main java.vm.version = 1.6.0-b105 DEBUG [2012-07-24 17:50:02,481] main multiverse.rotate_logs_on_startup = true DEBUG [2012-07-24 17:50:02,481] main user.variant = DEBUG [2012-07-24 17:50:02,481] main java.awt.printerjob = sun.awt.windows.WPrinterJob DEBUG [2012-07-24 17:50:02,481] main sun.io.unicode.encoding = UnicodeLittle DEBUG [2012-07-24 17:50:02,481] main multiverse.log_rdp_counters = false DEBUG [2012-07-24 17:50:02,481] main log4j.appender.FILE.File = ${multiverse.logs}/${multiverse.loggername}.out DEBUG [2012-07-24 17:50:02,481] main awt.toolkit = sun.awt.windows.WToolkit DEBUG [2012-07-24 17:50:02,481] main user.home = C:\Users\Administrator DEBUG [2012-07-24 17:50:02,481] main java.specification.vendor = Sun Microsystems Inc. DEBUG [2012-07-24 17:50:02,481] main java.library.path = C:\Windows\system32;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\PHP\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Windows\System32\WindowsPowerShell\v1.0\ DEBUG [2012-07-24 17:50:02,481] main java.vendor.url = http://java.sun.com/ DEBUG [2012-07-24 17:50:02,481] main multiverse.loggername = master DEBUG [2012-07-24 17:50:02,481] main java.vm.vendor = Sun Microsystems Inc. DEBUG [2012-07-24 17:50:02,481] main multiverse.db_user = darkfront DEBUG [2012-07-24 17:50:02,481] main java.runtime.name = Java(TM) SE Runtime Environment DEBUG [2012-07-24 17:50:02,481] main java.class.path = C:\multiverse\dist\lib\injected.jar;C:\multiverse\dist\lib\multiverse.jar;C:\multiverse\dist\lib\mars.jar;;C:\multiverse\other\rhino1_5R5\js.jar;C:\multiverse\other\java-getopt-1.0.11.jar;C:\multiverse\other\jython.jar;;C:\multiverse\other\log4j-1.2.14.jar;C:\multiverse\other\bcel-5.2.jar DEBUG [2012-07-24 17:50:02,481] main multiverse.propertyfile = master.properties DEBUG [2012-07-24 17:50:02,512] main log4j.appender.FILE.MaxBackupIndex = 3 DEBUG [2012-07-24 17:50:02,512] main multiverse.db_hostname = localhost DEBUG [2012-07-24 17:50:02,512] main multiverse.db_type = mysql DEBUG [2012-07-24 17:50:02,512] main java.vm.specification.name = Java Virtual Machine Specification DEBUG [2012-07-24 17:50:02,512] main java.vm.specification.version = 1.0 DEBUG [2012-07-24 17:50:02,512] main sun.cpu.endian = little DEBUG [2012-07-24 17:50:02,512] main sun.os.patch.level = Service Pack 2 DEBUG [2012-07-24 17:50:02,512] main java.io.tmpdir = C:\Users\ADMINI~1\AppData\Local\Temp\2\ DEBUG [2012-07-24 17:50:02,512] main java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi DEBUG [2012-07-24 17:50:02,512] main log4j.appender.FILE.MaxFileSize = 50MB DEBUG [2012-07-24 17:50:02,512] main multiverse.db_driver = com.mysql.jdbc.Driver DEBUG [2012-07-24 17:50:02,512] main multiverse.db_name = multiverse DEBUG [2012-07-24 17:50:02,512] main os.arch = x86 DEBUG [2012-07-24 17:50:02,512] main java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment DEBUG [2012-07-24 17:50:02,512] main java.ext.dirs = C:\Program Files\Java\jre1.6.0\lib\ext;C:\Windows\Sun\Java\lib\ext DEBUG [2012-07-24 17:50:02,512] main log4j.appender.FILE.layout.ConversionPattern = %-5p [%d{ISO8601}] %-20t %m%n DEBUG [2012-07-24 17:50:02,512] main user.dir = C:\multiverse\master DEBUG [2012-07-24 17:50:02,512] main line.separator =
DEBUG [2012-07-24 17:50:02,512] main java.vm.name = Java HotSpot(TM) Server VM DEBUG [2012-07-24 17:50:02,512] main file.encoding = Cp1252 DEBUG [2012-07-24 17:50:02,512] main java.specification.version = 1.6 INFO [2012-07-24 17:50:02,512] main The log level is 1 INFO [2012-07-24 17:50:02,512] main Multiverse server version 1.5 0 (- -) DEBUG [2012-07-24 17:50:03,544] main SecureTokenManager.initDomain: reading domain key. keyId=0x1 algorithm=HmacSHA1 DEBUG [2012-07-24 17:50:05,044] main Executing script file: C:\multiverse\master\master_server.py DEBUG [2012-07-24 17:50:05,044] main runPYFile: file=C:\multiverse\master\master_server.py DEBUG [2012-07-24 17:50:05,590] main SecureTokenManager.initMaster: master key keyId=0xc algorithm=DSA DEBUG [2012-07-24 17:50:05,590] main script completed ERROR [2012-07-24 17:50:05,606] main MasterServer.main caught exception multiverse.server.util.MVRuntimeException: could not find class: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at multiverse.server.engine.MasterDatabase.<init>(MasterDatabase.java:28) at multiverse.server.engine.MasterServer.dbConnect(MasterServer.java:40) at multiverse.server.engine.MasterServer.main(MasterServer.java:439)
The last bit shows the exception I keep getting but I dont understand what class it is looking for? it seems java and all thet stuff is found just fine then all the sudden the server cant find it anymore. Any ideas? UPDATE:: this can also be duplicated on a windows 7 pro x64 machine using identical multiverse configurations so i am thinking there is some stupid little setting or variable that is not set correctly somewhere. | |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Fri 27 Jul - 6:21 | |
| World_Dir and World_Name are inherited from the properties file I think.
But seriously no one knows what is causeing this? I have been trying to get a server up for more than a week now. Only thing i have NOT tried is building a linux box to try and run the server on. Surly SOMEONE knows what this problem is. | |
| | | Delurin Head of Platform Development
Posts : 424 Join date : 2011-08-03
| Subject: Re: I have 2 issues. Fri 27 Jul - 7:28 | |
| the jdbc driver path is defined in master.properties for the master server and multiverse.properties for the game server.
| |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Fri 27 Jul - 7:40 | |
| I know, and both files are pointing to the location on my hard drive in which the connector is located, I even moved it to the root of C:\ and changed both .properties files to reflect the change and i still get the same error. Java connector line from BOTH .properties files: - Code:
-
#Path to JDBC driver JAR file # multiverse.jdbcJarPath=../other/mysql-jdbc/mysql-connector-java-3.0.14-production-bin.jar multiverse.jdbcJarPath=C:\\mysql-connector-java-3.1.14-bin.jar
Physical location on hard drive for JDBC driver = C:\mysql-connector-java-3.1.14-bin.jar as seen in this screenshot:
Last edited by AthlonJedi on Fri 27 Jul - 8:08; edited 1 time in total | |
| | | Delurin Head of Platform Development
Posts : 424 Join date : 2011-08-03
| Subject: Re: I have 2 issues. Fri 27 Jul - 7:54 | |
| hmm it is still listing it in the log you posted as this - Code:
-
multiverse.jdbcJarPath = ..othermysql-jdbcmysql-connector-java-3.0.14-production-bin.jar Is the master.properties file in the same location as the master.sh? | |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Fri 27 Jul - 8:19 | |
| Yes they are both in the same location, also now for some reason no logs are produced when using cygwin to start the server but the .bat file does produce logs. Also I changed the line looking for the JDBC driver back to C:\\mysql-connector-java-3.1.14-bin.jar and this is reflected in the latest master.out so it knows the location but I dont understand why it suddenly cant load it once its found it
| |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Fri 27 Jul - 8:39 | |
| Silly question but should there be a repository on the machine the server is running on? | |
| | | Delurin Head of Platform Development
Posts : 424 Join date : 2011-08-03
| Subject: Re: I have 2 issues. Fri 27 Jul - 9:06 | |
| There doesn't need to be unless you are running a local copy of the game or using the world editor.
| |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Fri 27 Jul - 10:39 | |
| ok so I dont understand if this line is presant in the master.out log : - Code:
-
DEBUG [2012-07-25 19:15:07,468] main multiverse.jdbcJarPath = C:\mysql-connector-java-5.1.21-bin.jar
then why cant it find it again later at the end of the log? - Code:
-
ERROR [2012-07-25 19:15:09,984] main MasterServer.main caught exception multiverse.server.util.MVRuntimeException: could not find class: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at multiverse.server.engine.MasterDatabase.<init>(MasterDatabase.java:28) at multiverse.server.engine.MasterServer.dbConnect(MasterServer.java:40) at multiverse.server.engine.MasterServer.main(MasterServer.java:439)
master.properties : - Code:
-
### Server host names and ports multiverse.master_tcp_port=9005 multiverse.master_rdp_port=9010
### Database settings ### Use multiverse.db_url property to use a specific JDBC URL. If not specified, then ### the server constructs it in standard format from the other property values, ### as follows jdbc://db_type/db_hostname/db_name multiverse.db_type=mysql multiverse.db_driver=com.mysql.jdbc.Driver multiverse.db_name=multiverse multiverse.db_user=****<-----------------not that I dont trust anyone or anyone would be able to find my sql server since its behind nat and using localhost but I dont trust ANYONE ) multiverse.db_password=******* multiverse.db_hostname=localhost ### multiverse.db_url=jdbc:dbtype://hostName/databaseName
#Path to JDBC driver JAR file #multiverse.jdbcJarPath=../other/mysql-jdbc/mysql-connector-java-3.1.14-production-bin.jar multiverse.jdbcJarPath=C:\\mysql-connector-java-5.1.21-bin.jar\\
### ### The default log level of the server. ### ### MV-Level log4j Level ### 0 TRACE ### 1 DEBUG ### 2 INFO ### 3 WARN ### 4 ERROR ### multiverse.log_level=1 multiverse.rotate_logs_on_startup=true
### ### Should old logs be deleted on startup? ### #multiverse.delete_logs_on_startup=true
### ### log4j configuration. The multiverse.log_level over-rides the ### log4j log level. ### log4j.appender.FILE = org.apache.log4j.RollingFileAppender log4j.appender.FILE.File = ${multiverse.logs}/${multiverse.loggername}.out log4j.appender.FILE.MaxFileSize = 50MB log4j.appender.FILE.MaxBackupIndex=3 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%-5p [%d{ISO8601}] %-20t %m%n
#log4j.appender.ErrorLog = org.apache.log4j.RollingFileAppender #log4j.appender.ErrorLog.Threshold = ERROR #log4j.appender.ErrorLog.File = ${multiverse.logs}/errors.out #log4j.appender.ErrorLog.MaxFileSize = 50MB #log4j.appender.ErrorLog.MaxBackupIndex=3 #log4j.appender.ErrorLog.layout=org.apache.log4j.PatternLayout #log4j.appender.ErrorLog.layout.ConversionPattern=%-5p [%d{ISO8601}] %-20t %m%n
log4j.rootLogger=DEBUG, FILE
### ### Should we use class files from the /build hierarchy ### instead of the jar files from the /dist hierarchy? ### #multiverse.use_class_files=true
### ### Should we log various RDP counters ### multiverse.log_rdp_counters=false
### ### The default when enabled is to log CPU times an interval of ### 5000 ms, at log_level 2, which is INFO ### #multiverse.cputime_logging_interval=5000,2
### ### Log message agent statistics ### #multiverse.message_agent_stats=true
### ### This number is the number of maximum milliseconds that the ### packet aggregator will delay sending a packet in hopes that ### more packets can be added to it. By default, it is 25ms. ### You can change the delay time, or disable packet aggregation ### by setting the aggregation interval is zero ### #multiverse.packet_aggregation_interval=0
### ### Message printed on console when the world is available. ### The world is available when the "Domain" plugin dependency is ### satisfied. ### multiverse.world_available_message = DONE INITIALIZING, you can log in now
my master.sh - Code:
-
#!/bin/sh (shopt -s igncr) 2>/dev/null && shopt -s igncr; # Workaround Cygwin line-ending issue
# This batch file runs the Multiverse sever processes on Linux in bash shell or on Windows/Cygwin # You must have installed Java, a database, JDBC driver, and the Multiverse servers # Copyright 2007 The Multiverse Network, Inc. # Thanks to Judd-MGT for contributions.
# Optional: Set MV_HOME env. variable to be able to run this script from an arbitrary directory. # Otherwise, this script assumes it is being run from MV_HOME/bin working directory # NOTE: Doesn't work if you set MV_HOME. export MV_HOME=${MV_HOME:-".."}
# Optional: Set DEFAULT_MV_PROPERTYFILE env. variable to set the default property file, otherwise use multiverse.properties # when no property file is specified as final argument on command line. DEFAULT_MV_PROPERTYFILE=${DEFAULT_MV_PROPERTYFILE:-"master.properties"}
### Set to true to enable JMX management and monitoring (either here or in env. variable. ENABLE_MGMT=${ENABLE_MGMT:-"false"}
function kill_process () { if [ $verbose -gt 0 ]; then echo -en "stopping $1 " fi kill $2 > /dev/null 2>&1 result=$? if [ $verbose -gt 0 ]; then if [ $result = 0 ]; then echo STOPPED else echo NOT RUNNING fi fi }
function check_process () { ps -e ho pid | grep $1 > /dev/null 2>&1 result=$? if [ $result = 1 ]; then echo FAILED else echo SUCCESS fi }
function status_process () { if [ x$2 == x ]; then return fi ps -e ho pid | grep $2 > /dev/null 2>&1 result=$? if [ $result = 0 ]; then echo -e "$1" RUNNING else echo -e "$1" NOT RUNNING fi }
function archive_log_dir () { rm -rf "${MV_LOGS}.old" mv "${MV_LOGS}" "${MV_LOGS}.old" }
function start_server () {
if [ X$ARCHIVE_LOG_DIR = X"true" ]; then if [ -d "${MV_LOGS}" ]; then archive_log_dir fi fi
# Use these flags for profiling HPROF_FLAGS="-agentlib:hprof=heap=sites,depth=8" GCDETAILS_FLAGS="-XX:+PrintGC -XX:+PrintGCDetails"
# Linux: Use strace with the following flags to monitor one of the # multiverse server processes. # strace -f -e trace=\!futex,gettimeofday,clock_gettime java \
echo "*** Starting master server ***" if [ ! -d "${MV_RUN}" ] then mkdir -p "${MV_RUN}" fi
if [ ! -d "${MV_LOGS}" ] then mkdir -p "${MV_LOGS}" fi
rm -f ${MV_RUN}/*.pid
if [ $DELETE_LOGS_ON_STARTUP = "true" ]; then rm "${MV_LOGS}"/*.out* fi
if $ENABLE_MGMT = "true"; then echo "Enabling JMX mgmt & monitoring" JAVA_FLAGS="${JAVA_FLAGS} $JMX_FLAGS" fi
if [ $verbose -gt 0 ]; then echo MV_HOME is $MV_HOME if [ $USE_CLASS_FILES = "true" ]; then echo "Using .class files from the /build hierarchy" else echo "Using .jar files from the /dist hierarchy" fi echo Using property file $MV_PROPERTYFILE echo Using log directory $MV_LOGS echo Using common directory $MV_COMMON, bin directory $MV_BIN echo "JAVA_FLAGS=\"${JAVA_FLAGS}\"" fi
# Increase the file descriptor limit up to the hard limit # Linux: Use /etc/security/limits.conf to set the hard limit ulimit -n hard
if [ $verbose -gt 0 ]; then echo -en "Starting master server: \t" fi
java ${JAVA_FLAGS} \ -Dmultiverse.loggername=master \ multiverse.server.engine.MasterServer \ $CMDLINE_PROPS \ $MV_BIN/master_server.py \ &
echo $! > "${MV_RUN}"/master.pid
if [ $verbose -gt 0 ]; then check_process $(cat "${MV_RUN}"/master.pid) fi
echo "Wait for finished initializing msg... " }
function stop_server () { echo "*** Stopping master server ***" kill_process "master server " $(cat "${MV_RUN}"/master.pid) }
function status_server () { down=0 status_process "master server " $(cat "${MV_RUN}"/master.pid) exit ${down} }
function test_server () { echo "JAVA_FLAGS=\"${JAVA_FLAGS}\"" java $JAVA_FLAGS multiverse.server.util.SecureTokenManager exit 0 if [ $verbose -gt 0 ]; then java $JAVA_FLAGS multiverse.simpleclient.SimpleClient -e ${MV_COMMON}/simpleclient.props -s $MV_COMMON/simpleclient.py --exit-after-login else java $JAVA_FLAGS multiverse.simpleclient.SimpleClient -e ${MV_COMMON}/simpleclient.props -s ${MV_COMMON}/simpleclient.py --exit-after-login > /dev/null 2>&1 fi result=$? if [ $verbose -gt 0 ]; then if [ $result == 0 ]; then echo "login test: PASS" else echo "login test: FAIL" fi fi exit ${result} }
function import_property_file () { for file do if [ -f $file ]; then files="$files $file" fi done if [ -n "$files" ]; then awk -f "$MV_BIN/prop2sh.awk" $files > "$MV_BIN/_javaprops_" . "$MV_BIN/_javaprops_" rm -f "$MV_BIN/_javaprops_" fi }
verbose=0 while getopts "hvw:p:CMP:Aa" arg; do case "$arg" in h) echo "$0: usage: $0 [-hvCM] [-p propertyfilename] (start|stop|status|test)" ;; v) let verbose++ ;; p) MV_PROPERTYFILE=$OPTARG ;; C) JVM_FLAG=-client ;; M) ENABLE_MGMT=true JMX_FLAGS="-Dcom.sun.management.jmxremote" ;; P) CMDLINE_PROPS="$CMDLINE_PROPS -P$OPTARG" ;; A) AGGRESIVE="-XX:CompileThreshold=200 -Xnoclassgc -XX:+RelaxAccessControlCheck" ;; a) ARCHIVE_LOG_DIR=true ;; esac done shift $((OPTIND-1))
if [ $(uname -o) = "Cygwin" ]; then MV_HOME_UNIX=$(cygpath -u "${MV_HOME}") else MV_HOME_UNIX="$MV_HOME" fi
# where the local startup configs are stored, such as the port number # and log level MV_BIN=${MV_BIN:-"${MV_HOME}/bin"}
# where common config files are stored, such as plugin logic MV_COMMON=${MV_COMMON:-"${MV_HOME}/config/common"}
MV_PROPERTYFILE=${MV_PROPERTYFILE:-"${MV_BIN}/${DEFAULT_MV_PROPERTYFILE}"}
import_property_file $MV_PROPERTYFILE
if [ -z "$ARCHIVE_LOG_DIR" -a -n "$multiverse_archive_logs_on_startup" ] ; then ARCHIVE_LOG_DIR=$multiverse_archive_logs_on_startup fi
# Determine if we should use .class files from the build hierarchy, # or .jar files from the dist hierarchy. To run the property getter # before MV_JAR is set, we always use the dist version of the property # getter. USE_CLASS_FILES=${USE_CLASS_FILES:-$(java -cp ${MV_HOME}/dist/lib/multiverse.jar -Dmultiverse.propertyfile=${MV_PROPERTYFILE} multiverse.scripts.PropertyGetter multiverse.use_class_files)}
RHINO=${RHINO:-"${MV_HOME}/other/rhino1_5R5/js.jar"} GETOPT=${GETOPT:-"${MV_HOME}/other/java-getopt-1.0.11.jar"} JYTHON=${JYTHON:-"${MV_HOME}/other/jython.jar"} LOG4J=${LOG4J:-"${MV_HOME}/other/log4j-1.2.14.jar"} BCEL=${BCEL:-"${MV_HOME}/other/bcel-5.2.jar"}
if [ $USE_CLASS_FILES = "true" ]; then MV_JAR=${MV_JAR:-"${MV_HOME}/build"} MARS_JAR=${MARS_JAR:-"${MV_HOME}/build"} INJECTED_JAR=${INJECTED_JAR:-"${MV_HOME}/inject"} else MV_JAR=${MV_JAR:-"${MV_HOME}/dist/lib/multiverse.jar"} MARS_JAR=${MARS_JAR:-"${MV_HOME}/dist/lib/mars.jar"} INJECTED_JAR=${INJECTED_JAR:-"${MV_HOME}/dist/lib/injected.jar"} fi
JDBC=${JDBC:-$(java -cp $MV_JAR -Dmultiverse.propertyfile=${MV_PROPERTYFILE} multiverse.scripts.PropertyGetter multiverse.jdbcJarPath)}
if [ $(uname -o) == "Cygwin" ]; then export PATH=$(cygpath "$JAVA_HOME"/bin):.:$PATH MV_CLASSPATH="$RHINO;$JDBC;$INJECTED_JAR;$MV_JAR;$MARS_JAR;$GETOPT;$JYTHON;$LOG4J;$BCEL;." else MV_CLASSPATH="${RHINO}:${JDBC}:${INJECTED_JAR}:${MV_JAR}:${MARS_JAR}:${GETOPT}:${JYTHON}:${LOG4J}:${BCEL}:." fi # HotSpot tracking flags: -XX:+PrintCompilation -XX:+CITime JVM_FLAG="${JVM_FLAG:-"-server"} $AGGRESIVE" JAVA_FLAGS="-cp ${MV_CLASSPATH} -Dmultiverse.propertyfile=${MV_PROPERTYFILE} ${JAVA_FLAGS}" JAVA_FLAGS="${JVM_FLAG} ${JAVA_FLAGS}"
if [ X"$MV_HOSTNAME" != "X" ]; then CMDLINE_PROPS="$CMDLINE_PROPS -Pmultiverse.hostname=${MV_HOSTNAME}" fi
# This is in local OS format MV_LOGS=${MV_LOGS:-"${MV_HOME}/logs/master"} DELETE_LOGS_ON_STARTUP=${MV_DELETE_LOGS_ON_STARTUP:-$(java $JAVA_FLAGS multiverse.scripts.PropertyGetter multiverse.delete_logs_on_startup)}
# This should always be in "unix" format if [ $(uname -o) = "Cygwin" ]; then MV_RUN=${MV_RUN:-$(cygpath -w ${MV_BIN}/run/master)} else MV_RUN=${MV_RUN:-${MV_BIN}/run/master} fi
JAVA_FLAGS="${JAVA_FLAGS} -Dmultiverse.logs=${MV_LOGS}"
case "$1" in
start) start_server ;;
stop) stop_server ;;
status) status_server ;;
restart) stop_server start_server ;;
test) test_server ;; esac
multiverse.properties : - Code:
-
### Server host names and ports multiverse.msgsvr_hostname=www.myfqdnhere.net <--( those that dont know, FQDN = Fully Qualified Domain Name aka www.example.net ) multiverse.msgsvr_port=20374 multiverse.worldmgrport=5040 ### Proxy server settings. To enable remote clients to connect, specify IP address or DNS hostname multiverse.proxyserver=www.myfqdnhere.net multiverse.proxyport=5050
### Voice server host and port number multiverse.voiceserver=www.myfqdnhere.net multiverse.voiceport=5051
### Options for VoiceServer testing
### Should the voice plugin automatically create a positional and/or ### non-positional voice group(s) with the specified numbers? multiverse.precreated_positional_voice_group=1 #multiverse.precreated_nonpositional_voice_group=5
### Should it auto-create a nonpositional voice group because a client ### connects with the number of a group and the group doesn't exist? #multiverse.autocreate_referenced_voice_groups=true
### ### Should the voice server record voices? ### #multiverse.record_voices=true
### Database settings ### Use multiverse.db_url property to use a specific JDBC URL. If not specified, then ### the server constructs it in standard format from the other property values, ### as follows jdbc://db_type/db_hostname/db_name multiverse.db_type=mysql multiverse.db_driver=com.mysql.jdbc.Driver multiverse.db_name=multiverse multiverse.db_user=********* multiverse.db_password=********** multiverse.db_hostname=localhost ### multiverse.db_url=jdbc:dbtype://hostName/databaseName
# specifies how long to wait for all plugin dependencies to be # resolved. after waiting this period of time (in seconds), # if all dependencies have not been met, then we report an error message. multiverse.startup_timeout=120
#Path to JDBC driver JAR file # multiverse.jdbcJarPath=../other/mysql-jdbc/mysql-connector-java-3.0.14-production-bin.jar multiverse.jdbcJarPath=C:\\mysql-connector-java-5.1.21-bin.jar\\
### ### If multiverse.mvwfile property is not specified, it defaults to MV_HOME/config/worldname/worldname.mvw ### Example below is Windows path; On Linux/Unix, use forward slashes instead of double backslashes. multiverse.worldname=sampleworld ###multiverse.mvwfile=c:\\multiverse\\config\\sampleworld\\sampleworld.mvw
### ### The default log level of the server. ### ### MV-Level log4j Level ### 0 TRACE ### 1 DEBUG ### 2 INFO ### 3 WARN ### 4 ERROR ### multiverse.log_level=1
### ### Rotate log files when server starts ### multiverse.rotate_logs_on_startup=true
### ### Archive log files when server starts. Logs are moved to directory ### "<world-name>.old". Should set rotate_logs_on_startup to false when ### this option is true. ### #multiverse.archive_logs_on_startup=true
### ### Should old logs be deleted on startup? ### #multiverse.delete_logs_on_startup=true
### ### log4j configuration. The multiverse.log_level over-rides the ### log4j log level. ### log4j.appender.FILE = org.apache.log4j.RollingFileAppender log4j.appender.FILE.File = ${multiverse.logs}/${multiverse.loggername}.out log4j.appender.FILE.MaxFileSize = 50MB log4j.appender.FILE.MaxBackupIndex=3 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%-5p [%d{ISO8601}] %-20t %m%n
#log4j.appender.ErrorLog = org.apache.log4j.RollingFileAppender #log4j.appender.ErrorLog.Threshold = ERROR #log4j.appender.ErrorLog.File = ${multiverse.logs}/errors.out #log4j.appender.ErrorLog.MaxFileSize = 50MB #log4j.appender.ErrorLog.MaxBackupIndex=3 #log4j.appender.ErrorLog.layout=org.apache.log4j.PatternLayout #log4j.appender.ErrorLog.layout.ConversionPattern=%-5p [%d{ISO8601}] %-20t %m%n
log4j.rootLogger=DEBUG, FILE
### ### Should we use class files from the /build hierarchy ### instead of the jar files from the /dist hierarchy? ### #multiverse.use_class_files=true
### ### Should we log histograms of time-in-queue and processing time ### for proxy messages? If so, what should the reporting interval ### be? (Defaults to 5000ms). ### multiverse.log_proxy_histograms=true #multiverse.log_proxy_histograms_interval=5000
### ### Should we log various RDP counters ### multiverse.log_rdp_counters=false
### ### Should we log various VoicePlugin counters ### multiverse.log_voice_counters=true
### ### The default when enabled is to log CPU times an interval of ### 5000 ms, at log_level 2, which is INFO ### #multiverse.cputime_logging_interval=5000,2
### ### Log message agent statistics ### #multiverse.message_agent_stats=true
### ### This number is the number of maximum milliseconds that the ### packet aggregator will delay sending a packet in hopes that ### more packets can be added to it. By default, it is 25ms. ### You can change the delay time, or disable packet aggregation ### by setting the aggregation interval is zero ### #multiverse.packet_aggregation_interval=0
### ### Maximum objects per quad tree node before dividing. ### #multiverse.quad_tree_node_max_objects=30
### ### Maximum depth of the quad tree. Should be less than 32. ### #multiverse.quad_tree_max_depth=20
### ### Message printed on console when the world is available. ### The world is available when the "Domain" plugin dependency is ### satisfied. ### multiverse.world_available_message = DONE INITIALIZING, you can log in now
### Plugin type startup dependencies ### Dependencies are expressed in terms of plugin types, not plugin names. ### The dependency is satisfied when the expected number of plugins have ### started. The number of expected plugins is controlled by flags to ### the DomainServer (see PLUGIN_TYPES in multiverse.sh) ### ### Every plugin type should have a "plugin_dep" property, even if it ### has no dependencies. multiverse.plugin_dep.Login=ObjectManager,Instance multiverse.plugin_dep.Instance=ObjectManager,Quest,MobManager,Inventory,WorldManager multiverse.plugin_dep.Proxy=Instance,Voice multiverse.plugin_dep.Voice=Instance multiverse.plugin_dep.MobManager=ObjectManager,WorldManager,Inventory,Quest multiverse.plugin_dep.sampleworld.MobManager=ObjectManager,WorldManager,Inventory,Quest,Combat multiverse.plugin_dep.ObjectManager= multiverse.plugin_dep.WorldManager= multiverse.plugin_dep.Inventory= multiverse.plugin_dep.Quest= multiverse.plugin_dep.Trainer= multiverse.plugin_dep.ClassAbility= multiverse.plugin_dep.Combat= multiverse.plugin_dep.Domain=Instance,Proxy,Voice
Screenshot of the JDBC driver location (c:\mysql-connector-java-x.x.xx-bin.jar ) This is running on a single core intel p4 as well so I know its not a multicore issue like some engines have atm. IDK , maybe some freash eyes looking at all this will spot the problem cause I am truely at a loss, If I change it to use the other JDBC driver I get the same result so I just dont know what the problem could be. I am trying to run the master server on Windows Server 2008 Enterprize <--(NOT 08 R2) because I have my DNS, Mysql, Webserver, mail and a few other servers running on this machine. I really dont want to migrate everything to a *nix server atm but I may just toss one together and set up the Linux multiverse server and see if I get a different result ( most likely I will cause Linux just works ) | |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Mon 30 Jul - 5:28 | |
| So I guess we just gave up on getting this to work? How helpful............... | |
| | | AthlonJedi Administrator
Posts : 213 Join date : 2012-07-19 Location : Walkerton, Indiana
| Subject: Re: I have 2 issues. Sat 4 Aug - 5:57 | |
| so any progress with this ? anyone have any sugestions at all? | |
| | | Sponsored content
| Subject: Re: I have 2 issues. | |
| |
| | | | I have 2 issues. | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |