Kristian: "The network code exists in the application itself to establish sockets to communicate with. On a LAN that would usually be done by either specifying an IP address manually (mid 1990's style) or in modern days by doing a UDP broadcast on the LAN to either announce a server's presence to all local clients or for clients to poll for the existence of a server"
What if anything would stop the Galaxy client to implement this A)For older games that don't support LAN or B)All games using the Galaxy API?
Could GOG say to developers and publisher: "Sure you are welcome to sell your game that doesn't support LAN on GOG" while at the same time adding functionality to Galaxy that would ensure LAN support for any game launched through it? Perhaps even (some?) non-GOG games.
I apologize for the length of this, but I want to express some things that require explanations that can't be easily shortened without losing their meaning, so I will just try to explain my thoughts about this as briefly as possible but try complete and hopefully help people understand the complexities involved at least as I see them from my own experience as a software developer.
LAN or Direct IP support in a game really needs to be implemented
in the game, or in the code linked into the game that is providing the networking functionality, and the game needs a user interface to specify which mode of networking to use and to enter an IP address (for direct IP) or a chooser to select a game running on the local LAN. If all that a game supports is connecting to a central service like Gamespy or similar, then the game's network code is hard coded to connect to the hosts of that service and to communicate with that service using the service's proprietary protocol.
The only way that game is going to play multiplayer is to connect to the service it was intended to, or to connect to another host that is running the exact same server software. So for example if you want to play a game that is hard coded to use the GameWhizBlaster online gaming service, then you have to use that service, or you have to have a machine that is running the exact same software that service runs and have a way of configuring or hacking the game to connect to a different DNS hostname than the official game service uses. An example of how this is done is with Blizzard's old games that connect to Battle.NET such as Starcraft or Warcraft II for example. Ignore for the moment that those games did not include LAN support and pretend that they only support Battle.NET. If Blizzard's Battle.NET no longer provides support for those games then you simply can't play them multplayer anymore unless you can set up your own Battle.NET server somehow and reconfigure the game to use the custom private service that is compatible with Battle.NET (again, pretend the games do not have LAN support). Fortunately some people reverse engineered Battle.NET and produced an open source alternative to it and released it on the Internet known as "bnetd", which ended up getting sued by Blizzard and taken offline more or less, but not long after that someone else took the bnetd code and kept working on it changing the name of it to "PvPGN" and it still works and is still available today. So, it is technically possible to play old Blizzard games (most of them are supported) using this 3rd party open source reimplementation of Battle.NET's server code and it works quite well. It is however in violation of Blizzard's license agreements and is something that would be used by end users manually rather than something likely to be endorsed by some game company out there, and Blizzard could and probably would sue anyone again if they felt the urge to.
In order to provide support for any other game out there in such a similar situation one would have to reverse engineer the game's communication protocol with the server back end and reimplement all of the functionality the server provides and in the case of a company like GOG.com, they would have to have the blessing of the rights owners to do this otherwise they would most likely be violating the licensing agreements and intellectual property laws. However, the chances are high that if a game company would allow a partner like GOG to do this, they probably would have the source code of the server side too, and just offer it to GOG to set up their own servers and no hacking or messing around would be necessary.
Now, what does that have to do with LAN support or direct IP support? Well, if a game does not have either built into it, then the only way it can communicate is through the existing mechanisms it has, and this basically means that a server has to be running somewhere that is using a compatible communication protocol the game already understands, and that the game can be pointed to the proper host that is running that server, and that all other gamers wanting to join the same game can also connect to that server. Now, if one were to run such a server on the local host the game is running on and redirect a DNS entry by hijacking the hostname via the local "hosts" configuration file to point to localhost, that would satisfy the local game to communicate to a server it can talk to. The other games on the network would be unaware of this completely and have no idea how to communicate to that server or that it even exists. To hack something automatic to handle this into this game server software you'd have to more or less set up every single game on the network to have their own local hack server like this, and the server modified to UDP broadcast across the LAN to try and autodetect other hosts running the game server, and then they could share status of games waiting for players to join or whatnot.
[ continued below]