Puan
0
Çözümler
0
- Katılım
- 18 Ocak 2025
- Mesajlar
- 52
- Tepkime puanı
- 2
- Konum
- Bursa
- Web sitesi
- ko-turkey.net
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.
Bu yöntem temel bir kontrol sağlar, ancak kolayca atlatılabilir.
Gerçek lisanslama istiyorsanız:
gibi daha gelişmiş yöntemler tercih edilmelidir.
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.