The UPnP implementation included a combination of two subtle bugs, which resulted in failure to create port forwardings every time after the first one. When using UPnP, the internet gateway to create the port forwardings at needs to discovered. As that takes a while, the its root descriptor URL was supposed to be cached after successful discovery in the user config in "network.upnprootdescurl". However, instead of caching the root descriptor URL, the control URL got cached. That caused following requests to the root descriptor URL to fail, as they ended up at the control URL instead. As such requests might also fail when the network topology changed, the code was supposed to fall back to discovering the internet gateway again when the cached one didn't work. However, due to the inner workings of miniupnpc the request using the cached root descriptor URL didn't result in an error, so the new discovery was never triggered. As the wrong value was persisted in the user config there was also no way to get out of this situation again. This commit fixes both of these bugs. As far as I can tell these bugs existed since the introduction of the caching of the root descriptor URL in |
||
|---|---|---|
| .gitea | ||
| binaries | ||
| build | ||
| docs | ||
| libraries | ||
| source | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .markdownlint.yaml | ||
| .pre-commit-config.yaml | ||
| .yamllint.yaml | ||
| LICENSE.md | ||
| license_dbghelp.txt | ||
| license_gpl-2.0.txt | ||
| license_lgpl-2.1.txt | ||
| license_mit.txt | ||
| README.md | ||
| ruff.toml | ||
0 A.D. Introductory Information
0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform real-time strategy game of ancient warfare.
This is currently an incomplete, under-development version of the game. We're always interested in getting more people involved, to help bring the game towards completion and to share the interesting experience of developing a project of this scope.
There are several ways to contact us and find more information:
- Web site: https://play0ad.com/
- Forums: https://www.wildfiregames.com/forum/
- Gitea (development info, bug tracker): https://gitea.wildfiregames.com/
- IRC: #0ad on irc.quakenet.org
Running precompiled binaries on Windows
A precompiled, ready-to-play development version of the game is available from
a checkout of the nightly-build SVN repository. If you are using the git
repository, you have to follow the steps below.
In a checkout of the nightly-build SVN repository, open the "binaries\system" folder.
- To launch the game: Run pyrogenesis.exe
- To launch the map editor: Run Atlas.bat or "pyrogenesis.exe -editor"
Compiling the game from source code
The instructions for compiling the game on Windows, Linux and OS X are at BuildInstructions.
Reporting problems
Bugs should be reported on Gitea. For information on reporting problems and finding logs, see ReportingErrors.
Contributing Code
If you want to help out programming for the game, have a look at GettingStartedProgrammers or contact us on #0ad-dev on irc.quakenet.org
Contributing Artwork
If you want to make artwork for the game, have a look at For Artists or visit the forums.
Translating
You can help translating the game at https://www.transifex.com/projects/p/0ad for more information, see Localization