Ваш аддон Garry's Mod, на серверах, которые заплатили.
Каждый покупатель получает ключ, который проверяется на сервере через собственный HTTP GMod.
Тариф Free · Без банковской карты · Готово за минуты
Пишете код с ИИ-агентом? Вставьте один промпт- Lua
- Garry's Mod
- Tebex
- Stripe
- Gumroad
- Payhip
- Discord
Создано под то, как вы продаёте.
Один Lua-файл
Асинхронно, на сервере, через собственный HTTP GMod.
sunlicense.luaСерверы на лицензию
Один сервер или пять, по ID или IP.
TOO_MANY_IPSОтзыв или блокировка
Ключ, IP сервера или диапазон.
Продавайте где угодно
Tebex, Stripe, Gumroad, Payhip и другие.
Роли покупателей в Discord
Активация по email покупки; отзыв снимает роль.
Sentinel следит за раздачей
Отмечает ключи, которые прыгают с сервера на сервер.
Любой тарифГотово до следующего релиза.
- 1Создать бесплатный аккаунт
- 2Подключите свой магазин
- 3Проверка при загрузке карты
local SunLicense = include("myaddon/sunlicense.lua")
local licenseVar = CreateConVar("myaddon_license", "", FCVAR_ARCHIVE + FCVAR_PROTECTED)
hook.Add("InitPostEntity", "MyAddon.License", function()
local client = SunLicense.new({ baseUrl = "https://api.sunlicense.com", token = MYADDON.ApiKey })
client:validate(licenseVar:GetString(), { host = MYADDON.ServerId() }, function(ok, status, body)
if ok then
MsgC(Color(120, 210, 140), "[MyAddon] License valid, loading\n")
MYADDON.Start()
elseif status == 400 then
MsgC(Color(255, 128, 128), "[MyAddon] License denied: ", body:match('"code":"([%w_]+)"') or "?", "\n")
else
MYADDON.Start() -- no answer is not a no: keep running
end
end)
end)Вопросы и ответы.
Как защитить платный аддон Garry's Mod от утечек?
Аддоны распространяются в виде Lua, поэтому любой решительный человек может прочитать и изменить проверку, и никакой сервис лицензирования этого не изменит. Ключ на каждого покупателя даёт вам контроль: вы видите, какие серверы используют каждый ключ, общий или утёкший ключ можно отозвать или заблокировать его серверы, а платящие серверы никогда не затрагиваются. Обфускация проверки делает её удаление трудоёмким.
Работает ли Lua SDK в Garry's Mod?
Да. sunlicense.lua распознаёт Garry's Mod и отправляет проверку через HTTP-функцию GMod асинхронно, чтобы сервер не зависал. Запускайте его только на сервере: API-ключ, который он использует, может только проверять лицензии, но ему не место в файлах, которые отправляются игрокам.
Какие магазины выдают ключи автоматически?
Tebex, Stripe, Gumroad, Payhip, Lemon Squeezy, Ko-fi, itch.io, WooCommerce и ещё несколько подключаются напрямую, и большинство из них отзывает ключ при возврате. Для всего остального выдавайте ключи из панели управления, через CLI sunlicense или API.
Что делать покупателю при смене хостинга?
Они сами сбрасывают слот устройства старого сервера через My licenses в вашем Discord или в клиентском портале (Lite и Standard), по умолчанию раз в день. С лимитом по IP адрес, не использовавшийся 30 дней, сам освобождает слот, а вы можете освободить любой слот на странице лицензии.
Защитите следующий релиз.
- Тариф Free
- Без банковской карты
- Отмена в любой момент
SunLicense