kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Bvural41 1
Bvural41
NovaLst 1
NovaLst
bikral 1
bikral
ShadowFon 1
ShadowFon
D 1
delimuratt
PrimeAC 1
PrimeAC
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Best Studio 1
Best Studio
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Sunucu Lisans Koruma Sistemi C++

GUNNERIUS

Level 20
TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
10 Ocak 2009
Konular
3,748
Mesajlar
15,940
Çözüm
334
Online süresi
6mo 28d
Reaksiyon Skoru
8,034
Altın Konu
947
Başarım Puanı
474
Yaş
34
MmoLira
86,717
DevLira
-12
Ticaret - 100%
1   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Sistemin Mantığı

Habersiz çoğaltmaları ve kopya sunucuları engelleyebilirsiniz.
Sadece onaylı IP adresleri üzerinden tam kontrol sağlayabilirsiniz.
Sunucunuzun güvenliğini tamamen sizin belirlediğiniz kurallara göre sağlayabilirsiniz.
Yetkisiz kopyalama ve klonlama girişimlerini durdurabilirsiniz.
Lisanslı IP doğrulaması ile yönetimi tamamen siz üstlenebilirsiniz.
char.cpp içinde, oyuncu giriş yaptığında çalışacak koda ekleme yapılıyor.
lisans adında bir izin verilen IP adresi (örnekte 192.168.0.24) tanımlanıyor.
gelenip değişkeni, sunucuya bağlanan istemcinin IP’sini temsil ediyor.
Eğer gelenip lisans ile eşleşmezse, DelayedDisconnect(2) komutu ile oyuncu bağlantısı otomatik koparılıyor.

[CODE lang="cpp" title="char.cpp"]//char.cpp açılır aşağıda bulunan kodlamaları arayıp ve ekleyiniz

//Aratılır

sys_log(0, "PLAYER_LOAD: %s PREMIUM %d %d, LOGGOFF_INTERVAL %u PTR: %p", t->name, m_aiPremiumTimes[0], m_aiPremiumTimes[1], t->logoff_interval, this);

//Bulamazsanız aşağıdakini aratın onun altında olması gerekli.

m_dwLogOffInterval = t->logoff_interval;

//Üstteki verdiğimin altına eklenir

if (GetQuestFlag("online.durum") == 0)
{
quest::CQuestManager::instance().SetEventFlag("online",quest::CQuestManager::instance().GetEventFlag("online")+1);
SetQuestFlag("online.durum",1);
//muratdereli lisans
std::string lisans = "1";
lisans += "9";
lisans += "2";
lisans += ".";
lisans += "1";
lisans += "6";
lisans += "8";
lisans += ".";
lisans += "0";
lisans += ".";
lisans += "2";
lisans += "4";
std::string gelenip = ipnehaci;
if (gelenip == lisans)
{

}
else
{
GetDesc()->DelayedDisconnect(2);
}

}[/CODE]



config.h açılır aşağıda bulunan kodlamaları arayın ve ekleyiniz


[CODE lang="cpp" title="cfg"]//Aratılır

extern bool g_BlockCharCreation;

//Altına eklenir

extern std::string ipnehaci;
extern char * netip;[/CODE]

Dikkat Edilmesi Gerekenler


Statik IP kullanımı riskli olabilir: Eğer sunucu IP’niz değişirse, yanlışlıkla kendi bağlantınızı kesebilirsiniz.
Bu yöntem sadece temel bir kontroldür; kaynak kodu bilen biri tarafından aşılabilir.
Yasal Lisanslama yerine geçmez, sadece yetkisiz kopyaları biraz zorlaştırır.
IP kontrolü yaparken kullanıcıların gerçek IP’sini değil sunucu IP’sini kıyasladığınızdan emin olun.
 

En Çok Reaksiyon Alan Mesajlar

paylaşım için teşekkürler böyle daha düzgün.
[CODE lang="cpp" title="2" highlight="2"] if (GetQuestFlag("online.durum") == 0)
{
quest::CQuestManager::instance().SetEventFlag("online", quest::CQuestManager::instance().GetEventFlag("online") + 1);
SetQuestFlag("online.durum", 1);

std::string lisans = "192.168.0.24";
std::string gelenip = ipnehaci;

if (gelenip != lisans)
{
GetDesc()->DelayedDisconnect(2);
}
}
[/CODE]
Eski dosyamda bu şekilde yapmıştım, paylaşım için teşekkürler.

C++:
if (GetQuestFlag("online.durum") == 0)
{
    quest::CQuestManager::instance().SetEventFlag(
        "online",
        quest::CQuestManager::instance().GetEventFlag("online") + 1
    );
    SetQuestFlag("online.durum",1);


    std::string lisans = "192.168.1.1";
    std::string gelenip = ipnehaci;

    if (gelenip != lisans)
    {
        if (GetDesc())
            GetDesc()->DelayedDisconnect(2);
    }
}
Paylaşım için teşekkürler.
 
elinize saglik adminim tesekkurler paylasim icin
 
paylaşım için teşekkürler böyle daha düzgün.
[CODE lang="cpp" title="2" highlight="2"] if (GetQuestFlag("online.durum") == 0)
{
quest::CQuestManager::instance().SetEventFlag("online", quest::CQuestManager::instance().GetEventFlag("online") + 1);
SetQuestFlag("online.durum", 1);

std::string lisans = "192.168.0.24";
std::string gelenip = ipnehaci;

if (gelenip != lisans)
{
GetDesc()->DelayedDisconnect(2);
}
}
[/CODE]
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst