UnityLobby
Moderator: Moderators
- architeuthis
- Posts: 86
- Joined: 15 Dec 2005, 20:47
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Its done & dusty now.
U wont encounter it again for a good while, dont see me upping the UnityLobby Config Files Version Check for a good while.
Maintain a linux package ?
i.e For helping end-users that install a linux package wont know where everything is so added auto-setup for UnityLobby look @
Its basicly allows rpm / dev / ebuild maintainers to create a file in
that contains all the needed settings. And when user runs UnityLobby (when not setup) it uses this file if present & uses those values. User wont even know about the setup wizard
U wont encounter it again for a good while, dont see me upping the UnityLobby Config Files Version Check for a good while.
Maintain a linux package ?
i.e For helping end-users that install a linux package wont know where everything is so added auto-setup for UnityLobby look @
Code: Select all
/trunk/UnityLobby/profiles/
Code: Select all
UnityLobby/profiles/default.profile
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Hopefully last commit for tonight
edit:- Wont be much more additions, currently focusing efforts on code styling clean ups & profiling code to find bottlenecks. Using way to much cpu for my liking
- Temporary Fix for ClientStatus Bug till i track it down
edit:- Wont be much more additions, currently focusing efforts on code styling clean ups & profiling code to find bottlenecks. Using way to much cpu for my liking
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Gonna be awhile till next commit...
Completely rewriting UnityLobby from scratch, re-using (good) code where possible.
Besides overhaul of how Unity files are laid out.
Here are some of the goals of rewrite....
Till then believe the current code is ok to use, have a temp bandage on CLIENTSTATUS bug, and also leave channels after joining a game, will help reduce cpu usage a nice bit
edit:- Also gonna add localization support for UnityLobby, although someone else will need to make up the translation files. Will post more about it when done
Completely rewriting UnityLobby from scratch, re-using (good) code where possible.
Besides overhaul of how Unity files are laid out.
Here are some of the goals of rewrite....
- Rewrite of Lobby Connection Code (using python twisted) == Done
will speed up UnityLobby, versus using non compiled code for parsing commands together.
Add support for Nat Hole Punching
Add UPNP support ?
Thinking of it, since i got a router to mess around with later. And found some code examples. Basicly allows for automatic nat hole forwarding on routers with UPNP supported & turned on
Improve efficent for updating Player / Battle Lists
i.e CLIENTSTATUS is a
killer with orignal code when lot of players are in channels i.e #main
Possible QT Frontend while i am at it
Might be less cpu usage when updating images in Battle / Player List than pygtk, guess only 1 way to find out
Support for gtk-2.6 & gtk-2.10
Seperated User Code & Lobby Connection Code from GUI == Done
Will make GUI Frontends possible & alot easier.
Removal of broad exception handling & adding of Logging of data received from Server with error reporting inside logs == Done
Seperate UnitSync Code into a seperate program, so can update map / mod and report back to main program via python sockets, when update == complete.
Till then believe the current code is ok to use, have a temp bandage on CLIENTSTATUS bug, and also leave channels after joining a game, will help reduce cpu usage a nice bit
edit:- Also gonna add localization support for UnityLobby, although someone else will need to make up the translation files. Will post more about it when done
Last edited by hollowsoul on 28 Jan 2007, 23:01, edited 3 times in total.
- clericvash
- Posts: 1394
- Joined: 05 Oct 2004, 01:05
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
Old one is working as far as i know for multiplayer & single player, besides high cpu usage for alot of users in channels. Besides lack of display starting positions & unit restrictions.
Just giving heads up on lack of commits compared to normal & highlight of some new additions.
Just requires abit of overhauling & rewriting of some code....
Alot easier to rip it out & reuse the good code, than trying to alter original code base.
And were not talking to much hard work here, be back at similar stage for GTK Frontend of UnityLobby by next weekend @ latest. Just about to redoing the GUI Code now.
edit:- Also possiblity later on, on someone working on a bot / auto-hosting. Using the abstracted code....
Just giving heads up on lack of commits compared to normal & highlight of some new additions.
Just requires abit of overhauling & rewriting of some code....
Alot easier to rip it out & reuse the good code, than trying to alter original code base.
And were not talking to much hard work here, be back at similar stage for GTK Frontend of UnityLobby by next weekend @ latest. Just about to redoing the GUI Code now.
edit:- Also possiblity later on, on someone working on a bot / auto-hosting. Using the abstracted code....
- clericvash
- Posts: 1394
- Joined: 05 Oct 2004, 01:05
- BrainDamage
- Lobby Developer
- Posts: 1164
- Joined: 25 Sep 2006, 13:56
well, i don't know how much a bug report makes sence since you plan to rewrite most of the code, but since you said that you're gonna reuse part of the old code, i think reporting those might still be helpful:
-more details of the not-starting-when-host-is-spectator; it happened in the following conditions (doesn't matter the numberof AI, one is enough):
host_spectator + 1 human + AI
host_spectator + AI
i'll make further tests in those conditions:
2 humans + AI + host_spectator
1 human + host_spectator
host + human_spectator
host + human_spectator + AI
-----------------------------------------------------------
another bug:
setting allies in a game doesn't work (either human-bots, bots-bots, and humans-humans)
-when bots gets allied they shoot eachother
-when i do ally with a bot he looks like an enemy for me
-when i do ally with an human (he was using windows) he looks like an enemy for me (and we can shoot eachoter), but he can see my units in his radar like we are allies; also the in-game chat will get flooded by out-of-sync messages
i was hosting all the times when this happened; i'll try to see if joining a game (hosted in a windows machine) with allies set will produce the same effect
-more details of the not-starting-when-host-is-spectator; it happened in the following conditions (doesn't matter the numberof AI, one is enough):
host_spectator + 1 human + AI
host_spectator + AI
i'll make further tests in those conditions:
2 humans + AI + host_spectator
1 human + host_spectator
host + human_spectator
host + human_spectator + AI
-----------------------------------------------------------
another bug:
setting allies in a game doesn't work (either human-bots, bots-bots, and humans-humans)
-when bots gets allied they shoot eachother
-when i do ally with a bot he looks like an enemy for me
-when i do ally with an human (he was using windows) he looks like an enemy for me (and we can shoot eachoter), but he can see my units in his radar like we are allies; also the in-game chat will get flooded by out-of-sync messages
i was hosting all the times when this happened; i'll try to see if joining a game (hosted in a windows machine) with allies set will produce the same effect
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
@ Brain Damage
I am be reusing the script.txt code. But i am just abstract it in the end, so be easier for other GUI Frontends, bots, auto-hosting code.
But can u send me a screenshot of Battle Screen & ~/.unity-lobby/<profile>/script.txt either pm / post here. Or email it to me, email address in UnityLobby files.
And i commit a fix to it asap, as it serious enough bug & prob small one to aswell
I am be reusing the script.txt code. But i am just abstract it in the end, so be easier for other GUI Frontends, bots, auto-hosting code.
But can u send me a screenshot of Battle Screen & ~/.unity-lobby/<profile>/script.txt either pm / post here. Or email it to me, email address in UnityLobby files.
And i commit a fix to it asap, as it serious enough bug & prob small one to aswell
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49

Saves me a nice amount of time. Just plz remember for next bug reports...
Anyway committed a possible fix for Battle.py & creating script.txt, & websvn is broken so cant compare atm, if any other changes made it in.
As my local copy of UnityLobby is broken.
Basicly i forgot to load up the allie value from GUI & was using team values for allies. Which of course would always result in FFA.
hollowsoul, you are very cool. I want to say that I greatly appreciate what you are doing with UnityLobby. That said, here are a couple things I don't understand about UnityLobby, coming at it from the perspective of a person who has never used it before tonight. I hope you can use these to improve it, and make it even better. I know you are doing a rewrite from scratch, so apologies if you are already going to handle these in that rewrite. I also apologize if some of these issue have been brought up before. I haven't read all 34 pages of this thread, as I am new to the UnityLobby.
1) Upon startup on edgy eft (debian), it stuck itself into the menu bar and presented no window. I didn't notice it at first, and wondered why it hadn't started. Perhaps a dialog box upon startup that welcomes you to the program and tells you about the menu item would be nice?
2) When in the lobby screen, I don't understand which status icons indicate which battles are available. So far, the only method I can find seems to be to double-click on the battle and see if it pops the join game menu. Perhaps using the rest of the icons from the TASClient would work?
2.1) Usually, people right click to get menus, not double-click. Perhaps you could change that for joining a game?
3) In the Battle Screen, if you resize the window to be small (and on my screen it popped up this small to begin with) the menus for commander ends, etc are all so small that they are unreadable. Can they be made to have a minimum size?
I want to emphasize that these are all cosmetic issues, and I love what you have done so far.
1) Upon startup on edgy eft (debian), it stuck itself into the menu bar and presented no window. I didn't notice it at first, and wondered why it hadn't started. Perhaps a dialog box upon startup that welcomes you to the program and tells you about the menu item would be nice?
2) When in the lobby screen, I don't understand which status icons indicate which battles are available. So far, the only method I can find seems to be to double-click on the battle and see if it pops the join game menu. Perhaps using the rest of the icons from the TASClient would work?
2.1) Usually, people right click to get menus, not double-click. Perhaps you could change that for joining a game?
3) In the Battle Screen, if you resize the window to be small (and on my screen it popped up this small to begin with) the menus for commander ends, etc are all so small that they are unreadable. Can they be made to have a minimum size?
I want to emphasize that these are all cosmetic issues, and I love what you have done so far.
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
1) Not sure yet, with rewrite what i be doing exactly...
2) Fair enough will do
3.1) Go into Lobby Preferences and change color for battle's in progress.
basicly lets u choose different color for battles in progress i.e i use gray.
I try & come up with some better, or a first run dialog to guide user in configuring it. Not fan of defaults, i.e never know what colors gtk theme is using.
3) Hard todo, i try & look at it this weekend.
2) Fair enough will do
3.1) Go into Lobby Preferences and change color for battle's in progress.
basicly lets u choose different color for battles in progress i.e i use gray.
I try & come up with some better, or a first run dialog to guide user in configuring it. Not fan of defaults, i.e never know what colors gtk theme is using.
3) Hard todo, i try & look at it this weekend.
- BrainDamage
- Lobby Developer
- Posts: 1164
- Joined: 25 Sep 2006, 13:56
- clericvash
- Posts: 1394
- Joined: 05 Oct 2004, 01:05
While I love the idea of a guided tour, how about we get basic features working first? 
a couple bug reports:
1) Whenever I join a battle, it always puts me in as team 1. Not a big deal, I just change manually.
2) When the server launches the game, I frequently get the following error:
I think it is related to whether I am on the same virtual desktop as the battle screen. I also think it can be replicated by setting spring to not full screen mode, although I am not positive about either one.
Thanks again for lots of fun spring on linux times!

a couple bug reports:
1) Whenever I join a battle, it always puts me in as team 1. Not a big deal, I just change manually.
2) When the server launches the game, I frequently get the following error:
Code: Select all
/home/jmeyer/UnityLobby/client/main.py:214: PangoWarning: Invalid UTF-8 string passed to pango_layout_set_text()
gtk.main()
clientstatus failure
<type 'instance'>
('list.index(x): x not in list',)
list.index(x): x not in list
Server has timed out
Thanks again for lots of fun spring on linux times!
-
- Posts: 665
- Joined: 06 Jun 2006, 19:49
I am avoiding using a web page at all costs,
To make UnityLobby display such pages in the program window itself,
would ideally require pygtk bindings which prob be for mozilla webbrowser.
I rather just code up a gtk version of setup & not increase bloat / dependencies where i can.
For next version, dependiences gonna be
(also maybe a xml wrapper, gonna code in loading options values from a xml file i.e similar idea to xmlsettings, as dont have time to update values for each release)
Also seriously thinking about paying for a server else were, so can host stable releases for auto-updating, forums (so Unity Topics can be split up). And maybe svn server elsewhere. Getting to me, trying to keep up with Spring releases.
Also maybe a auto hosting bot, based of same code aswell (that prob end up making web page access to it though)
@ 10053r
The clientstatus error, basicly avoid beening in channels when u can, should solve it. Not gonna spend days hunting down the bug why user is reported as being in channel that UnityLobby isnt in.
While i doing rewrite of code, plus rewrite of code will have logging of data received from server & better error output. So be alot easier for me to reproduce a bug / fix it
To make UnityLobby display such pages in the program window itself,
would ideally require pygtk bindings which prob be for mozilla webbrowser.
I rather just code up a gtk version of setup & not increase bloat / dependencies where i can.
For next version, dependiences gonna be
- Python,
Python-twisted (using for better connection code to lobby & afew features, should be faster than a pure python implentmentation)
Python Imaging Library ? ( May get around to dumping this if i get time )
Pygtk (2.6+)
or
PYQT
(also maybe a xml wrapper, gonna code in loading options values from a xml file i.e similar idea to xmlsettings, as dont have time to update values for each release)
Also seriously thinking about paying for a server else were, so can host stable releases for auto-updating, forums (so Unity Topics can be split up). And maybe svn server elsewhere. Getting to me, trying to keep up with Spring releases.
Also maybe a auto hosting bot, based of same code aswell (that prob end up making web page access to it though)
@ 10053r
The clientstatus error, basicly avoid beening in channels when u can, should solve it. Not gonna spend days hunting down the bug why user is reported as being in channel that UnityLobby isnt in.
While i doing rewrite of code, plus rewrite of code will have logging of data received from server & better error output. So be alot easier for me to reproduce a bug / fix it