What goes where?
maps/<map>_server_exclusive.bsp -> Workshop and garrysmod/maps/
lua/autorun/server/*.lua -> garrysmod/lua/autorun/server/
data/bspmarket/*.json -> garrysmod/data/bspmarket/
English translation for convenience. The German version is authoritative: Kundendoku (Deutsch). Also available in French, Spanish and Turkish.
Key entities such as spawns, lights and logic are not in the map file but in a private server package. Your server loads them at map start if its licence is valid. On other servers the map stays incomplete. This is an additional protection layer, not absolute copy protection.
Only the protected *_server_exclusive.bsp from the ZIP. Never upload the unprotected original BSP. All other files from the ZIP stay private on your server.
maps/<map>_server_exclusive.bsp -> Workshop and garrysmod/maps/
lua/autorun/server/*.lua -> garrysmod/lua/autorun/server/
data/bspmarket/*.json -> garrysmod/data/bspmarket/
A Server-Exclusive licence bought or rented on bspmarket.de is bound to the public IPv4 address from which your game server contacts bspmarket.de for the licence check. With some hosting providers, for example behind NAT or with their own outgoing address, this is not the same IP that players use to join. If the licence check therefore reports a foreign IP, request a move to the outgoing IP in your library under "Licenses" or write to kontakt@bspmarket.de.
The map is still protected: entities that were taken out are only loaded by a server with a valid licence. The result report shows whether any were taken out. Without targetnames, however, no specific doors or triggers are additionally locked.
Offline buffer: If bspmarket.de is briefly unreachable, the map keeps running until the configured offline buffer runs out (the console calls it "grace"). The buffer is signed with your licence key: a manually edited expiry date invalidates it. If bspmarket.de reports the licence as revoked or expired, it ends immediately.
Signatures: Request and response of the licence check are signed with HMAC-SHA256.
Round restarts: In TTT, Prop Hunt, Murder etc. the package automatically reloads the removed entities and re-applies the door and trigger state. Multiple outputs of an entity are fully preserved.
Packages created before 28 Sep 2026: the licence script of that time did not load in Garry's Mod because of a bug. Create a new package (e.g. free of charge via key rotation) and replace the Lua scripts and the licence file.
Limitation: The licence key lives in the Lua on your server. For live use we recommend a functional test first and then external Lua obfuscation.