Page 2 of 3

Re: Client Installation

PostPosted: Tue Apr 01, 2008 3:28 pm
by SirGolan
I just checked out the server logs to find out what happened. I think there may be a bug in the timezone handling code of the login process. I've never tested it from another timezone before, and unless the time on your computer is way off, it's apparently got a bug. As part of the login process, the client sends an encrypted token it generates which includes the time to the server. The server validates that the time is within a few minutes of being correct to ensure that no one stole your token and is trying to reuse it. Anyway, something's up with that.

It's also possible that your timezone is off, or python is somehow getting the wrong timezone on Vista. If you have a second, try this in python:

Code: Select all
mike@nighteyes:~/Projects/MV3D/branches/version-0.3$ python
Python 2.4.4 (#2, Apr  5 2007, 20:11:18)
Type "help", "copyright", "credits" or "license" for more information.
>>> from time import timezone
>>> timezone
18000


Just let me know what the value is, and if it corresponds to your actual (hours_from_UTC) * -60.

Re: Client Installation

PostPosted: Tue Apr 01, 2008 3:53 pm
by multiverseuser
Hello,

Here is my timing information.

C:\Users\Home>python
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from time import timezone
>>> timezone
28800
>>>
^C
C:\Users\Home>time
The current time is: 8:43:39.65

C:\Users\Home>date
The current date is: Tue 04/01/2008

I'm also using python 2.5

Thanks,

Re: Client Installation

PostPosted: Tue Apr 01, 2008 4:10 pm
by multiverseuser
Do I need pyTime?

I was reading how to configure twisted and I noticed there was a python timezone.

Well... I tried it but I get the same number.

Re: Client Installation

PostPosted: Tue Apr 01, 2008 4:11 pm
by multiverseuser
Actually is pyTZ not pyTime, Sorry

Re: Client Installation

PostPosted: Tue Apr 01, 2008 4:39 pm
by SirGolan
I just removed the time check from the server, so with any luck, you should be able to connect now. I looked at the code, and I think I misunderstood how time.timezone deals with daylight savings time.

Mike

Re: Client Installation

PostPosted: Tue Apr 01, 2008 10:36 pm
by multiverseuser
hello,

I do not get the login windows anymore but I get the following error
I think is missing a module call caelum.


C:\multiverse3d>RunClient.py
server MV3D Client initialization successful.
Import Failed!
['C:\\multiverse3d',
'C:\\Windows\\system32\\python25.zip',
'C:\\Python25\\DLLs',
'C:\\Python25\\lib',
'C:\\Python25\\lib\\plat-win',
'C:\\Python25\\lib\\lib-tk',
'C:\\Python25',
'C:\\Python25\\lib\\site-packages',
'C:\\Python25\\lib\\site-packages\\PIL',
'C:\\Python25\\lib\\site-packages\\win32',
'C:\\Python25\\lib\\site-packages\\win32\\lib',
'C:\\Python25\\lib\\site-packages\\Pythonwin',
'C:\\Python25\\lib\\site-packages\\wx-2.8-msw-ansi', 'Extern']
module= mv3d.client.view.realm class= odeRealmViewClient
Unhandled error in Deferred:
Traceback (most recent call last):
--- <exception caught here> ---
File "c:\python25\lib\site-packages\twisted\internet\defer.py", line 105, in maybeDeferred
result = f(*args, **kw)
File "C:\multiverse3d\mv3d\util\classgen.py", line 252, in readyJellyFor
r = self.getConstructor()
File "C:\multiverse3d\mv3d\util\classgen.py", line 198, in getConstructor
return self.getConstructor_construct()
File "C:\multiverse3d\mv3d\util\classgen.py", line 238, in getConstructor_construct raise
File "C:\multiverse3d\mv3d\util\classgen.py", line 233, in getConstructor_construct
locals(), [self.classname])
File "C:\multiverse3d\mv3d\client\view\realm.py", line 9, in <module>
import ogre.addons.caelum as caelum
exceptions.ImportError: No module named caelum
Traceback (most recent call last):
Failure: twisted.internet.defer.FirstError: FirstError(<twisted.python.failure.Failure <type 'exceptions.ImportError'>>, 0)
Import Failed!
['C:\\multiverse3d',
'C:\\Windows\\system32\\python25.zip',
'C:\\Python25\\DLLs',
'C:\\Python25\\lib',
'C:\\Python25\\lib\\plat-win',
'C:\\Python25\\lib\\lib-tk',
'C:\\Python25',
'C:\\Python25\\lib\\site-packages',
'C:\\Python25\\lib\\site-packages\\PIL',
'C:\\Python25\\lib\\site-packages\\win32',
'C:\\Python25\\lib\\site-packages\\win32\\lib',
'C:\\Python25\\lib\\site-packages\\Pythonwin',
'C:\\Python25\\lib\\site-packages\\wx-2.8-msw-ansi', 'Extern']
module= mv3d.client.view.realm class= Ogre3DBasicSkyView
Unhandled error in Deferred:
Traceback (most recent call last):
--- <exception caught here> ---
File "c:\python25\lib\site-packages\twisted\internet\defer.py", line 105, in maybeDeferred
result = f(*args, **kw)
File "C:\multiverse3d\mv3d\util\classgen.py", line 252, in readyJellyFor
r = self.getConstructor()
File "C:\multiverse3d\mv3d\util\classgen.py", line 198, in getConstructor
return self.getConstructor_construct()
File "C:\multiverse3d\mv3d\util\classgen.py", line 238, in getConstructor_construct raise
File "C:\multiverse3d\mv3d\util\classgen.py", line 233, in getConstructor_construct
locals(), [self.classname])
File "C:\multiverse3d\mv3d\client\view\realm.py", line 9, in <module>
import ogre.addons.caelum as caelum
exceptions.ImportError: No module named caelum
Traceback (most recent call last):
Failure: twisted.internet.defer.FirstError: FirstError(<twisted.python.failure.Failure <type 'exceptions.ImportError'>>, 0)
Traceback (most recent call last):
--- <exception caught here> ---
File "C:\Python25\lib\site-packages\twisted\internet\selectreactor.py", line 146, in _doReadOrWrite
why = getattr(selectable, method)()
File "c:\python25\lib\site-packages\twisted\internet\tcp.py", line 362, in doRead
return self.protocol.dataReceived(data)
File "C:\Python25\lib\site-packages\twisted\spread\banana.py", line 216, in dataReceived
gotItem(item)
File "C:\Python25\lib\site-packages\twisted\spread\banana.py", line 146, in gotItem
self.callExpressionReceived(item)
File "C:\Python25\lib\site-packages\twisted\spread\banana.py", line 111, in callExpressionReceived
self.expressionReceived(obj)
File "C:\Python25\lib\site-packages\twisted\spread\pb.py", line 523, in expressionReceived
method(*sexp[1:])
File "C:\Python25\lib\site-packages\twisted\spread\pb.py", line 892, in proto_answer
d.callback(self.unserialize(netResult))
File "C:\Python25\lib\site-packages\twisted\spread\pb.py", line 784, in unserialize
return unjelly(sexp, self.security, None, self)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 1136, in unjelly
return _Unjellier(taster, persistentLoad, invoker).unjellyFull(sexp)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 633, in unjellyFull
o = self.unjelly(obj)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 670, in unjelly
ret = thunk(obj[1:])
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 795, in _unjelly_list
self.unjellyInto(l, elem, lst[elem])
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 748, in unjellyInto
o = self.unjelly(jel)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 657, in unjelly
val = method(self, obj)
File "C:\Python25\lib\site-packages\twisted\spread\flavors.py", line 456, in unjellyFor
cProxy.setCopyableState(unjellier.unjelly(jellyList[2]))
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 670, in unjelly
ret = thunk(obj[1:])
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 849, in _unjelly_dictionary
self.unjellyInto(kvd, 1, v)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 748, in unjellyInto
o = self.unjelly(jel)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 670, in unjelly
ret = thunk(obj[1:])
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 849, in _unjelly_dictionary
self.unjellyInto(kvd, 1, v)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 748, in unjellyInto
o = self.unjelly(jel)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 670, in unjelly
ret = thunk(obj[1:])
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 768, in _unjelly_reference
o = self.unjelly(exp)
File "C:\Python25\lib\site-packages\twisted\spread\jelly.py", line 676, in unjelly
"Module %s not allowed (in type %s)." % (modName, jelType))
twisted.spread.jelly.InsecureJelly: Module mv3d.server.model.realm not allowed (
in type mv3d.server.model.realm.odeRealmView).

Re: Client Installation

PostPosted: Wed Apr 02, 2008 12:09 am
by SirGolan
Oh, I think that you may need to get the updated Python-Ogre 1.1 from here: http://downloads.sourceforge.net/python ... g_mirror=0

I keep forgetting that the base 1.1 release didn't include that library.

Re: Client Installation

PostPosted: Wed Apr 02, 2008 1:09 am
by multiverseuser
Hello,

Yes, finally I was able to login successfully

I installed the package PythonOgre_1.1.b.exe by doing

Code: Select all
c:\download>python setup.py install


I figured this EXE patched my current version of python-ogre.
So I run Runclient.py

Thanks for all your help.

I have a few more questions but I will create another topic

Re: Client Installation

PostPosted: Thu Apr 03, 2008 11:14 pm
by multiverseuser
[original post deleted]

Client Installation (Windows)
I edited out all the instructions found here is favor of the wiki page.

Re: Client Installation

PostPosted: Thu Apr 03, 2008 11:46 pm
by SirGolan
Wow, that's a great writeup! Mind if I put it in the readme.txt files?

The Python-Ogre guys had some ideas as to how to make the install easier over on this thread. I'm going to see if I can get those working.

Definitely, the best option for installing (for non developers) is py2exe since it wouldn't require all the prereqs, but as I mentioned in that thread, I haven't gotten it working yet.