KAYNAK KOD Source'den Files Lisanslama | Ip Bazlı Lisans Sistemi

  • Konuyu Başlatan Konuyu Başlatan Prepective
  • Başlangıç tarihi Başlangıç tarihi
  • Okuma süresi: 1:32

Prepective

Admin
Admin
Moderatör
Puan 0
Çözümler 0
Katılım
18 Ocak 2025
Mesajlar
52
Tepkime puanı
2
Konum
Bursa
Web sitesi
ko-turkey.net
@Prepective
Konu Sahibi
Sunucu dosyalarınızın izinsiz paylaşılmasını veya yetkisiz kişiler tarafından kullanılmasını engellemek istiyorsanız, bu basit lisanslama yöntemi ile sadece sizin belirlediğiniz IP adresleri üzerinden çalışmasına izin verebilirsiniz.


Bu işlem GameServer source üzerinden yapılır.




✅ Sistem Ne Yapıyor?​


  • GameServer açılırken, bağlı olduğu IP adresini kontrol eder.
  • Eğer IP, lisanslı IP'ler listesinde yoksa:
    • Ekrana uyarı verir: ERROR:IP Address is not have a license.
    • GameServer başlatılmaz (return false ile durur).



💡 Kod:​

C++:
// License System Start

bool IsValidLicense = false;
std::string LicensedIPAddresses = "127.0.0.1"; // Buraya izin verdiğiniz IP'yi yazın
std::string ServerIPAddress = "0.0.0.0";

// Server IP'lerini kontrol et
foreach_stlmap_nolock (itr, m_ServerArray)
{
    if (LicensedIPAddresses.find(itr->second->strServerIP) == std::string::npos)
        continue;

    ServerIPAddress = itr->second->strServerIP;
    IsValidLicense = true;
    break;
}

if (!IsValidLicense)
{
    printf("ERROR:IP Address is not have a license.\n");
    return false; // Server başlatılmaz
}

// License System End



🛠️ Kullanım Notları​


  • "127.0.0.1" kısmına kendi lisansladığınız sunucu IP’sini yazmalısınız.

C++:
std::string LicensedIPAddresses = "127.0.0.1;185.45.12.77;192.168.1.1";

  • Çoklu IP'leri ; veya başka bir ayrıştırıcıyla listeleyebilirsiniz.
  • Bu sistem sadece GameServer’ı etkiler. AIServer’a da aynı yapı kurulabilir.
  • Kod genellikle main.cpp, CGameServerDlg.cpp gibi açılış noktalarına eklenir.
    g_pMain->Startup() fonksiyonu içerisine gömülmesi önerilir.



🔒 Güvenlik Uyarısı​


Bu yöntem temel bir kontrol sağlar, ancak kolayca atlatılabilir.
Gerçek lisanslama istiyorsanız:


  • IP + MAC adresi kontrolü
  • Donanım ID eşleştirmesi
  • SHA256 gibi hash tabanlı doğrulama

gibi daha gelişmiş yöntemler tercih edilmelidir.
 
Geri
Üst