final_option: Well, but it's not a stricty single-player game, so why should it be a bug? How should the game know what you intend to do (e.g. never play a LAN game).
Greywolf1: First of all, I'm still not sure what really happens. All I know is that my firewall informs me of an attempt to reach a certain IP address. According to information I obtained from searching the internet, I think it's probably not a private IP address owned by some outside server, but an address used by or for the service SSDP, for a purpose which may have to do with obtaining information about the LAN my PC operates or belongs to. Thinking is not knowing, and I know far less about what all this means. And I shouldn't have to be a network expert to understand what TQ.EXE is doing.
The main point is that this happens without my approval, even without informing me. I trust my firewall to protect me from unauthorized communication with the internet, and that my firewall thinks it's necessary to alert me is reason enough for me to be concerned - and it should be reason enough for the vendor of the game to avoid such a situation.
The main difference between SP and MP is that MP needs internet access while SP doesn't. Thus when SP tries to access the internet, it may be a bug or a feature, but it's not a normal property of SP. If it's a feature, I must be informed by the program, and because I'm not, I call it a bug, something that happens unintentionally, is not part of the normal functionality. Otherwise I would have to call it a deliberate attempt to do something behind my back, malware. That TQ supports MP, too, is true, but not an excuse - a designer could easily take care of the distinction between SP and MP. And QA should have spotted the issue before releasing TQ.
If unintentional, it's bad QA, bad design and / or bad coding, whatever, with other words, a bug.
Disclaimer: No offense intended, I have nothing to gain from defending the devs, I just like playing devil's advocat against people who rush to conclusions, which you do in my opinion, again no offense.
The IP adress is definitely part of the UPnP protocol (see quote below) and thus necessary for the MP part of the game. Is that my assumption? Yes. Is it very, very likely? Also yes. Could it have been done differently? Maybe, but that's not a bug, that's a difference in design philosophy between you and the dev in my opinion. We both don't know the source code, maybe there's a valid reason for the game to make that "hey are there other computers running TQ on the (local) network" (or something similar) call at startup instead of later.
As for "the program has to inform me about that": Yes, I agree with you, but does that make sense for everyone out there, all the computer illiterate people, who just want to play the game? Sometimes it's necessary to hide something the program does from the normal user so said user is not confused by that: "program is asking me/ telling me about weird shit, I just want to play my game!" I prefer having the boot log of my computer shown when I start it up. Most people don't, so Microsoft and others hide it behind a nice animated screen.
Sometimes it's neither malice nor stupidity (as per the usual phrase) on their part, but rather information they have and you don't (in this case the source code/general knowledge about the inner workings of the game).
The service will then initialize its Windows Sockets interface. To do this, a call is made to WSAStartup, requesting version 2.0; requiring version 1.1. If the version negotiation succeeds, the service will initialize a socket address structure containing the standard destination address for SSDP discovery requests – 239.255.255.250:1900. This will be used as the remote address when discovery messages need to be sent by the service. A socket is opened for receipt of event notifications, bound to the wildcard local address and event port (5000). This socket will be listened on and used as a template to accept TCP connections for eventing purposes.
from:
https://technet.microsoft.com/en-us/library/bb727027.aspx