CoOp:Anything
Search any game and see how much of it you can play with friends: every co-op mod, its stage, quality and community rating.
Drift City rebuilt in Unity from the original executable. Runs on your own copy of the game.
GamesC# · JavaScriptGitHub @MagicIbrarOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Drift City rebuilt in Unity from the original exe. Code only: runs on your own copy of the game files.
Taken from the repository README
Loading the full README.
Read the full README ↗A from-scratch rebuild of the online racing game Drift City in Unity, written by reverse-engineering the
original DriftCity.exe function by function, plus its own game server.
This repository contains no game content. No models, textures, sounds, music, interface art, data tables or executables. You need your own installed copy of the Drift City client: the rebuild reads every original file from it while it runs and never modifies it.
Website: https://magicibrar.github.io/driftcity-unity/
About 94% of the game's own code is converted (by size of the original code, after leaving out libraries and platform services the rebuild replaces on purpose). 3,032 functions are studied and cited in the notes, and 295 of the 384 dialogs the exe drives are rebuilt from the original layouts. It has 85 Unity play tests and 125 server tests. The code map has the per-subsystem breakdown.
Playable offline on your own or online on a server you host: the open cities (Moon Palace, Koinonia, Cras, Oros), traffic and HUV chases, the Battle Zone races and crew Channel Battles, the Undercity, missions and the storyline, the car show room, custom shop, parts, inventory, trade and auction, parties, friends, crews and chat, and the seasonal events.
Ready-to-run builds are on the Releases page:
DriftCityRebuild-Client-win64.zip (the Windows player) and DriftCityRebuild-Server.zip (the server, for whoever
hosts). Neither contains game files: put your game folder into a gameroot.txt next to the exe (and in the server
folder) as described below.
You need the installed client: the folder that contains DriftCity.exe and Data (with Init.agt, World.agt ...).
The client finds it in this order:
-gameRoot "C:\Games\Drift City" on the command lineDRIFTCITY_ROOT environment variablegameroot.txt next to the player exe (in the editor: in DriftCityOffline/, next to Assets) holding that pathThe archives (.agt, Patch\Patch.*) are mounted and read directly. Optionally, Drift City → Import Game Data
Into Project unpacks them into DriftCityOffline/GameData for faster loading; that folder is git-ignored and stays
on your machine.
DriftCityOffline in Unity Hub.DriftCityOffline/gameroot.txt containing your game path.Assets/Scenes/DriftCityGame.unity and press Play, or build with Drift City → Build Windows Player (no game data)
(output in DriftCityOffline/Build/DriftCityPublic). Put a gameroot.txt next to the built exe as well.git clone https://github.com/MagicIbrar/driftcity-unity.git
Only needed to play online.
DriftCityServer: npm install, then put your game path into DriftCityServer/gameroot.txt (or set
DRIFTCITY_ROOT).npm start (or start-server.bat). On the first start it reads the tables it needs from your game's archives
into DriftCityServer/gamedata (git-ignored), then listens on port 7860. To redo that step:
node tools/extract-gamedata.js "C:\Games\Drift City".Name|ws://HOST:7860 to servers.txt next to the client.npm test runs the server tests; node tools/bot.js 3 starts three test drivers.
The server is not the original one and does not speak its protocol: it is a new JSON-over-WebSocket server made for this rebuild, authoritative for money, rewards and items.
| Folder | What it is |
|---|---|
DriftCityOffline | The Unity client: file system and format readers (NayaPack, NIF, DDS, NUI, XLT/TDF), world, cars, UI, game modes, tests |
DriftCityServer | The Node.js game server (own protocol), its tests and the game-data extractor |
DriftCity_RE | Reverse-engineering notes with exe addresses, the opcode list and the code map |
DriftCityStaging | A small .NET harness used while studying formats |
docs | The project website (GitHub Pages) |
Pull requests with code are welcome. Never commit game files or anything extracted from them; the .gitignore
blocks the usual formats and the data folders.
A non-commercial fan project for preservation and study. It is not affiliated with or endorsed by the game's developer, publisher or the Hangame portal. Drift City and all related names are trademarks of their owners. The source code is released under the MIT licence; the game and all of its content remain the property of their owners and are not distributed here.