Author Topic: Bug - gamei386.so heartbeat - Using other server binaries  (Read 1337 times)

XtremeBain

  • Developer
  • Autococker
  • Posts: 1470
Bug - gamei386.so heartbeat - Using other server binaries
« on: September 04, 2005, 02:13:41 PM »
I've encountered a problem when using other server binaries such as r1q2ded or ncserver 0.3.  When initializing the game(in this case by starting a map) if the 'public' cvar is set to '1' it creates the following crash:
Code: [Select]
$ ./quake2-nc-glibc +set dedicated 1 +game pball +exec ../pball/configs/test1.cfg
couldn't exec default.cfg
couldn't exec config.cfg
====== Quake2 Initialized ======

execing ../pball/configs/test1.cfg
Master server at 207.38.11.34:27900
Sending a ping.
------- Loading gamei386.so -------
LoadLibrary (/home/xtremebain/Programs/paintball2/./pball/gamei386.so)
-------------------------
47 CMDlist entrys found.
-------------------------
==== PB2 InitGame ====
autojoin on, normal
=== Rotation Init ===
13 maps added to rotation.
[b]./quake2-nc-glibc: symbol lookup error: /home/xtremebain/Programs/paintball2/./pball/gamei386.so: undefined symbol: pthread_create[/b]

I have created a test2.cfg which has 'public' set to '0' and it loads normally:
Code: [Select]
$ ./quake2-nc-glibc +set dedicated 1 +game pball +exec ../pball/configs/test2.cfg
couldn't exec default.cfg
couldn't exec config.cfg
====== Quake2 Initialized ======

execing ../pball/configs/test2.cfg
Master server at 207.38.11.34:27900
Sending a ping.
------- Loading gamei386.so -------
LoadLibrary (/home/xtremebain/Programs/paintball2/./pball/gamei386.so)
-------------------------
47 CMDlist entrys found.
-------------------------
==== PB2 InitGame ====
autojoin on, normal
=== Rotation Init ===
13 maps added to rotation.
------- Server Initialization -------
mapname: pbcup
==== PB2 InitMatch ====
== Map Loaded: pbcup ==
=== Team Flag CTF ===
0 entities inhibited
0 teams with 0 entities

Interestingly enough, when I run this with r1q2ded it crashes the same because of the setmaster command.  This would lead me to believe there is a problem with the heartbeat in the gamei386.so causing some incompatibilities with the non-alpha binaries.

Also, I noticed there's junk in the console when the server receives the HTTP Error: 301.  Maybe those could be suppressed so the almost complete HTML error doesn't have to be logged.

Edit: Sorry I left a big detail out.  I am currently using the gamei386.so from the Build 14 linux client, which is DPPB2 v1.81(132).

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Bug - gamei386.so heartbeat - Using other server binaries
« Reply #1 on: September 06, 2005, 01:36:26 PM »
Heh, linux is terrible about that kind of stuff.  It works OK with the standalone executable?  It's kind of strange that it can't find pthread_create.  Though it probably works with the standalone since I used pthreads in both the executable and the game library, so it was able to find the symbol in the executable.

Why are you trying to run it with other executables anyway?

As for the 403 error, that's caused by gamespy moving their server.  You can fix that by setting serverlist1 to http://dynamic.gamespy.com/~digitalpaint/serverlist.php instead of dynamic5.gamespy.com.

XtremeBain

  • Developer
  • Autococker
  • Posts: 1470
Re: Bug - gamei386.so heartbeat - Using other server binaries
« Reply #2 on: September 06, 2005, 03:16:19 PM »
Why are you trying to run it with other executables anyway?
r1q2 for reducing wallhack effectiveness, testing cvars, reconnect to eliminate proxies, better banning features, better console logging, optimized dedicated server binary.  ncserver just to test another binary to see if the problem exists with the .so or the server binary.