Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Share and download Forza Horizon 2 liveries, tunes and group vinyls from the game's own menus, through a community server. The game's Share, Find, Suggested and download screens work again, as they did when the original servers were online, and so do the speed trap and speed zone leaderboards and Rivals.
Unofficial fan project for the PC version of Forza Horizon 2 running on Azimuth. Not affiliated with, endorsed by or connected to Microsoft, Turn 10 Studios or Playground Games. Forza and related names belong to their owners.
DWrite.dll next to azimuth.exe, and the download below already includes it
(version 2.8.0). If you use other FH2 mods you have it already; it's one shared file.Download CommunityGarage-<version>.zip from the latest release.
Close the game.
Extract the zip into your Azimuth folder, the one that contains azimuth.exe. You end up with:
azimuth.exe
DWrite.dll <- the FH2 Mod Platform (shared by all FH2 mods)
fh2-mods\CommunityGarage.dll
communitygarage\server.ini
If Windows asks to replace DWrite.dll, say yes unless yours is newer than 2.8.0. Don't delete anything
else that is already in fh2-mods.
Start the game. The first time, the mod makes your account key (see below). Nothing else to set up.
To check that it loaded, open fh2-mods\platform.log: lines tagged [CommunityGarage] should include HTTP bridge installed.
If Azimuth updates to a version this release doesn't know yet, Community Garage switches itself off and the title screen says so: the game then plays as it does offline until an update of the mod supports it.
communitygarage\server.ini.The first start creates a random account key in communitygarage\account.ini (older versions kept it in server.ini; it's moved over automatically). It's your login:
keep that file private and back it up (if you lose it you become a new player and lose control of what you uploaded).
Updates don't touch it. Your creator name is the gamertag from azimuth.ini (a number is added if someone already has that
name); put name= under [account] in account.ini to change it. To start a new account, delete account.ini.
check=0 under [updates] in server.ini.The rules for the server are in docs/TERMS.md.
Close the game and delete:
fh2-mods\CommunityGarage.dllcommunitygarage folder (this holds your account key)To remove the FH2 Mod Platform and every mod built on it, also delete DWrite.dll and the fh2-mods folder.
Your game saves aren't touched. Designs you downloaded stay in your garage.
| Problem | What to try |
|---|---|
| Nothing connects, or "server not available" | Check your internet connection and that communitygarage\server.ini still has the server address (host=) and scheme=https. |
| "The saved copy of this item is not on this server" when sharing | The game remembers it already uploaded this item somewhere else. Change it slightly, or save a copy, and share again. |
| "This livery is too big for the game to load" on one livery | That livery is over the game's download limit of about 337 KB (see Limits). Liveries uploaded before the server enforced the limit can still be on the server and can't be opened by anyone. Other liveries download normally. |
| A share is refused | The server checks every upload for broken files and offensive text; the game's popup says why. Check the title and keywords first. |
| The title screen says Community Garage doesn't support your Azimuth version | Azimuth was updated after this release. The mod is off and the game plays offline; look for a Community Garage update. |
| Rivals says "cannot connect to Xbox Live", or "SERVER ERROR" when the race starts | The server you use doesn't have Rivals yet (it needs the current server version), or you're on an older version of the mod. |
| Community Garage does nothing when started from FH2MP | That's on purpose: it stays off in FH2MP launches (see Requirements). Start the game without the FH2MP launcher to use it. Don't turn on Load when playing online for it on the MODS page; the two would collide. |
No [CommunityGarage] lines in platform.log | The mod didn't load (or the game was started from FH2MP, where it stays off). Check that DWrite.dll is next to azimuth.exe and that fh2-mods\CommunityGarage.dll exists. |
Creator name shows with #2 | Someone already uses your gamertag on the server; a number keeps names unique. |
| The game crashes | Send the newest files in fh2-mods\crashes and data\logs. |
For a detailed log, turn on Detailed log (troubleshooting) on the MODS page (or add [debug] with trace=1 to
server.ini) and restart. It adds extra hooks and makes platform.log large, so turn it off afterwards.
CommunityGarage.dll), its packaging and the research notes.| Path | What |
|---|---|
mod/src/ | The mod: communitygarage.cpp (redirects, fixes, Mods page, Drivatar names, Rivals), xhr_bridge.cpp (real HTTP for the game's requests), notify.cpp (error messages in the game's popup and HUD) |
platform/ | The FH2 Mod Platform, a Git submodule (Trinculo54/fh2-mod-platform) |
packaging/ | Player zip scripts and templates (package-player.ps1 for Windows, package-player.sh for CI) |
docs/ | re-notes.md (how the game's protocol and share flow were worked out) and TERMS.md |
.github/workflows/ | CI: builds and packages on a release or by hand |
Clone with submodules: git clone --recurse-submodules <url> (or git submodule update --init afterwards).
With llvm-mingw, CMake and Ninja (the code uses MSVC-style SEH, which needs clang):
cmake -S . -B build -G Ninja -DCMAKE_C_COMPILER=x86_64-w64-mingw32-clang -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-clang++ -DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres
cmake --build build
This produces build/CommunityGarage.dll and build/platform/DWrite.dll. On Linux, cross-compile with
-DCMAKE_TOOLCHAIN_FILE=platform/cmake/mingw-w64-x86_64.cmake.
Then packaging\package-player.ps1 (Windows) or packaging/package-player.sh <mod dll> <platform dll> <out.zip> makes the player zip.
VERSION in CMakeLists.txt (the mod reports it, and players' update check compares it with the release tag).v1.0.1, and publish it.VERSION, and attaches CommunityGarage-<tag>.zip to the release.
You can also run it by hand from the Actions tab to get the zip as an artifact.git submodule update --remote platform, rebuild, and test. The mod is built against the platform's public header.
licenses\).