[C++] Game Lisansını Uzatmak

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 35

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Putty'e Gelip

Kod:
gmake limit_time

Yazınca Game Lisansı 1 Yıl Uzatılmış Oluyor İyi Forumlar.
C++ ile Metin2 Oyun Lisansını Uzatma Rehberi

Metin2 özel sunucularında oyun süresini yönetmek, özellikle lisanslı oyun sürelerini uzatmak, sunucu sahipleri için kritik öneme sahiptir. Bu işlem genellikle game core üzerinde yapılan değişikliklerle sağlanır. Bu rehberde, C++ tabanlı bir server src üzerinde oyun lisans süresini nasıl uzatabileceğinizi adım adım anlatacağız.

Oyun Lisans Sistemi Nedir?

Metin2 özel sunucularda oyun süresi genellikle oyuncunun karakter veritabanında (db) belirli bir tarih aralığıyla tanımlanır. Bu tarihler game server tarafından kontrol edilir ve sürenin dolup dolmadığı kontrolü yapılır. Eğer süre dolarsa oyuncu giriş yapamaz veya sınırlı özelliklere erişebilir.

Lisans Süresini Uzatmak İçin Gerekli Adımlar

1. DB üzerinde player tablosunda bulunan playtime veya benzeri alanları düzenlemek gerekir.
2. Game core içinde lisans süresini kontrol eden fonksiyonlar üzerinde değişiklik yapılmalıdır.
3. Auth server ile senkronize çalışacak şekilde yapılandırılmalıdır.

Oyun Süresi Uzatma Kod Örneği (C++)

Aşağıda, bir karakterin oynama süresini artırmak için örnek bir fonksiyon örneği verilmiştir:

Kod:
void IncreasePlayTime(DWORD pid, int daysToAdd) { [BR][/BR]    char query[256];[BR][/BR]    snprintf(query, sizeof(query), [COLOR=green]"UPDATE player SET playtime = playtime + %d WHERE id = %u"[/COLOR], daysToAdd * 86400, pid);[BR][/BR]    DBManager::instance().DirectQuery(query);[BR][/BR]}


Fonksiyon Açıklaması:

Yukarıdaki C++ kod parçası, verilen karakter ID'sine göre oynama süresini gün cinsinden artırır. Burada playtime saniye cinsindendir, bu yüzden daysToAdd * 86400 işlemiyle gün saniyeye çevrilir.

Python GUI ile Lisans Yönetimi

Bazı geliştiriciler, lisans yönetimini kolaylaştırmak için Python tabanlı GUI sistemleri kullanırlar. Py Root veya UIScript gibi yapılar üzerinden bir arayüz oluşturulabilir. Bu sayede sunucu sahipleri süreyi grafiksel olarak yönetebilir.

Lisans Süresi Uzatma İşleminin Güvenliği

Oyun lisans süresi uzatma işlemleri, doğru yapılmadığında güvenlik açıklarına neden olabilir. Özellikle auth server ile game server arasında veri aktarımı sırasında şifreleme kullanılması önerilir. Martysama gibi sistemlerde kullanılan yöntemler incelenmelidir.

Sunucu Derleme ve Test Etme

Değişikliklerden sonra metin2 compile işlemi tekrar yapılmalıdır. Hataların görülmemesi için source edit sırasında dikkatli olunmalıdır. Test aşamasında farklı hesaplarla girişler yapılarak sürenin doğru şekilde uzatılıp uzatılmadığı kontrol edilmelidir.

Sonuç

C++ ile yazılmış Metin2 server src üzerinde lisans süresi uzatımı, doğru bilgi ve dikkatle yapılabilir. Bu tür işlemlerde game core ve db core üzerindeki değişiklikler önemlidir. Ayrıca Python GUI gibi araçlarla daha kullanıcı dostu sistemler kurulabilir.


Extending Metin2 Game License with C++

Managing game time in Metin2 private servers, especially extending licensed game time, is critical for server owners. This process is usually achieved by making changes on the game core. In this guide, we will explain step-by-step how to extend game license time on a C++-based server src.

What is a Game License System?

In Metin2 private servers, game time is typically defined within a specific date range in the player database (db). These dates are checked by the game server to determine whether the time has expired. If the time expires, players may not be able to log in or may have limited access to features.

Steps Required to Extend License Time

1. Modify fields like playtime in the player table in the DB.
2. Make necessary changes in functions inside the Game core that check the license duration.
3. Configure it to work synchronously with the Auth server.

Sample Code for Extending Playtime (C++)

Below is an example function to increase a character's playtime:

Kod:
void IncreasePlayTime(DWORD pid, int daysToAdd) { [BR][/BR]    char query[256];[BR][/BR]    snprintf(query, sizeof(query), [COLOR=green]"UPDATE player SET playtime = playtime + %d WHERE id = %u"[/COLOR], daysToAdd * 86400, pid);[BR][/BR]    DBManager::instance().DirectQuery(query);[BR][/BR]}


Function Explanation:

The above C++ code snippet increases the playtime based on the given character ID in days. Here, playtime is in seconds, so the operation daysToAdd * 86400 converts days into seconds.

License Management with Python GUI

Some developers use Python-based GUI systems to simplify license management. Interfaces can be built using structures like Py Root or UIScript, allowing server owners to manage time visually.

Security of License Extension Process

Incorrectly implemented license extension processes can lead to security vulnerabilities. Encryption should be used during data transfer between the auth server and game server. Methods used in systems like Martysama should be reviewed.

Compiling and Testing the Server

After making changes, a metin2 compile process must be performed again. Care should be taken during source edit to avoid errors. During testing, logins should be attempted with different accounts to verify that the time has been extended correctly.

Conclusion

Extending game license time on a Metin2 server src written in C++ can be done with proper knowledge and attention. Changes made to the game core and db core are crucial in such operations. Additionally, more user-friendly systems can be built using tools like Python GUI.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt