Des plugins Rust payants, chargés uniquement sur les serveurs qui paient.
Une requête web depuis Oxide ou Carbon. Un serveur par clé.
Forfait Free · Sans carte bancaire · Prêt en quelques minutes
Vous codez avec un agent IA Collez un prompt- C#
- Oxide / uMod
- Carbon
- Tebex
- Stripe
- Gumroad
- Discord
Pensé pour votre façon de vendre.
Toujours un seul .cs
Le webrequest intégré d'Oxide, aucune DLL à livrer.
webrequest.EnqueueUne clé, un serveur
Une limite d'IP de 1, 3 ou 10.
TOO_MANY_IPSRévoquez, suspendez, bloquez
Une clé, une IP de serveur ou une plage.
Des clés depuis votre boutique
Tebex, Stripe, Gumroad, Payhip et d'autres.
Discord assure l'assistance
Les acheteurs activent leurs clés l'équipe reçoit des alertes de partage.
Sentinel la voit se déplacer
Signale les clés qui sautent d'un serveur à l'autre.
Tous les forfaitsEn ligne avant votre prochaine version.
- 1Créer un compte gratuit
- 2Connectez votre boutique
- 3Un webrequest au chargement
[Info("MyPlugin", "You", "1.2.0")]
public class MyPlugin : RustPlugin
{
const string ApiKey = "slk_..."; // can only validate licenses
void OnServerInitialized()
{
var body = JsonConvert.SerializeObject(new { licenseKey = (string)Config["LicenseKey"] });
var headers = new Dictionary<string, string> { ["Authorization"] = "Bearer " + ApiKey, ["Content-Type"] = "application/json" };
webrequest.Enqueue("https://api.sunlicense.com/api/v1/validate", body, (code, response) =>
{
if (code != 200) return; // no answer is not a no: keep running
var result = JObject.Parse(response);
if ((bool)result["valid"]) Puts("License valid, loading");
else { PrintError($"License denied: {result["code"]}"); Interface.Oxide.UnloadPlugin(Name); }
}, this, RequestMethod.POST, headers);
}
}Vos questions, nos réponses.
Comment empêcher le partage de mon plugin Rust
Un plugin Rust est distribué sous forme de fichier .cs, donc toute personne déterminée peut en retirer une vérification, et aucune licence n'y change rien. Une clé par acheteur avec une limite d'IP rend le partage visible et stoppable la clé fonctionne sur le serveur de l'acheteur, la même clé sur un autre serveur est refusée avec TOO_MANY_IPS, et une clé qui a fuité peut être révoquée pour que chaque copie s'arrête à sa prochaine vérification.
Est-ce que ça marche avec Oxide (uMod) et Carbon
Oui. La vérification est une requête HTTPS vers la REST API de SunLicense, faite avec l'outil webrequest dont disposent déjà les plugins Oxide, et Carbon exécute les plugins Oxide. Rien de plus n'est installé sur le serveur de l'acheteur. Il existe aussi un SDK .NET, mais pour un plugin en un seul fichier, l'appel REST est plus simple.
Comment limiter un plugin Rust à un serveur par achat
Donnez à la politique une limite d'IP de 1. Le premier serveur qui vérifie la clé prend l'emplacement, et toute autre adresse est refusée avec TOO_MANY_IPS. Quand un acheteur passe sur une nouvelle machine, l'ancienne adresse se libère d'elle-même après 30 jours sans usage, il peut la libérer dans le portail client (Lite et Standard), ou vous la libérez sur la page de la licence.
Que se passe-t-il le jour du wipe si SunLicense est en panne
C'est votre plugin qui décide. Une requête échouée n'est pas un refus l'exemple garde le plugin chargé quand il n'y a pas de réponse et ne le décharge que si SunLicense dit que la clé n'est pas valide. Les vérifications de licence tournent sur leur propre service, séparé du tableau de bord.
Protégez votre prochaine version.
- Forfait Free
- Sans carte bancaire
- Résiliable à tout moment
SunLicense