If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
I now get the very same from my machine. I have been able to connect OK from JoeQuake though. It looks like a malformed net message forcing a disconnect here, so I just need to track that down.
@Baker - I just dumped net_dgrm.c from JoeQuake into DirectQ, and twiddled with it until it compiled OK. This seems to be the critical piece of code (in _Datagram_Connect):
Yup, that fits the theory that there's something bad in the network transmission and that only happens on a ProQuake server. I've been able to reproduce it using a local ProQuake dedicated server too, so I'll be able to run that in the debugger now and see what's causing it from both sides of the connection.
MH, what all did you do here to go from a "level 1" NAT fix to a "level 2" NAT fix.
This might help some other engine in the future (like Quakespasm or FitzQuake).
Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.
So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...
Pretty much what I said above - a wholesale replacement of my net_dgrm.cpp with the net_dgrm.c from JoeQuake, and adding in the precise aim stuff. The code I gave above (opening a new socket then closing the original one on the client side) seems to be the critical item for this, but I'd need to test a little more to confirm that. So far it seems totally benign on non-PQ and non-NATted servers so the sock->mod and sock->mod_version conditions could probably go.
The precise aim stuff is really a semi-protocol modification which was required to prevent the instant disconnect. That's probably a good thing for all clients to have so that they can connect to PQ servers anyway, but it still needs some more massaging in order to play nice with multiple protocol support.
The current plan is that I should be in a position to test properly from behind a NAT device over the weekend so I can straighten stuff out a little better and write it all up.
I think Nitro deserves a lot of credit here for reporting it in the first place, being a willing and cheerful tester, and feeding back with good info. Peg too for the server console info which put me on the trail of the precise aim stuff.
Bah, I ran into the exact same problem with the precise angles when I was fixing Darkplaces to connect to ProQuake servers, I wish I noticed this thread sooner, could have saved you some pain.
Bah, I ran into the exact same problem with the precise angles when I was fixing Darkplaces to connect to ProQuake servers, I wish I noticed this thread sooner, could have saved you some pain.
You're advised to read the readme that comes with the code, but in summary the only reason I've released it is for GPL compliance. There are going to be subtle interactions between the multiple protocols DirectQ supports and the new code, which will need to be worked out. Any engine compiled from this should NOT be considered suitable for general purpose use, but MAY be used in specific cases where the same problem is encountered. Don't consider any of the extra features that the PQ netcode supports to be in any way "finished"...
Comment