Hello. I am attempting to run an EQEmu server off of a Debian 2.4.17 machine.
Firstly I had a problem since my machine is multihomed and it wasn't getting the correct interface. The_Coder's patch fixed that nicely.
Now I can connect to the server, and create a character, but when I attempt to login the zone process segfaults and I see "Zone not available" in EQ.
Here is straced output of the zone binary:
<zone loads, no errors, and goes to sleep>
nanosleep({0, 1000000}, NULL) = 0
gettimeofday({1019699449, 383551}, NULL) = 0
nanosleep({0, 1000000}, Map: Maps\halas.map not found.
NULL) = 0
<insert less than a second of nanosleep() spam here>
nanosleep({0, 1000000}, NULL) = 0
gettimeofday({1019699449, 837093}, NULL) = 0
nanosleep({0, 1000000}, 0) = -1 EINTR (Interrupted system call)
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
It happens right after it tries to load the nonexistant .map file. I have read that these files aren't meant to exist yet, so I assume that is supposed to happen. Looking at the Map.cpp source, it seems to make a clean enough exit if the map isn't found. I can't figure out why they would segfault instead.
Also, the world binary complains a bit:
Removing zoneserver from ip:127.0.0.1 port:51429 (166.70.x.x:799
Zoneserver send() failed, assumed disconnect: #7 127.0.0.1:51427 (166.70.x.x:7996)
send_socket=15, Status: -1, Errorcode: Broken pipe
Removing zoneserver from ip:127.0.0.1 port:51427 (166.70.x.x:7996)
Zoneserver send() failed, assumed disconnect: #8 127.0.0.1:51428 (166.70.x.x:7997)
send_socket=16, Status: -1, Errorcode: Broken pipe
Just to check, I assume this shell script will work fine for starting zones:
(discore@chalkdust /usr/local/eqemu)% cat startzones.sh
./zone . <eth0's ip> 7995 127.0.0.1 &
./zone . <eth0's ip> 7996 127.0.0.1 &
./zone . <eth0's ip> 7997 127.0.0.1 &
./zone . <eth0's ip> 7998 127.0.0.1 &
./zone . <eth0's ip> 7999 127.0.0.1 &
Like I said, all 5 load without any errors. I have tried multiple things in the 4th field, 'localhost', '<eth0's ip>', and such. /etc/hosts has all the proper info as well. <eth0's ip> also matches the worldaddress= in the .ini file. I removed the account= and password= lines from the .ini, as per The_Coder's instructions on the NAT thread. But I doubt that's relevant..
Any ideas?