New Lobby WIP - Lobby++ - Page 2

New Lobby WIP - Lobby++

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

Moderator: Moderators

User avatar
BrainDamage
Lobby Developer
Posts: 1164
Joined: 25 Sep 2006, 13:56

Post by BrainDamage »

replacing the lib with my own build did the fix :-)

pls pls pls add a resize button :| as it overlaps my whole desktop (1024*768)
User avatar
Kaot
Posts: 23
Joined: 10 Mar 2007, 02:11

Post by Kaot »

I get the same Error

Code: Select all

./Lobby++: error while loading shared libraries: libboost_regex-gcc-mt-1_33_1.so.1.33.1: cannot open shared object file: No such file or directory
The Problem consists in the Filename. The Filename needs look like this:

Code: Select all

libboost_regex-gcc-mt-1_33_1.so
or even better to link it to

Code: Select all

libboost_regex-gcc-mt.so
so it doesn't depend on a specific Version.

The "/usr/lib" Directory on my Gentoo Distro looks like the following ("ls -al /usr/lib/libboost_thread*"):

Code: Select all

lrwxrwxrwx 1 root root   20 22. Dez 20:06 /usr/lib/libboost_thread-gcc-mt.a -> libboost_thread-mt.a
lrwxrwxrwx 1 root root   21 22. Dez 20:06 /usr/lib/libboost_thread-gcc-mt.so -> libboost_thread-mt.so*
-rw-r--r-- 1 root root  68K 22. Dez 20:06 /usr/lib/libboost_thread-mt.a
lrwxrwxrwx 1 root root   28 22. Dez 20:06 /usr/lib/libboost_thread-mt.so -> libboost_thread-mt.so.1.33.1*
-rwxr-xr-x 1 root root  43K 22. Dez 20:06 /usr/lib/libboost_thread-mt.so.1.33.1*
lrwxrwxrwx 1 root root   20 22. Dez 20:06 /usr/lib/libboost_thread.a -> libboost_thread-mt.a
lrwxrwxrwx 1 root root   21 22. Dez 20:06 /usr/lib/libboost_thread.so -> libboost_thread-mt.so*
So the only Thing i need to consider, if i program something with Boost is to link against "/usr/lib/libboost_thread-mt.so" no matter what Version is installed.


I can affirm the Workaround of symlinking the selfcompiled unitsync.so into the directory instead of using the supplied one.

I'm able to connect to the Server and i can see a List of Battles, don't know whether these are open or running. I can sort by Columns. And i can see a lot of Chat Channels running on the Server.

So far it works good, great Work Kloot!

PS: Jepp let us be able to resize the Window, it's so tiny on my Desktop. (1600x1200) ;)
User avatar
Relative
Posts: 1371
Joined: 15 Oct 2006, 13:17

Post by Relative »

Well everything seems to work fine. There does seem to be some lag with the connection with the server when joining channels and receiving chat. The "client settings" menu doesn't work, but I doubt its done being an early build.

Code: Select all

CServerCommandHandler::CLIENTS() WARNING: NULL-INFO FOR free_willy508
Also, the opposite to Kaot's resizing windows problem, the window is too big for my screen 1024*768 :P

Ubuntu 7.04
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

It works very well here, although please allow "/j #channel" in addition to "/join channel". I need my j's and #'s. :-)
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

Thanks for the feedback guys.

Re: the loading errors: the boost .so naming convention varies per distribution, so there's not much I can do about that. Compiling your own unitsync will always sidestep the issue however.

Re: resizing: it's on my todo-list, but TBH everyone still stuck at 1024x768 should just get a new decent-size monitor, 1997 was a really long time ago. :P

Re: not knowing whether battles are in progress: I've added an extra column for that, and maybe I'll also color-code them to make the distinction more obvious.

Re: the lag: it depends on how busy the server is, usually I hardly notice any delay except in the evening when there are ~300 people online. Please let me know if yours appears more structural.

Re: the null-info warning: that's just there to help me track down a bug in the connection code, so it'll go away soon enough (or not). ;)

@kujeger:
The '#''s are just window dressing actually, the internal channel names don't carry any prefixes. :-) I'll allow "/j" though, as well as some other shortcuts (/jb, /c, /pm, etc).
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Sending a request to join a channel with a '#' in its name will give an error message back. Its just a tasclient convention betalord decided to enforce, the other lobbies/bots dont care if you use it or not.

If its possible, could you ask to put the source code in the svn branch just so we can view progress and submit patches but nto with the intention of it being shipped with spring untill its ready?
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

Kloot wrote:@kujeger:
The '#''s are just window dressing actually, the internal channel names don't carry any prefixes. :-) I'll allow "/j" though, as well as some other shortcuts (/jb, /c, /pm, etc).
I'm aware, but it's still pretty common to be able to prefix with # in other lobby systems (spring or other games), not to mention irc clients.

Pretty please? :-)
User avatar
Icebird
Posts: 51
Joined: 29 Jun 2006, 20:17

Post by Icebird »

http://trollz1.free.fr/screenshots/lobbypp0.png
just wanted to let you know that things are srsly fucked up with my skin :P
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

:shock:

That looks pretty cool actually, too bad the table colors weren't also switched. :P If I get around to it, I might add an 'invert color-scheme' option or something, white on black definitely is appealing.

@kuj: they're in (as is join-by-doubleclicking so you don't have to type at all ;)).
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

Minor update, I've made a new testable release version available here. While you can't host or join battles with it yet, the code to generate script-files as non-host is in place, and you can already watch demos / run scripts (see below) so "all" that's really left is the actual battle protocol stuff, talking to unitsync, etc. Partial changelog is as follows:
  • fixed the null-info bug

    added support for private messages, "/pm username message" or double-click on somebody's name in a channel's userlist to send one (close a PM tab by double right-clicking)

    "/me message" and "/j channel" are now recognized (channelnames may be prefixed by a #-character)

    double left-clicking on a channelname in the $local tab now joins it (this will fail if the channel is passworded, just use /j or /join in such a case)

    enabled a poor-man's form of resizing (you can make the main window bigger or smaller, but the individual components stay in place) as a temporary aid to those short on pixel real-estate

    included two special commands, "/demo demoname.sdf" and "/script scriptname.txt" launch Spring with the demo- or script-file argument specified (note that you should NOT supply any directory prefixes as the lobby constructs absolute paths from what you enter in Options->Lobby Settings and the .sdf/.txt filename, be sure to visit the options menu before trying these)
EDIT: forgot to mention, please remove your old ~/.lobby++rc when testing this build (otherwise the default paths might not be set correctly).
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

This is quickly shaping up to be my favourite lobby. You're doing a very great job, Kloot. And thanks for the #'s!


edit: It seems joining passworded channels is broken?
edit2: trying to run a script or demo errors out with "cannot find Luxi.ttf" unless I put lobby++ in the spring directory (I have the binary and data in the same dir). Paths are correctly set, too, from what I can tell.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

Re: being unable to join passworded channels: many thanks for pointing that out, turns out the command is actually sent over correctly but TASServer splits it into parts differently than expected (if two words are separated by two adjacent spaces, as the channel's name and password are in my case, then three parts are created instead of two, with the second being a space character rather than the password it would be if "normally" tokenized). Ought to be repaired in the present build.

Re: your second edit: odd, I too have all of Spring (maps, mods, demos, etc) in one directory and the lobby in another, and I only get that font error if the SpringData line in ~/.springrc isn't set right... could you tell me which paths you have entered so I can try to reproduce the issue?
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

Kloot wrote:Re: your second edit: odd, I too have all of Spring (maps, mods, demos, etc) in one directory and the lobby in another, and I only get that font error if the SpringData line in ~/.springrc isn't set right... could you tell me which paths you have entered so I can try to reproduce the issue?

Code: Select all

$ cat /home/kujeger/.lobby++rc
protocolVersion=0.32
serverName=taspringmaster.clan-sy.com
serverPort=8200
springBinary=/home/kujeger/games/spring/spring_stable/spring
springData=/home/kujeger/games/spring/spring_stable/
springVersion=*
userName=kujeger
userPass=

Code: Select all

$ ls /home/kujeger/games/spring/spring_stable/ -1
AI
ArchiveCacheV4.txt
base
cmdcolors.txt
ctrlpanel.txt
demos
DevIL.dll
ext.txt
gui.lua
infolog.txt
libunitsync.so
lobby
Lobby++
Lobby++.tar.gz
LuaUI
Luxi.ttf
maps
mods
MSVCP71.DLL
MSVCR71.dll
run.sh
screenshots
script.txt
selectkeys.txt
settingstemplate.xml
shaders
spring
spring.exe
springexe.c
startscripts
TASClient.exe
Test.ssf
uikeys.txt
unitsync.dll
unitsync.so
usericons.tdf
Vera.ttf
zlibwapi.dll
some extra stuff in the spring dir since I'm using TASclient.exe with wine for lobby.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

edit: I may have found the problem, could you try this replacement build?
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

Kloot wrote:edit: I may have found the problem, could you try this replacement build?
Same error. But now I can join passworded channels!

edit: Okay, I think I figured it out. It seems spring looks for it's data in the current directory, as well as any specified in springrc. I hadn't put anything in springrc, so it was only looking in the current directory. I guess lobby++ runs spring with the path as whatever the lobby dir is, so spring couldn't find anything. Maybe have lobby++ edit the SpringData entry in springrc, or run spring with the spring-data path.

Anyway, it runs fine now that I put in the springdata path in springrc.

edit2: Haha, I just noticed you're reporting the CPU speed as "31337".
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

kujeger wrote:edit: Okay, I think I figured it out. It seems spring looks for it's data in the current directory, as well as any specified in springrc. I hadn't put anything in springrc, so it was only looking in the current directory. I guess lobby++ runs spring with the path as whatever the lobby dir is, so spring couldn't find anything. Maybe have lobby++ edit the SpringData entry in springrc, or run spring with the spring-data path.
It should only do that if you didn't specify any data directory at all. (Where "specified" also includes that the directory exists or Spring has sufficient permissions to create it.)
User avatar
kujeger
Posts: 91
Joined: 07 Oct 2004, 14:46

Post by kujeger »

Tobi wrote:It should only do that if you didn't specify any data directory at all. (Where "specified" also includes that the directory exists or Spring has sufficient permissions to create it.)
Yeah, it was completely blank. Just "SpringData=".
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

kujeger wrote: edit: Okay, I think I figured it out. It seems spring looks for it's data in the current directory, as well as any specified in springrc. I hadn't put anything in springrc, so it was only looking in the current directory. I guess lobby++ runs spring with the path as whatever the lobby dir is, so spring couldn't find anything. Maybe have lobby++ edit the SpringData entry in springrc, or run spring with the spring-data path.

Anyway, it runs fine now that I put in the springdata path in springrc.
Actually, the lobby doesn't pass any directories to Spring (it launches the executable with two arguments, the first of which is the fully-qualified binary name you enter in Options, and the second being the fully-qualified demo/script name composed from the data directory and what you type in after a demo/script command), although Spring's CWD is implicitly inherited from it. That's why I thought it odd that you got those font errors, since how Spring is started does not influence at all where it looks for stuff if your SpringData line isn't blank, which I was sort of assuming. :-) Anyway, glad it's fixed.
edit2: Haha, I just noticed you're reporting the CPU speed as "31337".
Yeah, I'm still undecided how to go about that (probably by reading /proc/cpuinfo, and if that fails reporting 0 or falling back on some custom detection code). It's low-priority ATM though. ;)
Tronic
Posts: 75
Joined: 30 Nov 2006, 03:21

Post by Tronic »

Hehe.. I was kinda waiting for someone to start a C++ lobby project, now that there is Delphi, Python, Java and whatnot already :)

Using wxGTK is a great choice, even though the library sucks (it still is the best that there is for crossplatform development and since you never know where you are going to evolve, it is good to consider portability to Windows or Mac now, already).

A few UI requests:
- Display battles as tabs in the main window rather than separate windows
- Display the program itself in taskbar (not in systray), by default at least (not all DEs support systray at all).
- Use very polished icons (any talented pixelers out there?) and always use text in addition to an icon if the meaning is not clear otherwise.

About the Spring executable: can't you just use the name "spring" and assume that it is somewhere in path (use execlp rather than execl for starting the program).

Are the sources available somewhere? I'd like to have a look.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

No, I still need to setup an SVN server (or ask tvo if I can dump it somewhere in /trunk for the time being) when I get a chance.

Re: your requests:

-The battle dialog is probably here to stay, battles are better represented by a separate window IMO (plus I already have an entire class written behind it).
-The lobby minimizes to the taskbar by default, it shouldn't go into the systray?
-I'm no artist, so icons will be limited to what wxGTK has to offer.
-Yes, but why? In practice that means Lobby++ needs to live in the same directory as the Spring binary, which I'd rather avoid. And it calls execv(). ;)
Post Reply

Return to “Linux”