Multiverse3D Open Source Release

SirGolan

01-04-2008 21:52:18

Multiverse3D is an MMORPG framework I've been working on for quite some time now. I just released an early version (0.3) as open source. It uses Python-Ogre, Twisted, and ODE for physics. You can check it out at www.mv3d.com. Here are some screenshots (which decidedly look similar to the OgreForest demo now that I added in trees and grass :) ):






There's also an in game video of the MV3D client.

You can get the 0.3 release on the Multiverse3D download page.

Mike

bharling

02-04-2008 19:54:25

Looks cool, ( though i already said that! ), but I can't get it to run, seems like something is amiss with the pyOpenSSL installer in the pre-requisites package:



Traceback (most recent call last):
File "C:\mv3d\mv3d-0.3\RunClient.py", line 25, in <module>
from mv3d.net.client import ServiceLoc
File "C:\mv3d\mv3d-0.3\mv3d\net\client.py", line 17, in <module>
from twisted.internet import reactor, ssl, defer
File "C:\Python25\lib\site-packages\twisted\internet\ssl.py", line 46, in <module>
from OpenSSL import SSL
File "C:\Python25\lib\site-packages\OpenSSL\__init__.py", line 11, in <module>
import rand, crypto, SSL, tsafe
ImportError: DLL load failed: The specified procedure could not be found.


Can you recomend a fix?

SirGolan

02-04-2008 21:59:10

Someone else just reported that to me as well. The prereqs download is missing the actual OpenSSL library installer. You can get it here:

http://www.slproweb.com/download/Win32O ... 0_9_8g.exe

Once you get the client going, if you don't want to run your own server, you can connect to the development server by replacing localhost with alpha.mv3d.com in client.conf. You'll also want to comment out (with #) the defaultPC line so you can select which PC to log in as.

I'm hoping to give people the ability to add characters to their accounts, but for now, you can just use the default.

Thanks,

Mike

bharling

02-04-2008 22:56:23

aha thought it would be something like that - thanks, will have a look at it now :)


EDIT:

Ah - also, you need to make your resources.cfg relative, all the paths in there are absolute at the moment. eg: i:\projects\ ...

EDIT 2:

Sorry bout the constant problems :wink: Also, I had to copy my plugins.cfg from python-ogre and modify it to get over a renderer error on start up. You might want to include a plugins folder and plugins.cfg with the release for easy installation. Its working now though!

SirGolan

02-04-2008 23:05:43


Ah - also, you need to make your resources.cfg relative, all the paths in there are absolute at the moment.

Thanks for letting me know, I just updated the downloads (unless you are using trunk in SVN, which is still absolute :) ). It's also missing plugins.cfg, which I added as well. I've got to find a better way to manage those files though since it's annoying to have to edit them depending on which system the client is running on.

bharling

02-04-2008 23:08:58

aha pipped to the edit post.. :lol:

bharling

02-04-2008 23:16:15

Hmm... I'm being a dunce, and need a quickstart guide I think.

So I've got it to run now, but I can't connect to any server. Does it automatically start a local server along with the client, or is there another script I have to run to get a server running on localhost?

I tried changing to the dev server you've outlined above, but get the same connection refused error.

Thanks for letting me know, I just updated the downloads (unless you are using trunk in SVN, which is still absolute Smile ). It's also missing plugins.cfg, which I added as well. I've got to find a better way to manage those files though since it's annoying to have to edit them depending on which system the client is running on.

You don't have to edit the files on a per-system basis, if you keep resources.cfg and plugins.cfg relative, and bundle the plugins folder with the release ( admittedly this will push up the size of the distro a bit ) then it should all play 'out of the box'. Note that by plugins I mean just the DLLs, you don't need to include the .pyo's etc. if your end users have python-ogre already.

SirGolan

02-04-2008 23:58:29

Hmm.. Yeah, I don't see you in the logs. Can you hit https://alpha.mv3d.com:8080 in a browser and see if you get a login window? You can create an account there if you want, but currently there isn't any way to attach it to a PC. :)

Do you get any message on the console? (assuming you're running from a dos prompt)

You can actually run a local server, but there are a couple of other dependencies, and one isn't quite so easy to set up in Windows. One of them is Nevow from Divmod (http://www.divmod.org). The other is Combinator also from Divmod, which is a little harder to install. It may work without Combinator, as I used to run it that way, but the one other person who has tried so far couldn't get it going.

bharling

03-04-2008 00:22:07

Yes that works, I've created an account on there now.

what port is the game server visible on? currently it seems to be using 1999

the console error I get is the same as in the client window, 'could not establish a connection because the host actively refused it'. I get that for both localhost and the dev server.

SirGolan

03-04-2008 00:48:26


what port is the game server visible on? currently it seems to be using 1999

Yeah, the login service runs on the https 8080 port while the actual game talks on tcp/1999.


the console error I get is the same as in the client window, 'could not establish a connection because the host actively refused it'. I get that for both localhost and the dev server.

That is very strange. I just tried connecting to both ports from a remote host and it worked, though I don't have the ability to run the client remotely right now to test fully. The only two things I can think of is that it could be some sort of software firewall on your machine blocking access, or the client.conf file still has a reference to localhost in it somewhere.

I apologize for it being a bit hard to get working. I've been trying to get py2exe working, but so far no luck (it doesn't seem to find _ogre_.pyd no matter where I put it).

bharling

03-04-2008 12:06:25

Hey no worries! this is something i'm willing to pursevere with, I'm itching to try it out.

Are you looking for any help with this project? I'm pretty experienced with PO and writing shaders these days. Along with blender of course.

strange that you're not having any luck with py2exe, its always worked first time for me, even with a large cumbersome PO application.

SirGolan

03-04-2008 23:48:01


Are you looking for any help with this project? I'm pretty experienced with PO and writing shaders these days. Along with blender of course.

strange that you're not having any luck with py2exe, its always worked first time for me, even with a large cumbersome PO application.


Help in any form is very much appreciated! And I am fairly clueless when it comes to shaders especially. I'd suggest checking out the forums, and if you register on the wiki and let me know your username, I'll give you permissions to edit things.

I'm not 100% sure that the py2exe problem would happen on a system that didn't have Ogre installed since for some reason, it seems to still use my python install's site-packages dir to import some things from. I previously had MV3D working with py2exe back when I used pyogre.

bharling

05-04-2008 10:29:36

Hmm, I think something might be wrong in your setup somewhere, you may want to try re-installing python and python-ogre. I've frozen a python-ogre application with py2exe and deployed it on a clean system before with no problems. py2exe should include all the modules you need in the package automatically, and shouldn't try to import anything from site-packages, apart from during the compile process when you're actually making the exe.

I'll try building a binary on my system today and let you know how it goes.

SirGolan

07-04-2008 22:53:41

That would definitely be cool. It'd make it so much easier for people to try it out. One of the things I should warn you about is that MV3D uses __import__ a lot, so what I've had to do in the past for the py2exe client is copy mv3d/* into the dist dir (excluding mv3d/server since that's not needed).

pmpp

08-04-2008 20:42:26

hi, great job and i thank you -a lot - for sharing the code, it helped me to begin with python-ogre, which is really great.

by the way maybe you'll have to change the name of your project before v1.0 because there's already some business in the same domain here : http://www.multiverse.net

keep the hard work.

SirGolan

08-04-2008 22:00:26

hi, great job and i thank you -a lot - for sharing the code, it helped me to begin with python-ogre, which is really great.

Cool! I'm glad it helped.


by the way maybe you'll have to change the name of your project before v1.0 because there's already some business in the same domain here : http://www.multiverse.net
keep the hard work.


Yeah, not sure what to do about that since my first (non Python) MV3D release was years before they even thought of their project-- way back in '99 or so.