Page 1 of 1

No Server list with 2.4 on linux

Posted: Thu Jul 07, 2011 8:16 pm
by stevek007
Hi

I have built 2.4 from source on Linux and cannot get a server list.

I have built bz from src for some time, last one was 2.0.16 and that connects ok and still does, however no server list with the current 2.4
I did have to use ./configure --enable-ares-build to get the src to build. I cannot remember if I needed to do this for 2.0.16.

I have a windows laptop and installed 2.4 on that and it works, and I can still connect to my existing account ok.

Any help would be appreciated.

Re: No Server list with 2.4 on linux

Posted: Thu Jul 07, 2011 9:37 pm
by stevek007
Additional info - I have also used svn to check out the lastest - 2.4.1 and I still get the same result - error message is "can't talk with list server"

Re: No Server list with 2.4 on linux

Posted: Thu Jul 07, 2011 9:59 pm
by blast
If you can provide us with the errors you had when you didn't include --enable-ares-build that might help. Our configure script is supposed to determine if it needs to build our internal copy of c-ares automatically.

Also, note that we use c-ares, not ares. So if you had installed the dev package for ares, we wouldn't use that - we need the c-ares dev package.

Re: No Server list with 2.4 on linux

Posted: Thu Jul 07, 2011 10:03 pm
by stevek007
ok will do that - I can connect to a 2.4 server via IP and port number....but it couldn't authenticate my registered callsign

Re: No Server list with 2.4 on linux

Posted: Thu Jul 07, 2011 10:11 pm
by blast
We use c-ares for the DNS resolution. So if that's borked for some reason, you won't be able to resolve names to IPs.

Re: No Server list with 2.4 on linux

Posted: Thu Jul 07, 2011 10:18 pm
by stevek007
ok I can now connect and get authenticated - I used ./configure --enable-ares-build --enable-curl-build to build the beast.. I try and dig out the errors that happed when I did a straight ./configure

Re: No Server list with 2.4 on linux

Posted: Thu Jul 07, 2011 10:23 pm
by stevek007
Errors with just a ./configure and make ... I get this

make[2]: Entering directory `/home/stephen/Download/bzflag-2.4.0/src/net'
/bin/sh ../../libtool --silent --tag=CXX --silent --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../include -g -O2 -g -O2 -MT libNet_la-Address.lo -MD -MP -MF .deps/libNet_la-Address.Tpo -c -o libNet_la-Address.lo `test -f 'Address.cxx' || echo './'`Address.cxx
mv -f .deps/libNet_la-Address.Tpo .deps/libNet_la-Address.Plo
/bin/sh ../../libtool --silent --tag=CXX --silent --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../include -g -O2 -g -O2 -MT libNet_la-AresHandler.lo -MD -MP -MF .deps/libNet_la-AresHandler.Tpo -c -o libNet_la-AresHandler.lo `test -f 'AresHandler.cxx' || echo './'`AresHandler.cxx
AresHandler.cxx: In member function ‘void AresHandler::queryHostname(sockaddr*)’:
AresHandler.cxx:90: error: invalid conversion from ‘void (*)(void*, int, hostent*)’ to ‘void (*)(void*, int, int, hostent*)’
AresHandler.cxx:90: error: initializing argument 5 of ‘void ares_gethostbyaddr(ares_channeldata*, const void*, int, int, void (*)(void*, int, int, hostent*), void*)’
AresHandler.cxx: In member function ‘void AresHandler::queryHost(char*)’:
AresHandler.cxx:120: error: invalid conversion from ‘void (*)(void*, int, hostent*)’ to ‘void (*)(void*, int, int, hostent*)’
AresHandler.cxx:120: error: initializing argument 4 of ‘void ares_gethostbyname(ares_channeldata*, const char*, int, void (*)(void*, int, int, hostent*), void*)’
make[2]: *** [libNet_la-AresHandler.lo] Error 1
make[2]: Leaving directory `/home/stephen/Download/bzflag-2.4.0/src/net'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/stephen/Download/bzflag-2.4.0/src'
make: *** [all-recursive] Error 1


By doing ./configure --enable-ares-build allowed me to build and run, by doing ./configure --enable-ares-build --enable-curl-build allowed me to connect as before

Re: No Server list with 2.4 on linux

Posted: Fri Jul 08, 2011 3:06 pm
by Bullet Catcher
Which Linux distro do you have, and which version of the c-ares library is installed?

Re: No Server list with 2.4 on linux

Posted: Fri Jul 08, 2011 5:42 pm
by stevek007
I run Mandriva 9.1, but it is by no means standard now - There was no c-ares installed when I attempted to build BZ with on arguments to the /configure

Re: No Server list with 2.4 on linux

Posted: Fri Jul 08, 2011 5:45 pm
by stevek007
When I tried the plain ./configure there were no errors (that I could see), it was when it came to be built that it fell over....

Re: No Server list with 2.4 on linux

Posted: Fri Jul 08, 2011 9:25 pm
by SkillDude
Same here stevek007. Worked fine the moment I added in those extra commands. Thanks for the find.

Re: No Server list with 2.4 on linux

Posted: Sat Jul 09, 2011 6:03 am
by Bullet Catcher
If Mandriva 9.1 is the same as Mandrake 9.1, then it was released in 2003 and probably has the old ares package rather than the newer c-ares package. Unless someone with access to it can provide a distinguishing test for the configure script, manually using the --enable-ares-build --enable-curl-build options with configure is what you'll have to do.

Re: No Server list with 2.4 on linux

Posted: Sun Jul 10, 2011 5:55 am
by puma
so how would I fix that on ubuntu 11.04 64 bit, not only can I not see the server, I cant see the bzflag short cut under the games section.
I have to use the terminal to log in.

But I cant visit any maps, the message board states the servers are using an incompatible version.

Should I downgrade now? I was able to play well with 2.0.16.

Re: No Server list with 2.4 on linux

Posted: Sun Jul 10, 2011 9:46 am
by ts
Bullet Catcher wrote:If Mandriva 9.1 is the same as Mandrake 9.1, then it was released in 2003 and probably has the old ares package rather than the newer c-ares package.
According to wikipedia "Mandrivia Linux 9.1" is a wrong description of his used distribution in any case. It is either Mandrake 9.1 or Mandrivia 2009.1 (http://en.wikipedia.org/wiki/Mandriva_Linux#Versions). It's scary to use a distribution without knowing its version.

I rather like rolling-release distributions, that's one of the reasons why I use Arch. Will see later if it compiles there. My bet is that it should build flawless there.

Re: No Server list with 2.4 on linux

Posted: Sun Jul 10, 2011 11:42 am
by joevano
puma wrote:so how would I fix that on ubuntu 11.04 64 bit, not only can I not see the server, I cant see the bzflag short cut under the games section.
I have to use the terminal to log in.

But I cant visit any maps, the message board states the servers are using an incompatible version.

Should I downgrade now? I was able to play well with 2.0.16.
2.4 clients ARE NOT compatible with 2.0.x servers, so you cannot connect to them with 2.4 . You must connect a 2.4 client to a 2.4 server. 2.4 works fine on Ubuntu so we would need to know more about what source code you used, any errors when building, etc.

Re: No Server list with 2.4 on linux

Posted: Sun Jul 10, 2011 4:19 pm
by puma
I used Download bzflag-2.4.0.tar.bz2 (15.0 MB) from http://sourceforge.net/projects/bzflag/files/. It was the the one at the top of the page, not organized within the tabs. - I didn't see any version for ubuntu 64 bit. So I used this.

As for errors, I guess I would need to reinstall 2.4 and save the logs? The install was long, almost 11 minutes. But I think it was smooth. I cant talk with the list server, and can't see the message of the day.

Re: No Server list with 2.4 on linux

Posted: Mon Jul 11, 2011 9:44 am
by ts
ts wrote:I rather like rolling-release distributions, that's one of the reasons why I use Arch. Will see later if it compiles there. My bet is that it should build flawless there.
Okay, I downloaded bzflag-2.4.0.tar.bz2 from sourceforge, extracted it and did a simple "./autogen.sh -V" then "./configure" and finally "make -j9". I started it by typing "src/bzflag/bzflag" and…it worked. Not too great FPS (57) because of the open source graphics driver but dns resolution in server list worked.
[ts@Neo bzflag-2.4.0]$ pacman -Ss c-ares
extra/c-ares 1.7.4-1
C library that performs DNS requests and name resolves asynchronously
So..I haven't installed c-ares before.

Here's my configure summary:
Build ares ........: yes
Build curl ........: no (using system)
Build glew ........: yes
Build regex .......: no (using system)
Build zlib ........: no (using system)

BZFlag client .....: yes (with SDL)
BZFlag server .....: yes (with plugins)
BZAdmin client ....: yes
So..I don't run into any similar problems.

Re: No Server list with 2.4 on linux

Posted: Tue Oct 11, 2011 2:30 pm
by Mad Texan
I can't see the list server and I can't login using global authentication to any 2.4.0 servers.

Distribution is gentoo 64 bit.

I've tried compiling the 2.4.0 source using the standard gentoo ebuild, compiling the 2.4.0 source by hand, and compiling the latest svn source code by hand. I've tried both with and without the --enable-ares-build and the --enable-curl-build configure flags with no improvement. (Actually, using the --enable-ares-build causes random segfaults when playing.)

I can use a fake name and connect to a 2.4.0 server by specifying it explicitly and game play is reasonable.

Any ideas of what to try next?

Re: No Server list with 2.4 on linux

Posted: Tue Oct 11, 2011 10:08 pm
by blast
Can you get to the following page in a web browser? What about via the 'curl' command?

http://my.bzflag.org/db/?action=LIST

Re: No Server list with 2.4 on linux

Posted: Tue Oct 11, 2011 11:10 pm
by Mad Texan
blast wrote:Can you get to the following page in a web browser? What about via the 'curl' command?

http://my.bzflag.org/db/?action=LIST
Yes to both.

Re: No Server list with 2.4 on linux

Posted: Sat Oct 22, 2011 3:25 pm
by Mad Texan
I still have no answer, but I traced what happens on the network using wireshark:

When I start bzflag it sends a HTTP get to bzflag.org (109.169.80.184) and gets a response.

When I select 'Find Servers' it sends a single UDP packet to my lan's broadcast address (xx.xx.xx.255) containing six bytes of payload: 00 02 04 04 00 00. Then it just hangs. For this test, I was plugged directly into my DSL modem. I don't understand what sending a UDP packet to that address is supposed to accomplish.

Any ideas?

Re: No Server list with 2.4 on linux

Posted: Sat Oct 22, 2011 4:49 pm
by JeffM
The broadcast is to find any LAN servers on your network that would not show on the list server. The main server list comes from 63.246.136.16 and is sent when you bring up the server list. That initial hit to bzflag.org is for the MOTD.

Re: No Server list with 2.4 on linux

Posted: Sat Oct 22, 2011 5:03 pm
by Bullet Catcher
Tupone has fixed some gentoo problems in the development trunk.

To take advantage of his changes, install the Subversion client, download development version 2.4.1 with this command:

Code: Select all

svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag
and then compile as usual starting with the autogen.sh command.

Re: No Server list with 2.4 on linux

Posted: Sat Oct 22, 2011 5:05 pm
by Mad Texan
Solved :-).

Had to do what's described in this thread.

My entry was empty.

Thanks for all your help.