GarageMP is a BeamMP server/client mod that persists selected players' vehicles across disconnects and server restarts.
This is the canonical project guide. Release packaging also uses this file.
Resources/Server/GarageMP/main.luaResources/Server/GarageMP/data/.gitkeepResources/Client/GarageMP/(client source)README.md
- Stop your BeamMP server.
- Build
Resources/Client/GarageMP.zipfromResources/Client/GarageMP/(or download a release artifact). - Copy this repository's
Resources/folder into your server root directory. - Confirm these paths exist:
Resources/Server/GarageMP/main.luaResources/Client/GarageMP.zip
- Start the server.
Quick local build command:
(cd Resources/Client/GarageMP && zip -rq ../GarageMP.zip . -x "*.DS_Store")Release package build command:
./scripts/package_garagemp.shNotes:
- Built zip files are not tracked in git.
- Source of truth for client code is
Resources/Client/GarageMP/.
- Join the server with the account that should become admin.
- Run
/garagemp setup. - Add a player to persistence with
/garagemp add <playerName>. - Confirm state with
/garagemp info.
/garagemp help/garagemp status/garagemp limits/garagemp add <playerName>/garagemp remove <playerName>/garagemp list/garagemp save/garagemp clear <playerName>/garagemp addadmin <playerName>/garagemp removeadmin <playerName>/garagemp info/garagemp proxyclear <playerName|beammpID>/garagemp syncmode <proxy|file|status>
Optional alias:
- No legacy alias is supported. Use
/garagemp ...for all commands.
- Stop server.
- Backup
Resources/Server/GarageMP/data/. - Replace:
Resources/Server/GarageMP/main.luaResources/Client/GarageMP.zip(rebuilt from source or from release)
- Keep existing
data/files. - Start server and validate with
/garagemp info.
Config file:
Resources/Server/GarageMP/data/config.json
Key settings:
autoSaveIntervalMsmaxVehiclesPerPlayerserverMaxCarsPerPlayer(set this to your BeamMPMaxCarsvalue)commandPrefixsyncMode(proxyto keep offline owners live via hosts,fileto disable proxy syncing)excludeGuestsAsHostsspawnMaxRetriesretryBaseDelayMsremoveMaxRetries
config.jsonstores admins, persist list, and settings.vehicles_<beammpID>.jsonstores per-owner vehicle snapshots.
BeamMP cannot keep vehicles physically spawned when zero clients are connected. GarageMP persists vehicles and restores/re-hosts them when suitable clients are online.
When there is not enough live vehicle capacity across connected proxy hosts, GarageMP keeps as many vehicles synced as possible and queues the overflow. Queued overflow stays in persisted files and is restored on owner login or when proxy capacity becomes available.