Inconsistent and incomplete (and therefore, inaccurate) information about port setup for this game turned a few minutes of configuration/setup/testing into a couple of hours of wondering what went wrong. I'd bet if you can fix this non-technical issue, you'd help a fair number of people. It definitely would have helped me.
The issue:
..\Demigod\bin\DemigodManual.pdf states ports 6100 to 6200 should be opened. It refers specifically - and only - to UDP traffic.
..\Demigod\readme.txt does not mention a port range. It does mention you won't be able to connect if you're blocking TCP or UDP packets. It also points out the existence of ImpulseReactorOptions.exe. Traditionally, though I find this has become less true as the years go by, readme.txt files include newer and more-up-to-date information than the game manual. So I dove straight over to ImpulseReactorOptions.exe and found...
..\Demigod\bin\ImpulseReactorOptions.exe UI text indicates ports > 6001 should be opened, with a range of at least 20. The Use Default ports option actually sets the values to be 6112 - 6132. It refers specifically - and only - to UDP traffic.
This topic introduces a fourth set of recommended parameters: ports 6112 to 6200 need to be opened in point #2, but does not explicitly mention either UDP or TCP (or both) as being the required protocols. One might infer from Point 3 that UDP traffic is what we need to forward.
Within this topic, one user comment specifically states opening 6073 along with 6100 through 6200. I have no idea where 6073 comes from, and I don't want to know.
What I think should happen:
Document which ports or ranges of ports, along with stating clearly which protocol(s) are required. Get the word out. Don't get ham-fisted with port ranges either please. Does the game really need ONE HUNDRED TCP and/or UDP ports opened/half-opened/listening? If not, please play nice there - there are already a few apps/games on my system wanting to use one or more ports in that range. I'd like to minimize the potential for conflicts and confusion if possible.
If documentation is incorrect or incomplete (I think it is), please update it in a patch. This goes for the PDF for digital downloaders, as well as the readme.txt. And this topic thread. ImpulseReactorOptions.exe should be updated with accurate and complete information as well, but I don't believe editing a string and recompiling is going to harm baby seals, so I say go for it.
What could have been 10 minutes turned into a 2 hour read/search/read more/test/resolve cycle. And another 20 to get my thoughts in order for this post - so I hope it leads towards some benefit.