hey guys, this is a common issue with any router.
the halo dedicated server pings do not show up when the server is behind a router (this happens with most routers, I think hosting companies like gametracker.com are also using routers but their pings do show up).
It appears to be an issue with router/gateways using Port Address Translation vs
GameSpy's latest NAT negotiation feature designed to allow newer games to host
a listen server without needing to forward server ports in their firewalls.
With GameSpy's NATneg system, the GS master server sends a list of client IP:ports to
the halo server and the halo server attempts outbound connections directly to clients.
Clients expect to recieve packets on the server's advertised port (ie. 2302) but because
of PAT, the server sends the packet on a different port and the client's firewall drops it.
Therefore, the server cannot establish a direct UDP connection to the client at the time of
list loading and the server ping doesn't display to the client. When the client clicks the
server in the internet lobby, the GSMS sends the last server heartbeat data to the client
via a TCP port.
All halo servers send a heartbeat packet to GSMS periodically along with server status data so
this is why, even with no server ports forwarded, you can see such a server in the halo internet lobby (although connecting to such server would not be possible).
So any servers behind a PAT gateway will never show a ping in the halo internet lobby
but clients can still connect to the advertised server port directly via that same lobby.
I was hoping maybe you guys could figure it out and make a work around for this or so in a new tomato update?