Okay, I uncommented all references to mfprintf in the code, and could not get the function to execute on it's own anymore. So what I did was: 1. start a bunch of robots until you could join in, but not get the wait queue. U see 8 vs. 8, but cannot join any teams. 2. looked for the phrase "team or ship rejected" in main.c. There are 2 instances of this phrase, one uses mprintf and the other uses mfprintf. 3. replaced the mprintf phrase to match that of the mfprintf phrase: mfprintf(stderr, "team or ship rejected.\n"); I assume you can run the above function from anywhere in main.c and it should spit out a message. If your team or ship gets rejected. gdb robot run -h localhost Starting program: /home/jimmyhua/darcs/netrek-server/Vanilla/robotd/robot -h localhost Calling localhost. Got connection. non-udp client send. initializing planets login ...non-udp client send. non-udp client send. non-udp client send. team ... sent TeamReq team: 1, ship: 2 non-udp client send. -> Server sending PING packets at 2 second intervals -> I cannot allow that. Pick another team got pickOk = 0 Program received signal SIGSEGV, Segmentation fault. 0x400abf79 in vfprintf () from /lib/libc.so.6 (gdb) bt #0 0x400abf79 in vfprintf () from /lib/libc.so.6 #1 0x08068d9d in mfprintf (format=0x65796200 "") at util.c:455 #2 0x080605be in main (argc=3, argv=0x0) at main.c:403 Any ideas? Jimmy