Merhabalar arşivimde olan bir şeyi paylaşmak istedim.
Bu quest fonksiyonunu questlerlerde kullanabilirsiniz.
Öncelikle questlua_pc.cpp açalım ve aratalım
bu fonksiyon bitimine yerleştirelim
sonra bunu aratalım aynı dosyada
altına bunu yapıştıralım.
game build edelim.
Sonra game tarafında quest dosyasına girip quest_function dosyasını açalım ve ekleyelim.
pc.get_ip
Bu kadar iyi kullanmalar.
Örnek quest.
Bu quest fonksiyonunu questlerlerde kullanabilirsiniz.
Öncelikle questlua_pc.cpp açalım ve aratalım
Kod:
int pc_get_client_version(lua_State* L)
bu fonksiyon bitimine yerleştirelim
Kod:
int pc_get_infoip(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); if(!ch) return 0; lua_pushstring(L, ch->GetDesc()->GetHostName()); return 1; }
sonra bunu aratalım aynı dosyada
Kod:
{ "get_client_version", pc_get_client_version},
altına bunu yapıştıralım.
Kod:
{ "get_ip", pc_get_infoip},
game build edelim.
Sonra game tarafında quest dosyasına girip quest_function dosyasını açalım ve ekleyelim.
pc.get_ip
Bu kadar iyi kullanmalar.
Örnek quest.
Kod:
quest blabla begin state start begin when 3131.chat."İp Adresim " begin local blabla = pc.get_ip() say_title(mob_name(3131)) say("") say("İp adresin : "..blabla) end end end
Quest Fonksiyonu ile Oyuncunun IP Adresini Öğrenme
Metin2 özel sunucularında geliştirme yaparken, bazı güvenlik veya analiz amaçlı işlemler için oyuncuların IP adreslerine erişim sağlamak isteyebilirsiniz. Bu işlem genellikle sunucu tarafında loglama, yasaklama veya istatistiksel analiz gibi durumlarda gerekli olabilir. Quest sistemini kullanarak oyuncunun IP adresini almak oldukça basit ve etkili bir yöntemdir.
IP Adresi Nedir ve Neden Gerekli Olabilir?
IP adresi, internete bağlı cihazların benzersiz tanımlayıcısıdır. Metin2 özel sunucularında, her oyuncu sunucuya bağlandığında IP adresi ile tanımlanır. Bu IP, çoğul hesap kullanımı tespiti, hileli davranışları takip etme, veya belirli bölgelerden gelen oyuncuları analiz etme gibi işlemlerde önem taşır. Ancak, IP bilgileri hassas veriler olduğu için gizlilik politikalarına dikkat edilmelidir.
Quest Sistemi ile IP Adresi Alma
Metin2 quest sistemi, oyuncu ile sunucu arasında dinamik etkileşim kurmamızı sağlar. Quest dosyası içine yazacağımız özel komutlarla, oyuncunun IP adresini alabilir ve log olarak tutabiliriz. Aşağıda örnek bir quest kodu verilmiştir:
quest get_player_ip begin
state start begin
when login begin
local player_ip = pc.get_client_ip()
say('Oyuncu IP Adresiniz: ' .. player_ip)
log('Player_IP: ' .. player_ip)
end
end
end
Yukarıdaki kodda, pc.get_client_ip() fonksiyonu kullanılarak oyuncunun IP adresi alınır. Bu değer hem ekranda gösterilir hem de sunucu loglarına yazılır. Bu sayede, IP bilgisi sunucuda kalıcı hale gelir ve daha sonra analiz edilebilir.
Güvenlik ve Yasal Uyarılar
IP adresi kişisel veri olarak kabul edildiği için, Metin2Lobby gibi platformlarda geliştirme yaparken bu bilgilerin güvenliğini sağlamalısınız. IP adresi üzerinden konum tahmini yapılabileceği gibi, çerez ve izleme politikalarına da dikkat etmelisiniz. Her zaman kullanıcıdan izin alınması gerektiğini unutmayın.
Sunucu Tarafında IP Loglama
IP adreslerini loglamak için db veya game sunucusuna özel modül yazmak da mümkündür. Ancak, quest sistemi kullanmak genellikle daha hızlı ve kolay bir çözümdür. Özellikle C++ tabanlı sunucular üzerinde çalışan sistemlerde, py root üzerinden quest fonksiyonlarını genişletebilirsiniz.
Python ve C++ Entegrasyonu
Metin2 özel sunucularında, bazı gelişmiş sistemler için Python ve C++ birlikte kullanılabilir. IP adresi alma işlemi genellikle Python tarafında uiscript ile yönetilirken, bu bilgi core kısmında veri tabanına yazılabilir. Böylece hem hızlı erişim sağlanır hem de kalıcı veri tutulur.
Sonuç
Quest fonksiyonu ile oyuncunun IP adresini almak, Metin2 özel sunucularında oldukça yaygın bir yöntemdir. Bu yöntem, hem güvenlik hem de analiz açısından faydalıdır. Ancak, bu bilginin doğru şekilde korunması ve yasal sınırlar dahilinde kullanılması büyük önem taşır.
Learning Player's IP Address with Quest Function
When developing on Metin2 private servers, you may need to access player IP addresses for security or analytical purposes. This process can be necessary for server-side logging, banning, or statistical analysis. Using the Quest system to retrieve the player's IP address is quite simple and effective.
What is an IP Address and Why Might It Be Needed?
An IP address is the unique identifier of any device connected to the internet. On Metin2 private servers, each player is identified by their IP address upon connecting to the server. This IP can be useful for detecting multi-account usage, tracking suspicious behavior, or analyzing players from specific regions. However, since IP information is sensitive, privacy policies must be carefully considered.
Retrieving IP Address via Quest System[/.COLOR]
The Metin2 quest system allows dynamic interaction between the player and the server. By writing custom commands within a quest file, you can retrieve the player's IP address and store it as a log. Below is an example quest code:
quest get_player_ip begin
state start begin
when login begin
local player_ip = pc.get_client_ip()
say('Your IP Address: ' .. player_ip)
log('Player_IP: ' .. player_ip)
end
end
end
In the above code, the function pc.get_client_ip() retrieves the player's IP address. This value is both displayed on screen and logged on the server. This way, the IP information becomes permanently stored on the server and can be analyzed later.
Security and Legal Warnings
Since IP addresses are considered personal data, you must ensure their security when developing on platforms like Metin2Lobby. Location estimates can be made based on IP addresses, so attention should also be paid to cookie and tracking policies. Always remember that user consent is required for such usage.
Logging IP Addresses Server-Side
It is also possible to write custom modules on the db or game server to log IP addresses. However, using the quest system is generally a faster and easier solution. Especially on C++-based servers, you can expand quest functions through py root.
Python and C++ Integration
On Metin2 private servers, some advanced systems can use both Python and C++. Retrieving IP addresses is usually handled by uiscript in the Python side, while this information can be written into the database in the core part. In this way, both quick access and permanent data storage are ensured.
Conclusion
Obtaining a player's IP address via the Quest function is a common practice on Metin2 private servers. This method is beneficial for both security and analysis. However, ensuring this information is properly secured and used within legal boundaries is of great importance.
