Jump to content

Hosting with black shark i think i found a bug


graywo1fg

Recommended Posts

I dunno if that's the problem. Could be wrong but... if it were, then a DMZ should fix all associated problems. Unfortunately, that's the case. I know some ISPs block certain incoming ports whether you forward them or not. Maybe that's why some people have problems and not others?

Link to comment
Share on other sites

  • Replies 115
  • Created
  • Last Reply

Top Posters In This Topic

In an order of a guess: Looks like the port in the client server browser is taken not from server settings, but from the UDP packet header - and when passing the NAT wall, the latter gets edited by the router. That explains every aspect of the problem.

You want the best? Here i am...

Link to comment
Share on other sites

I thought so at first too, but the port of a server is acquired from the master server, not from the session server. Don't understand where the 60k-64k random port is coming from.

 

But yes you are correct, the IP and port are not sent from your game server to the master server in the packet data, but in the header.


Edited by SixMarbles
Link to comment
Share on other sites

DarkWanderer your post has me thinking, if there is a NAT problem then ED's master server logs will not show anything wrong. They will show us hosting a server on port 60k something...

 

but I can't understand why the port would be translated if an appropriate forwarding profile has not been set up on the router, especially with a DMZ up. And especially if the WAN side port is randomly selected. A mystery!

  • Like 1
Link to comment
Share on other sites

but I can't understand why the port would be translated if an appropriate forwarding profile has not been set up on the router

The forwarding may be down, but if NAT is up - the server announces itself, and it doesn't really need a responce from master. Then, the announcement packet is spoiled and the drill becames as described.

 

especially with a DMZ up. And especially if the WAN side port is randomly selected. A mystery!

What's your realization of DMZ (I've usually set it up manually)? If it's a traditional dedicated subnet behind the NAT - I think, the same applies here.

Try checking the port mappings when the problem repeats.


Edited by DarkWanderer

You want the best? Here i am...

Link to comment
Share on other sites

Maybe I should avoid the word translation, I don't mean it in the generic context of NAT; I mean when an IP header is changed so that the destination port of an incoming packet on the LAN (private) side is changed from the destination port the packet carried on the WAN (public) side. This is a useful workaround to the port problem we're having, but it only works for so long; if I forward the port the master server assigns me (say for example 60144) people can see my game's info for about 5 minutes on the client's server browser. After this time, the port clients will see associated with my server will change to a different port (for example 60159) and of course this new, randomly chosen port will not get them connected, nor will my server information be displayed on the server list after a timeout of a few minutes. Clients can still connect if they manually change the port to the original one I forwarded (60144) but the only way they know that is if we're on voice comms.

 

EDIT: bear in mind this all occurs even when I start the server using the default 10308, or any other port for that matter. And when I say forward the randomly generated port, I mean forward the 60k-64k port (WAN) to 10308 (LAN).

 

By DMZ I mean such that all incoming traffic is forwarded to a local (in my case static) IP behind the NAT while maintaining the same destination ports. This way, all incoming traffic is forwarded to my server. I don't do this habitually of course, unless I'm troubleshooting.


Edited by SixMarbles
Link to comment
Share on other sites

Understand also that I do not have this issue with other programs. I routinely set up my NAT to handle various games as well as FTP and have been able to fully implement server browser functionality. Ask Graywo1f!

 

Not that it matters, as mentioned before the ED master server doesn't seem to use server info (except ip and port) from the session server's heartbeat. Session info is parsed directly from the session server to the clients upon request, not from ED master server.

Link to comment
Share on other sites

Not sure if this would help anyone, especially hosts.

 

I use a tool that we use to troubleshoot network, VPN, internet connection for accessing different type of applications.

 

The tool in question is legit & free, its open source.

http://www.wireshark.org/

 

Hope this help, doing an analyst might yield some lights on what’s going on.

 

I’m kind of curious on what I’ve read in this thread, so there’s a master server log? Does this log collect and use to redirect input on the screen to clients showing the server available? If so, it uses the same port 10308? Wondering, since I had issues hosting this morning, I tried everything, thought maybe network related, so I by passed my router and connected stand alone, still the people trying to connect to me was not able to see my server in the master list and was not even able to connect direct via IP and I had no firewall enable on that time...

 

Anyhow maybe this tool might help, hopefully ED will get that issue resolve.

 

Cheers

Antec 900 gaming tower, PSU: Corsair 750W, Q6600, Asus P5K, 8Gig Mushkin, Nvidia eVGA 280 GTX Superclocked 1G DDR3, SSDNOW200 Kingston Drive, TrackIr 3000+Vector, Logitech Extreme 3D Pro joystick, Saitek rudder pedals pro, Sharp 42" inch LCD Aquo. OS: windows 7 64bit.

Link to comment
Share on other sites

Yeah, I use wireshark :D that's how I was able to determine all the juicy info I have about server browsing in DCS.

 

As far as browsing servers goes, there is an ED master server which all clients poll for server listings. The master server does not disseminate any server info besides the IP address and port of servers.

 

When you click on 'client' and begin browsing servers, you send a 'getservers' packet to the master server after a DNS check for the master server's IP. The master server responds with a small UDP packet with all server IPs and ports, each server in the packet data being separated by a "|" ASCII character.

 

Initially, you don't see the server names or map names. For this, you have to press "Refresh". This causes your game client to send a small 'getinfo' packet to each and every server you see on the list, and then the servers all respond (or not) and your server info fills in. The servers still listed as only IP/port are either shut down, or aren't responding on that port because the master server has erroneously assigned them a 60000-64000 random port. This is the problem we've been experiencing >:(

Link to comment
Share on other sites

Sigh.

 

 

 

 

 

If my server's heartbeat is sent on port 18308 UDP (which I have confirmed using a packet analyzer), why does the master server list my server with a randomly selected port (60000-64000)?

 

Upon further reflection, if the problem is in the code on the master server, it is not likely to me that the server's logs will show anything wrong. They will likely indicate that my server simply hosted on such-and-such random port.

 

I don't understand what is going on here, and I have exhausted every analytical option I can think of on the client/server side with the help of Graywo1f. I can't think of anything else to do from here... I can confirm my server is throwing traffic at the master server on port 10308...

  • Like 1
Link to comment
Share on other sites

You should try to remove the router or at least put sniffer between internet and router. Don't trust DMZ implementation of router. To designate this wrong behavior as software bug, routers should be ruled out at first.

Wir sehen uns in Walhalla.

Link to comment
Share on other sites

Very well... as much as I hate doing this, I will bypass my router and expose my tender, pink behind directly to the WAN with no firewalls of any kind.

 

I doubt it will make a difference though... I routinely host many servers of many kinds without incident. Additionally, I have attempted to host DCS on the same port I use to host Raven Shield and ArmA servers, and the same problem occurs.

 

But here goes... will post again with results.

Link to comment
Share on other sites

  • ED Team
Initially, you don't see the server names or map names. For this, you have to press "Refresh".

This is already fixed in the patch.

 

The servers still listed as only IP/port are either shut down, or aren't responding on that port because the master server has erroneously assigned them a 60000-64000 random port. This is the problem we've been experiencing >:(

Seems the problem is in routers, which remap outgoing server packets even if you correctly set up port forwarding. I added server port into heartbeat packet, so this problem should be solved in the patch.

 

Thank you for reporting.

  • Like 1

Dmitry S. Baikov @ Eagle Dynamics

LockOn FC2 Soundtrack Remastered out NOW everywhere - https://band.link/LockOnFC2.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...