Biondo wrote:What does it mean "No or bad challenge ..."?
It does mean, the bots on BB, especially AwesomePossum, don't consider you a challenge anymore
.
More seriously, I will now attempt to explain what the challenge mechanism is: SG uses the Q3 engine which in return does not use connection based communication via the TCP, but utilizes connection-less communication via UDP.
If you communicate via TCP, source and destination do a handshake first, then establish a reliable communication channel. Reliable means here, data packets are transmitted in the correct order and are automatically resent, if they aren't correctly received.
In contrast, the UDP does not support connections. Each data packet is distributed independently of all others and may or may not be received (no guarantee). Since Quake3 uses UDP, it utilizes some additional means to simulate a reliable connection via UDP. One of these mechanisms is the challenge-response mechanism. It's Quake3's way of doing a handshake and creating some means of reidentifying the player's client. The challenge is basically a number (a question) that the server sends to the client and it expects an appropriate answer (also a number) in return. Appropriate means here, the response has to be calculated according to some predefined formula, for instance "response=challenge+IP".
The error message you quoted means, that either no response reached the server or the response was invalid. In both cases, the server won't talk any further with the client.
If you haven't changed anything on your computer or the router, maybe your provider did change something. It could be a straightforward thing such as blocking UDP communications, or at least blocking UDP communications on port 27960. It also could be something more subtle. I remember your ping increasing recently on BB during certain hours. If it increases beyond a certain value, it could trigger additional problems regarding your router.
Your computer probably is not directly connected to the internet, but communications are done via a router. The router get's assigned an IP address ("your" IP address, which actually is "his" IP address) and in return enables you to connect more than one computer to the internet. This is done by NAT (network address translation). This means, whenever your computer A wants to communicate to a server B, your router sends the packet on behalf of "his" IP address. It then creates a translation entry B->A which will be used to assign any response from the server B to your computer A.
This mechanism works great for TCP connections, since the router does understand TCP. It does not work so well for UDP communications, because your router cannot know that all the UDP packets your computer sends, are related. Remember that each packet is treated individually. If your computer sends a packet via UDP, your router creates a temporary translation entry and waits *some* milliseconds for a response. After that, it does not know where to sends these packets and they will be discarded.
In my household, I'm the only gamer. Therefore, I configured a static translation. I told my router, any UDP packet received via UDP 27960 is meant for my computer. In other words, I created a port forwarding for protocol UDP, port 27960. Maybe this will fix your problem.
Biondo wrote:And I don't have a router, but a simple switch.
Are you sure? You got a router, if all your computers at home share on internet connection via one public IP address.