| .onedev-buildspec.yml | Loading last commit info... | |
| .gitignore | ||
| CMakeLists.txt | ||
| README.md | ||
| build.sh | ||
| main.cpp | ||
| mingw-w64-i686.cmake | ||
| version.def | ||
| winmm.def | ||
| ws2_32.def |
README.md
Need for Speed: ProStreet Server ASI Loader (ProStreetServerASILoader)
An ASI loader specifically engineered for the Need for Speed: ProStreet dedicated server executable (bombd.exe). It provides a lightweight proxy DLL interface (winmm.dll) that intercepts startup initialization calls, forwards system multimedia and Winsock functions, and dynamically loads custom .asi plugins from the root directory or scripts/ folder into bombd.exe's process space.
Repository URL: https://code.weexnes.dev/ProStreetServerASILoader/
Features
- Automated Plugin Discovery: Automatically creates and scans
.\and.\scripts\for.asifiles on startup. - Full Windows & Linux (Wine) Compatibility: Works natively on Windows and under Linux Wine runners (via
winmm.dllproxying and PE Import table mapping inOpenProStreetV). - Winsock & Multimedia Forwarding: Wraps and forwards all
ws2_32.dllandwinmm.dllcalls via dynamicGetProcAddressresolution. - Console Debug Logging: Provides clear console feedback detailing hooked DLL status and loaded plugins.
- OneDev CI/CD Ready: Includes complete
.onedev-buildspec.ymlconfiguration for automated cross-compilation, tag generation, and artifact releases.
Installation & Deployment
- Download the latest
winmm.dllfrom releases (or build from source). - Place
winmm.dllinto the directory containingbombd.exe(e.g.~/.OpenProStreet/). - Place any
.asiplugins into the root server directory or inside thescripts/folder (.\scripts\). - Launch
bombd.exe(or run./OpenProStreetV start).
Build Instructions
Prerequisites
- Linux:
cmake,make,mingw-w64-gcc,python3# Arch Linux sudo pacman -S cmake make mingw-w64-gcc python
Cross-Compiling for Windows x86
Run the provided cross-build script:
chmod +x build.sh
./build.sh
The compiled output will be generated in build/:
build/winmm.dll: The proxy loader binary.build/ProStreetServerASILoader_v1.0.0.zip: The packaged release zip.
Plugin Development Template
For building custom server .asi plugins, check out the plugin template repository:
https://code.weexnes.dev/ProStreetServerASILoader/PluginTemplate
Project Structure
ProStreetServerASILoader/
├── CMakeLists.txt # CMake build configuration
├── build.sh # Linux-to-Windows cross-compilation script
├── main.cpp # Proxy loader implementation & plugin scanner
├── mingw-w64-i686.cmake # MinGW 32-bit toolchain file
├── winmm.def # Module definition file for export forwarding
├── README.md # Project documentation
└── .onedev-buildspec.yml # OneDev CI/CD pipeline spec
License
Distributed under the MIT License.