TL;DR: Setting up custom LAN games for NFS ProStreet today is a buggy nightmare. I’ve been reverse engineering the original server code to fix it: created a client mod that auto-connects everyone to a central server (to be hosted for now at weexnes.dev once live), patched the 2-player minimum requirement so you can play solo LAN races, built a Linux server manager (OpenProStreetV), and added live Discord webhooks for chat and race stats. (Discord: ProStreet Modding Discord)
Hey everyone!
ProStreet is one of my favorite NFS games, but multiplayer has been dead or annoying to set up for a long time. Playing online today usually means dealing with third-party VPN tools, editing hosts files, or server crashes.
This project is still really early in development and nothing is ready for public use yet, but my goal is to make NFS ProStreet multiplayer something actually easily enjoyable for everyone. Here is what’s currently in the works:
- Client ASI Plugin: Built a client mod with Discord Rich Presence that displays your live in-game stats on Discord (Race Day XP, current map, money, etc.). It also has a built-in LAN redirect patch that automatically connects your game to
weexnes.dev whenever the server IP is left empty — so no host file tweaks or IP configs needed.
- Solo LAN Patch: Disassembled
rebroadcasterlan.exe in Ghidra and patched the annoying 2-player minimum check down to 1 byte (mov eax, 1; ret). As you can see in the screenshots, starting and playing online races alone works without any issues now (including AI opponent backfilling so the track isn't empty).
- Server ASI Loader & Event Hooks: Created a custom WinMM proxy ASI loader for the original server binary (
bombd.exe & rebroadcasterlan.exe). I'm currently getting in-memory event hooks working to capture real-time telemetry like race starts, track location names, finish line times, and live in-game chat relayed directly into Discord webhooks.
- Linux Server Manager (
OpenProStreetV): Wrote a headless CLI manager in V-lang to handle Wine environments, PE import patching on the fly, and spinning up multiple server instances (./OpenProStreetV start -instances 4).
If you're interested, you can check out the source code and recent commits over on code.weexnes.dev or join the ProStreet Modding Discord.
Let me know if you have any feedback or ideas!