Restriction Options
Pembatasan ini dapat diterapkan pada lisensi Anda. Anda mengaturnya saat membuat lisensi dan dapat memperbaruinya kapan saja melalui dashboard.
License Scope
Scope memungkinkan Anda membatasi lisensi untuk penggunaan tertentu. Misalnya, Anda bisa membuat lisensi yang hanya valid untuk "minecraft-server" tetapi tidak untuk "minecraft-proxy".
Contoh Use Case
- • minecraft-server - Untuk plugin di server Spigot/Paper
- • minecraft-proxy - Untuk plugin di BungeeCord/Velocity
- • standalone - Untuk aplikasi standalone
- • development - Untuk testing/development
1// Verifikasi dengan scope2NxGateClient client = new NxGateClient(config);34// Set scope sebelum verifikasi5VerificationResult result = client.verify("minecraft-server");67// Atau gunakan config8NxGateConfig config = new NxGateConfig()9 .setScope("minecraft-server");
IP Limit
Batasi berapa banyak IP address berbeda yang dapat menggunakan satu lisensi. Berguna untuk mencegah sharing lisensi yang tidak sah.
1// Di dashboard NxGate, set IP Limit = 32// Artinya lisensi ini hanya bisa digunakan dari 3 IP berbeda34// Di plugin Anda, verifikasi seperti biasa5VerificationResult result = client.verify();67if (result.getResult() == VerificationResult.Result.IP_LIMIT_EXCEEDED) {8 getLogger().severe("License sudah digunakan di " +9 result.getIpCount() + " server berbeda!");10}
Rate Limit
Batasi berapa kali lisensi dapat diverifikasi dalam periode waktu tertentu. Berguna untuk API key management atau mencegah abuse.
| Tier | Per Hour | Per Day | Per Month |
|---|---|---|---|
| Basic | 100 | 1,000 | 10,000 |
| Pro | 1,000 | 10,000 | 100,000 |
| Enterprise | Unlimited | Unlimited | Unlimited |
1// Di dashboard NxGate, set Rate Limit:2// - 100 requests per hour3// - 1000 requests per day45// Handle rate limit di plugin6VerificationResult result = client.verify();78if (result.getResult() == VerificationResult.Result.RATE_LIMITED) {9 getLogger().warning("Rate limit tercapai. Reset dalam: " +10 result.getRetryAfter() + " detik");11 // Gunakan cached result jika ada12}
Expiration
Set tanggal kedaluwarsa untuk lisensi. Setelah tanggal tersebut, lisensi tidak akan valid lagi. Cocok untuk subscription-based licensing atau trial periods.
Trial License
Berikan akses 7-30 hari untuk calon pembeli mencoba plugin sebelum membeli.
Subscription
Perpanjang otomatis setiap bulan/tahun berdasarkan pembayaran.
1// Di dashboard NxGate, set Expiration Date2// Contoh: 2024-12-31 23:59:5934// Handle expiration di plugin5VerificationResult result = client.verify();67if (result.getResult() == VerificationResult.Result.EXPIRED) {8 getLogger().severe("License expired pada: " + result.getExpirationDate());9 getLogger().severe("Silakan perpanjang lisensi Anda.");10}
Menggabungkan Restrictions
Anda dapat menggabungkan beberapa restriction sekaligus untuk kontrol yang lebih granular.
Contoh: Premium License
- • Scope:
minecraft-server - • IP Limit:
5 - • Rate Limit:
1000/day - • Expiration:
1 tahun dari pembelian