Traduction française fournie à titre informatif. La version allemande fait foi : Kundendoku (allemand). Également disponible en anglais, espagnol et turc.

Server-Exclusive

La map ne tourne que sur votre serveur sous licence.

Des entités importantes, comme les spawns, les lumières et la logique, ne se trouvent pas dans le fichier de la map, mais dans un paquet serveur privé. Votre serveur les charge au démarrage de la map si sa licence est valide. Sur les autres serveurs, la map reste incomplète. Il s'agit d'une couche de protection supplémentaire, et non d'une protection anticopie absolue.

Comment ça fonctionne

1. Des entités sont retiréesLors de la protection, des entités importantes passent du fichier de la map au paquet serveur privé.
2. Votre serveur vérifieÀ chaque démarrage de la map, il demande à bspmarket.de si la licence est valide.
3. Complète seulement avec licenceSi elle est valide, les entités sont chargées. Sans licence valide, elles manquent.

Quel fichier mettre dans le Workshop ?

Uniquement le fichier protégé *_server_exclusive.bsp contenu dans le ZIP. Ne mettez jamais en ligne le BSP original non protégé. Tous les autres fichiers du ZIP restent privés sur votre serveur.

Qu'est-ce qui va où ?

maps/<map>_server_exclusive.bsp -> Workshop et garrysmod/maps/

lua/autorun/server/*.lua -> garrysmod/lua/autorun/server/

data/bspmarket/*.json -> garrysmod/data/bspmarket/

Que dois-je renseigner ?

  • Nom du serveur : une note pour vous et le support.
  • IP du serveur : facultative. Avec une IP, la licence ne vaut que pour ce serveur. Seul un hash est stocké.
  • ID Workshop : facultatif, une simple note.
  • Délai hors ligne : durée pendant laquelle la map continue de tourner quand bspmarket.de est injoignable.
  • targetnames : facultatifs. Noms Hammer des portes, triggers ou entités, une entrée par ligne. Ils restent en plus verrouillés sans licence valide.

Licence de la marketplace : quelle IP compte ?

Une licence Server-Exclusive achetée ou louée sur bspmarket.de est liée à l'adresse IPv4 publique à partir de laquelle votre serveur de jeu contacte bspmarket.de pour la vérification de licence. Chez certains hébergeurs, par exemple derrière un NAT ou avec leur propre adresse sortante, ce n'est pas la même IP que celle utilisée par les joueurs pour se connecter. Si la vérification de licence signale de ce fait une IP étrangère, demandez dans votre bibliothèque, sous « Licences », un transfert vers l'IP sortante ou écrivez à kontakt@bspmarket.de.

Si vous ne renseignez aucun targetname

La map reste tout de même protégée : les entités qui ont été retirées ne sont chargées que par un serveur disposant d'une licence valide. Le rapport de résultat indique si des entités ont été retirées. Sans targetnames, aucune porte ni aucun trigger précis n'est toutefois verrouillé en plus.

Délai hors ligne et sécurité

Délai hors ligne : si bspmarket.de est brièvement inaccessible, la map continue de tourner jusqu'à la fin du délai hors ligne configuré (dans la console : « grace »). Ce délai est signé avec votre clé de licence : une date d'expiration modifiée à la main le rend invalide. Si bspmarket.de signale la licence comme révoquée ou expirée, il prend fin immédiatement.

Signatures : la requête et la réponse de la vérification de licence sont signées avec HMAC-SHA256.

Changements de manche : en TTT, Prop Hunt, Murder, etc., le paquet recharge automatiquement les entités retirées et rétablit l'état des portes et triggers. Les outputs multiples d'une entité sont entièrement conservés.

Paquets créés avant le 28/09/2026 : le script de licence de l'époque ne se chargeait pas dans Garry's Mod à cause d'un bug. Créez un nouveau paquet (par exemple gratuitement via la rotation de clé) et remplacez les scripts Lua ainsi que le fichier de licence.

Limite : la clé de licence se trouve dans le Lua sur votre serveur. Pour une mise en production, nous recommandons d'abord un test fonctionnel, puis une obfuscation Lua externe.

Ce qui n'est pas garanti