1017 Error and packet trace
In the hopes of helping the devs figure out some of the 1017 problems that have been plagueing people (including me...), I edited some of the source to print out packet info.
My setup is on two computers, both behind a separate firewall (Linux NAT, yes, ports 9000, 7995-7999 are forwarded). The server (running world, zone and mysql on linux 2.4.18 ) is 192.168.0.5 and the client (running EQ through EQPatch) is 192.168.0.10. I did the DNS thing, with fortress13.no-ip.org pointing to the external address of my firewall, and all my internal host files pointing to 192.168.0.5.
My problem has been that after I leave the character select screen, I almost immediately get disconnected (1017). There are no firewall measures internal to the main firewall, so all packets between the client and server should be getting through (verified by a quick look at iptraf).
db.ini:
[Database]
host=localhost
user=xxxx
password=xxxx
database=eqemu
compression=off
LoginServer.ini:
[LoginServer]
loginserver=eqlogin1.eqemu.net
loginserver2=eqlogin2.eqemu.net
loginport=5999
loginport2=5999
worldname=Fortress13
worldaddress=fortress13.no-ip.org
locked=false
account=
password=
[WorldServer]
Defaultstatus=
Unavailzone=
[LoginConfig]
ServerMode=Standalone
ServerPort=5999
UplinkAddress=
UplinkPort=
UplinkAccount=
UplinkPassword=
runzone (bash script to start zoneservers):
#!/bin/bash
ADDRESS="fortress13.no-ip.org"
WADDRESS="127.0.0.1"
for i in 7995 7996 7997
do
echo "./zone . ${ADDRESS} $i ${WADDRESS}"
./zone . ${ADDRESS} $i ${WADDRESS} &
done
The only changes I've made to the source were setting things like
#define LOG_TCP_PACKETS 1
along with
#include <stdlib.h>
in a couple places to make mob.cpp and MobAI.cpp (among others I think) compile on my system (rand(), atoi(), etc). I also had to edit the makefiles a little, but that's just because MySQL is installed in a stupid place on my system... Oh, and I'm running the latest CVS (although I've had the 1017 problem with all versions I can get ahold of since 4.2).
Anyway, here's what I get when I run world and try to connect (pardon the size).
Using database 'eqemu' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.3
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.3
Loading Variables, zone names & items...
EMuShareMem.dll loaded.
Loading items from database...
...done.
LoginServer.ini read.
Loading guild ranks...done.
Loading EQ time of day...done.
Deleted 0 stale player corpses from database.
Deleted -1 stale player backups from database.
Assassinating people that whine about horses...done
TCP listening on: fortress13.no-ip.org:9000
World server listening on: fortress13.no-ip.org:9000
Connected to LoginServer: eqlogin2.eqemu.net:5999
2003/03/16 09:00:09.493 GMT: Logging outgoing TCP OldPacket. OPCode: 0x1000, size: 603 64.81.113.117:5999
2003/03/16 09:00:09.493 GMT: Logging outgoing TCP OldPacket. OPCode: 0x1001, size: 12 64.81.113.117:5999
2003/03/16 09:00:24.502 GMT: Logging outgoing TCP OldPacket. OPCode: 0x1001, size: 12 64.81.113.117:5999
17743 New TCP connection: 127.0.0.1:1952
17760 New TCP connection: 127.0.0.1:1953
New zoneserver: #1 127.0.0.1:1953
New zoneserver: #2 127.0.0.1:1952
17820 New TCP connection: 127.0.0.1:1954
2003/03/16 09:00:27.232 GMT: Logging incoming TCP packet. OPCode: 0x0025, size: 16 127.0.0.1:1952
2003/03/16 09:00:27.233 GMT: Logging incoming TCP packet. OPCode: 0x0008, size: 252 127.0.0.1:1952
2003/03/16 09:00:27.233 GMT: Logging incoming TCP packet. OPCode: 0x0025, size: 16 127.0.0.1:1953
2003/03/16 09:00:27.233 GMT: Logging incoming TCP packet. OPCode: 0x0008, size: 252 127.0.0.1:1953
New zoneserver: #3 127.0.0.1:1954
Zoneserver SetConnectInfo: 127.0.0.1:1952: fortress13.no-ip.org:7997
Zoneserver SetConnectInfo: 127.0.0.1:1953: fortress13.no-ip.org:7996
2003/03/16 09:00:27.292 GMT: Logging incoming TCP packet. OPCode: 0x0025, size: 16 127.0.0.1:1954
2003/03/16 09:00:27.293 GMT: Logging incoming TCP packet. OPCode: 0x0008, size: 252 127.0.0.1:1954
Zoneserver SetConnectInfo: 127.0.0.1:1954: fortress13.no-ip.org:7995
2003/03/16 09:00:27.402 GMT: Logging incoming TCP OldPacket. OPCode: 0xab00, size: 16 64.81.113.117:5999
2003/03/16 09:00:27.424 GMT: Logging outgoing TCP OldPacket. OPCode: 0xab01, size: 17 64.81.113.117:5999
2003/03/16 09:00:27.522 GMT: Logging incoming TCP OldPacket. OPCode: 0x1002, size: 67 64.81.113.117:5999
2003/03/16 09:00:30.923 GMT: [EQN] Logging incoming packet. OPCode: 0x5818, size: 196
21540 New client from ip: 192.168.0.10 port: 3418
Logged in: FirstLogin LS#18561: dpw13
2003/03/16 09:00:30.963 GMT: [EQN] Logging outgoing packet. OPCode: 0x5941, size: 0
2003/03/16 09:00:30.963 GMT: [EQN] Logging outgoing packet. OPCode: 0x0710, size: 1
2003/03/16 09:00:30.963 GMT: [EQN] Logging outgoing packet. OPCode: 0x0180, size: 1
2003/03/16 09:00:30.963 GMT: [EQN] Logging outgoing packet. OPCode: 0xd841, size: 4
2003/03/16 09:00:39.522 GMT: Logging outgoing TCP OldPacket. OPCode: 0x1001, size: 12 64.81.113.117:5999
2003/03/16 09:00:50.142 GMT: [EQN] Logging incoming packet. OPCode: 0x9241, size: 4
Sending list of guilds
2003/03/16 09:00:50.162 GMT: [EQN] Logging outgoing packet. OPCode: 0x4740, size: 1620
2003/03/16 09:00:50.163 GMT: [EQN] Logging outgoing packet. OPCode: 0x9241, size: 49156
2003/03/16 09:00:53.843 GMT: [EQN] Logging incoming packet. OPCode: 0x3541, size: 2056
Unknown opcode: 0x3541 size:2056
2003/03/16 09:00:54.403 GMT: [EQN] Logging incoming packet. OPCode: 0x3941, size: 2056
2003/03/16 09:00:54.422 GMT: [EQN] Logging incoming packet. OPCode: 0x9240, size: 12
Unknown opcode: 0x3941 size:2056
Unknown opcode: 0x9240 size:12
0: 00 00 00 01 00 00 00 00 - 00 00 00 00 | ............
2003/03/16 09:00:54.542 GMT: Logging outgoing TCP OldPacket. OPCode: 0x1001, size: 12 64.81.113.117:5999
2003/03/16 09:00:56.783 GMT: [EQN] Logging incoming packet. OPCode: 0x0180, size: 5
Error: InflatePacket: inflate() returned -3 'unknown compression method'
Packet contents:Vven
Attempting autobootup of neriakb (41) for Vven
2003/03/16 09:00:56.785 GMT: Logging outgoing TCP packet. OPCode: 0x0006, size: 73 127.0.0.1:1952
2003/03/16 09:00:56.802 GMT: [EQN] Logging outgoing packet. OPCode: 0xdd41, size: 15
2003/03/16 09:00:56.832 GMT: Logging incoming TCP packet. OPCode: 0x0003, size: 5 127.0.0.1:1952
2003/03/16 09:00:56.833 GMT: Logging incoming TCP packet. OPCode: 0x200c, size: 0 127.0.0.1:1952
Zoneserver SetZone: fortress13.no-ip.org:7997 neriakb (41)
2003/03/16 09:00:56.843 GMT: Logging outgoing TCP packet. OPCode: 0x0027, size: 117 127.0.0.1:1952
Enter world: Vven: neriakb (41)
Entering zone after character select screen.
2003/03/16 09:00:56.844 GMT: Logging outgoing TCP packet. OPCode: 0x0024, size: 5 127.0.0.1:1952
Broadcasting a world time update
2003/03/16 09:00:56.844 GMT: Logging outgoing TCP packet. OPCode: 0x200e, size: 12 127.0.0.1:1952
2003/03/16 09:00:56.893 GMT: Logging incoming TCP packet. OPCode: 0x0003, size: 5 127.0.0.1:1952
2003/03/16 09:00:56.893 GMT: Logging incoming TCP packet. OPCode: 0x0024, size: 5 127.0.0.1:1952
Zoneserver SetZone: fortress13.no-ip.org:7997 neriakb (41)
2003/03/16 09:00:56.903 GMT: [EQN] Logging outgoing packet. OPCode: 0x0480, size: 130
Client disconnected
Removing client from ip:192.168.0.10 port:3418
2003/03/16 09:01:09.563 GMT: Logging outgoing TCP OldPacket. OPCode: 0x1001, size: 12 64.81.113.117:5999
AFAIK, this happens with any zone and any character. [EQN] just means EQNetwork.cpp generated the output. I think that's it, I hope this helps. I'd be glad to provide more in-depth logs if needed.
|