UnityLobby - Page 2

UnityLobby

Discuss everything related to running Spring on your chosen distribution of Linux.

Moderator: Moderators

User avatar
Kaot
Posts: 23
Joined: 10 Mar 2007, 02:11

Post by Kaot »

Next Error, this Time it crashed the Unity.py Script
I was in a Battleroom with 3 other People, no Autohost, but real Person hosted i guess.

I set myself "ready" and i guess the Hoster started the Game, but nothing happens, the Unity.py freeze. I couldn't type anything into the Chat Line.

Then i looked at the Console and get this Logs:

Code: Select all

<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
_gtk_text_util_create_rich_drag_icon: layout size 149 13
_gtk_text_util_create_rich_drag_icon: pixmap size 159 23
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
<gtk.ListStore object (GtkListStore) at 0xb6a4bb6c>
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/twisted/python/log.py", line 48, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.4/site-packages/twisted/python/log.py", line 33, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.4/site-packages/twisted/python/context.py", line 59, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.4/site-packages/twisted/python/context.py", line 37, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.4/site-packages/twisted/internet/gtk2reactor.py", line 189, in _doReadOrWrite
    why = source.doRead()
  File "/usr/lib/python2.4/site-packages/twisted/internet/tcp.py", line 362, in doRead
    return self.protocol.dataReceived(data)
  File "/usr/lib/python2.4/site-packages/twisted/protocols/basic.py", line 149, in dataReceived
    self.lineReceived(line)
  File "/home/Kaot/Quarantäne/Spiele/Spring/Unity/Misc/Connection.py", line 92, in lineReceived
     self.processCommand(data.split(' '))
  File "/home/Kaot/Quarantäne/Spiele/Spring/Unity/Misc/Connection.py", line 95, in processCommand
     self.lookupTable[command[0]](command[1:])
  File "/home/Kaot/Quarantäne/Spiele/Spring/Unity/Lobby/GTK-2.10/Lobby/Network_Wrapper.py", line 151, in CLIENTSTATUS
    self.network_wrapper.parent.parent.Classes['Battle'].LaunchSpring()
  File "/home/Kaot/Quarantäne/Spiele/Spring/Unity/Lobby/GTK-2.10/Battle/Battle.py", line 1209, in LaunchSpring
    if self.parent.Classes['Main'].misc_info['Online'] == False:
exceptions.AttributeError: Main instance has no attribute 'misc_info'
[Lost connection:[Failure instance: Traceback (failure with no frames): exceptions.AttributeError: Main instance has no attribute 'misc_info'
] at Mon Apr  9 22:22:22 2007]
PS: The Unity.py freezed exactly at 22:22:22 ! ;) Funny, perhaps this might by the Error, but i doubt this. ;)
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Should be fixed now. Just some of the variable changes i had in. Forgot it to update the code that launched spring.
Sry windows machine busy so cant really do much testing atm..

Also need to nuke ~/.unity
Sry needs to be done due to changes on new naming scheme for map previews. So can support multiple maps in an archive.
Also added caching bots in xml, not much point except unitsync is only loaded by the caching program (script). So might aswell have it add them inside it aswell.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Actually, your not supposed to support multiple maps in an archive, for one if you ever support MAPGRADES it'll fail. Besides tascleint doesnt support them at all, and no maps use it that havent since been remade.
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

And do i care ?
Can support them for single player skirmish
Can support them online, if user turns them on in settings & display a warning when they choose one

And for MAPGRADES ignore the multiple maps, already seperate them in my cache file
User avatar
clericvash
Posts: 1394
Joined: 05 Oct 2004, 01:05

Post by clericvash »

AF no offense but it is hollows work, he can support what he likes :P
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

Yes but unitsync doesnt support it either, for reasons i forgot. And there is no need, because shared map data can be included in a seperate archive with the maps linking to it as dependency.
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Unitysync does support it unless its been changed in svn. Otherwise i wouldnt have pain of extra code to check if its a multiple map archive.
Atm u need to keep track of total map count so u can compare it with unitsync map count to check if update is needed.
Just as handly to cache the entire lot

Ideally
  • Unitsync.so updates its own cache
    Creates a random integer X
    Unitsync.CacheVersion() returns X
    Client compares X against its own copy to check if cache update is needed.
or
  • Unitsync.so detects no-update needed
    Unitsync.CacheVersion() returns X
    Client compares X against its own copy to check if cache update is needed.
This way if user removes a map & adds a map thus keeping map count the same. Client will still know that an update to cache is needed.

Also no harm letting peep play the maps in single player & a warning when using them for online (which would need to be turned on in settings to display the maps in question)

Lobby Protocol does allow for this except for map rankings & other clients implentmentations
But while i on topic of Lobby Protocol can we plz have mod checksums in BATTLEOPENED plz. So clients can use checksums to search UF for mod and offer link to it to user.
Atm u only get checksum when u enter battle, but u can get the map checksums before u enter battle. Seems backwards to me
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Anyway small screenshot of code i working on for hosting & single player games.
Image
Note:- I got no maps / mods installed atm, switched over to debian & ubuntu. And only a fresh install of spring
User avatar
clericvash
Posts: 1394
Joined: 05 Oct 2004, 01:05

Post by clericvash »

Noooooooooooooooo!!! :(
User avatar
iamacup
Posts: 987
Joined: 26 Jun 2006, 20:43

Post by iamacup »

there not doing an integrated lobby, only JC wants it and he isnt making it :p
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

uh, this sucks.

hollow, please rethink your position.
Caradhras
Posts: 381
Joined: 31 Jul 2006, 21:49

Post by Caradhras »

i agree, please dont quit it.
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

Not having a native linux lobby is a great shame. Thanks for the attempt, at least.
User avatar
clericvash
Posts: 1394
Joined: 05 Oct 2004, 01:05

Post by clericvash »

I will give you many many cookies if you continue :(
HAARP
Posts: 182
Joined: 06 Apr 2006, 07:18

Post by HAARP »

You put that much work into this to just scrap it now? You can't do this!
User avatar
clericvash
Posts: 1394
Joined: 05 Oct 2004, 01:05

Post by clericvash »

Someone should either take over or hollow should re-think since there currently won't be an integrated lobby for CE, and that is different project from spring, why let that interfere with your work here?
hollowsoul
Posts: 665
Joined: 06 Jun 2006, 19:49

Post by hollowsoul »

Just cause 2 peep decide to make up initial version of a server (2 in development) and an external client means very little.
JC is one of main dev's and wants to an integerated client.
My beef is with no plans for allowing support for an external client aswell.

Whole reason i decided for rewrite was CE was gonna reuse lobby server & client code. Although was mentioned and obvious some lobby protocol flexible i.e xml files would be needed.

As wanted to make up 2 guis, gtk & an opengl one.

GTK similar look as UnityLobby

OpenGL using python opengl & python ogre bindings (or whichever one jc decides to go with in end, bindings for either one).
Thus allow me to add support to load a gui / skin from inside a mod package. So modders can use same formats as ones supported in CE with a xml file.
And a generic opengl skin.

Since new protocol was gonna be xml, was thinking of when done throwing a xml file for Spring. Thus allow client to connect to either network.
And no reason with python twisted couldnt connect to both at same time.

As for people saying its a seperate project.
Spring (1st )
CE (2nd)

Were some devs are concreating on.
Other devs have openly said they wondering how much time to put into spring.
Also Spring new fancy LUA has no real way for AIs to assess, so there goes single player skirmishs against AI's. Now back to online play only (note i got total online play time for about 5 mins tops
CE is really a fork (i.e samba, samba-tng back in the day). Samba-tng originally took over. Ditto will happen with spring. i.e jc coded graphics / map formats i believe for spring, and now on CE. So in the end CE will takeover. Simplist view but u get the point

As for taken over UnityLobby u welcome to, but u see the amount of lines of code there is ? And fact i was solo coder for it except for when Kloot was helping till fall out.

Maybe i code ironpython using ironpython turn based mod in CE, only other thing i maybe interested in future atm. Provided mods have replace the network code. As liked Stars! turned based and depth to it
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Of the 2 server implementations in CE:

1, my own server:
Not started yet (june/july), in the design stages, not particularly aimed at any one engine, aiming at supporting as many protocols as possible and maintaining backwards compatability with tasserver.

2, Iamacups simple xml experiments:
c#, learning days, would switch if a better server implementation came forth.

As for ingame client, I think jelmer was thinking more of running CE and having a campaign and skirmish game starter, think Supreme commander, it has an ingame client but it uses GPGNet for multipler.

There's also a large group who would want to keep the lobby outside the engine as it currently is, who'll fight to the death to see it stay that way.

And the entire lobby debacle fo CE is extremely volatile with no decisions having been made. Its a free for all, and the one that gets used is the best one.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

Hollow: I know we've had our differences, but I can understand where you're coming from with regards to wanting to call it quits (nobody likes to see their work devalued/obsoleted). The fact is though, development on Spring may be slowing, but people won't stop playing it for a long while, even after CE arrives. Also, the more people use a truly good external lobby, which I believe UL can be (it's lightyears ahead of my own WIP Linux lobby project), the more they'll be opposed to the idea of an integrated one. You essentially have an opportunity here to influence what form CE is going to take, regardless of the plans JC has for it. Or, that's what I would draw motivation from if my codebase was as near-completion as yours. ;)
Post Reply

Return to “Linux”