0ad/source
Daniel Roschka 274500eb37
Always use STUN for hosting games using the lobby
This makes using STUN mandatory for games hosted using the multiplayer
lobby. The motivation for that is a reduction in complexity, because
right now if STUN is disabled we use a home-grown STUN-like logic, which
got implemented before Pyrogenesis got STUN support.

That home-grown logic relies on a custom ejabberd module (mod_ipstamp),
which inserts the external IP-address of a host in the response messages
when a host registers a game. Originally mod_ipstamp was also used to
inform all potential players of a hosts IP-address, however that has
already been removed to let hosts to only share their IP-address with
players actually joining their game.

Removing the home-grown logic and instead always relying on STUN removes
complexity in Pyrogenesis and the lobby server and also eases hosting
games for players, as they don't have to figure out anymore whether they
need to enable STUN or not.

These changes shouldn't negatively impact the ability of Pyrogenesis to
handle different types of NAT or broken networks. There is one
difference though: While the custom logic using mod_ipstamp utilized TCP
as transport protocol, the STUN implementation in Pyrogenesis currently
uses UDP. That doesn't allow hosts with UDP-connectivity issues to
resolve their external IP-address anymore, however without
UDP-connectivity they aren't able to successfully host games anyway, as
the actual game updates are transferred using UDP as well.
2025-01-20 06:52:14 +01:00
..
collada Update trac links with gitea links 2024-12-10 11:29:48 +01:00
graphics Mod Interface: Enable setting territory visibility 2024-12-30 22:23:05 +01:00
gui Fix alignment issue with 'imgleft' and 'imgright' 2025-01-19 17:50:16 +01:00
i18n Update trac links with gitea links 2024-12-10 11:29:48 +01:00
lib Switch main branch to Release 28 2025-01-12 01:27:02 +01:00
lobby Always use STUN for hosting games using the lobby 2025-01-20 06:52:14 +01:00
maths Tell GCC the maximum value of m_BufLen 2025-01-13 20:05:43 +01:00
mocks Revert non-ASCII characters from source and configuration files introduced in 157c6af18e. 2023-12-03 00:30:12 +00:00
network Always use STUN for hosting games using the lobby 2025-01-20 06:52:14 +01:00
pch Remove glooxwrapper 2024-11-25 20:01:00 +01:00
ps Remove profiler 2 spike/aggregated regions 2025-01-18 12:36:20 +01:00
renderer Fixes missing SPIR-V shader combinations. 2025-01-07 02:49:38 +01:00
rlinterface Shutdown mongoose in rl-interface gracefully 2024-06-23 17:26:03 +00:00
scriptinterface Small improvement to JS props iteration 2025-01-08 17:55:56 +01:00
simulation2 Remove profiler 2 spike/aggregated regions 2025-01-18 12:36:20 +01:00
soundmanager Fix sounds playing in the wrong places of the map 2025-01-04 11:53:26 +01:00
third_party Silence maybe-uninitialized warning in mongoose 2025-01-05 15:30:41 +01:00
tools Switch main branch to Release 28 2025-01-12 01:27:02 +01:00
main.cpp Catch all std::exception when loading a map 2024-12-31 09:43:46 +01:00
test_setup.cpp Make the TaskManager a automatic livetime object 2024-11-17 18:03:49 +01:00