- Katılım
- 6 Mayıs 2022
- Mesajlar
- 45,967
Neden mi?
Oyuncuların itemleri silinmesin diye.
Kullanımı çok basittir.
eski Database'inizi 'yedek' isminde restore ediniz, Yeni Database'iniz ise standart isim olan 'kn_online' ismi ile restore ediniz.
Eski=Yedek, Yeni=Kn_Online
Daha sonra bu kodu QA da uygulayın
Oyuncu miktarınıza göre işlem 10 ile 40 dakika arası sürecektir.
ACCOUNT_CHAR
WAREHOUSE
USERDATA
tablolarını aktarmaktadır.
PROSERDÜR
Konu link görüntülemek için konuya cevap yazmalısınız.
Daha önce kullanmıştım işine yarıyanlar olabilir diye paylaşıyorum AKI'den alıntıdır.
Knight Online DB Kullanıcı Aktarma Rehberi
Knight Online özel sunucularında geliştirme yapan birçok kişi, kullanıcı verilerini bir veritabanından başka bir veritabanına aktarma ihtiyacı duyabilir. Bu işlem genellikle sunucu taşıması, test ortamı kurma veya farklı bir KO sunucusu kurulumu sırasında gerekir. Bu rehberde, kod ile DB'den başka DB'ye kullanıcı aktarımı nasıl yapılır detaylı olarak ele alacağız.
Veritabanı Aktarımı Nedir?
Knight Online özel sunucularında kullanıcı verileri genellikle SQL veritabanlarında saklanır. Bu veriler arasında karakter isimleri, seviyeler, envanter, para, clan bilgileri gibi önemli bilgiler yer alır. Veritabanı aktarımı, bu bilgilerin bir veritabanından başka bir veritabanına güvenli ve eksiksiz bir şekilde taşınmasını sağlar.
Neden DB Aktarımı Yapılır?
- Sunucu taşıma: Yeni bir sunucuya geçiş yaparken eski verilerin korunması gerekir.
- Test ortamı oluşturma: Geliştirme sürecinde gerçek verilerle test yapılması istenebilir.
- Yedek alma: Verilerin güvenliğini sağlamak amacıyla yedeklenmesi önemlidir.
Kod ile Aktarım Süreci
Kod yardımıyla aktarım işlemi, manuel işlemlere göre daha hızlı ve hatasızdır. Özellikle büyük miktarda kullanıcı verisi olan sunucularda bu yöntem tercih edilmelidir.
1. Gerekli Tabloların Belirlenmesi
Knight Online veritabanında kullanıcı bilgileri genellikle şu tablolarda yer alır:
- USERDATA: Kullanıcı hesap bilgileri.
- CHARACTER: Karakter adları, seviyeler, sınıf bilgileri.
- INVENTORY: Karakterin envanterindeki eşyalar.
- CLAN: Klan bilgileri.
2. SQL Bağlantısı Kurma
Kod ile veri aktarımı yapabilmek için öncelikle mevcut ve hedef veritabanlarına bağlantı kurulmalıdır. Bu işlem genellikle C#, Python veya PHP gibi dillerde yapılabilir.
3. Kullanıcı Kayıtlarının Çekilmesi
Kaynak veritabanından kullanıcı kayıtları çekilir. Burada dikkat edilmesi gereken husus, kullanıcıların ilişkili olduğu diğer tablolarla birlikte aktarılmasıdır.
4. Hedef DB'ye Yazma
Çekilen veriler hedef veritabanına yazılır. Bu aşamada primary key çakışmaları gibi sorunlar oluşmamalıdır. Eğer çakışma varsa, yeni ID ataması yapılmalıdır.
Dikkat Edilmesi Gerekenler
- Şifreleme uyumu: Şifreleme algoritmalarının her iki sistemde aynı olduğundan emin olunmalıdır.
- GUID/ID Uyumluğu: Karakter ID’lerinin çakışmaması için uygun ID aralığı belirlenmelidir.
- Clan ve Arkadaşlık Bağlantıları: Bu veriler kullanıcılarla ilişkilidir, doğru şekilde aktarılmalıdır.
Python Örneği
Python kullanarak MSSQL veritabanı bağlantısı kurup veri aktarımı yapabilirsiniz. Örnek kodda pyodbc kütüphanesi kullanılabilir.
Sonuç
Knight Online özel sunucularında kullanıcı verilerini güvenli bir şekilde aktarmak, hem geliştiriciler hem de sunucu sahipleri için önemli bir konudur. Kod yardımıyla yapılan bu işlemler, manuel girişimlere göre daha stabil ve hızlı sonuçlar verir. Ancak dikkatli planlama ve testlerle birlikte uygulanmalıdır.
Knight Online DB User Transfer Guide
Many developers working on Knight Online private servers may need to transfer user data from one database to another. This process typically occurs during server migration, setting up a test environment, or installing a different KO server. In this guide, we will examine in detail how to perform user transfers between databases using code.
What Is Database Transfer?
In Knight Online private servers, user data is usually stored in SQL databases. These data include character names, levels, inventory, money, clan information, and more. Database transfer ensures that this information is safely and completely moved from one database to another.
Why Perform Database Transfers?
- Server migration: When switching to a new server, old data must be preserved.
- Creating a test environment: During development, testing with real data may be required.
- Backup purposes: Securing data by taking backups is essential.
Transfer Process Using Code
Transferring data via code is faster and less error-prone than manual operations. This method is especially preferred for servers with large amounts of user data.
1. Identifying Required Tables
User data in Knight Online databases typically resides in the following tables:
- USERDATA: User account information.
- CHARACTER: Character names, levels, class info.
- INVENTORY: Items in the character's inventory.
- CLAN: Clan information.
2. Establishing SQL Connection
To transfer data via code, first establish connections to both the source and target databases. This process can generally be done using languages like C#, Python, or PHP.
3. Retrieving User Records
Retrieve user records from the source database. It’s important here that related tables associated with users are also transferred accordingly.
4. Writing to Target DB
Write the retrieved data into the target database. At this stage, avoid primary key conflicts. If any exist, assign new IDs accordingly.
Important Considerations
- Encryption compatibility: Ensure encryption algorithms are identical across both systems.
- GUID/ID Consistency: Define appropriate ID ranges to prevent character ID collisions.
- Clan and Friend Links: These are linked to users and must be transferred correctly.
Python Example
You can connect to MSSQL databases and transfer data using Python. The pyodbc library can be used in sample code.
Conclusion
Securely transferring user data in Knight Online private servers is crucial for both developers and server owners. Code-assisted processes provide more stable and faster results compared to manual attempts. However, they should be applied with careful planning and thorough testing.
Oyuncuların itemleri silinmesin diye.
Kullanımı çok basittir.
eski Database'inizi 'yedek' isminde restore ediniz, Yeni Database'iniz ise standart isim olan 'kn_online' ismi ile restore ediniz.
Eski=Yedek, Yeni=Kn_Online
Daha sonra bu kodu QA da uygulayın
Kod:
EXEC DB_AKTAR
Oyuncu miktarınıza göre işlem 10 ile 40 dakika arası sürecektir.
ACCOUNT_CHAR
WAREHOUSE
USERDATA
tablolarını aktarmaktadır.
PROSERDÜR
Konu link görüntülemek için konuya cevap yazmalısınız.
Daha önce kullanmıştım işine yarıyanlar olabilir diye paylaşıyorum AKI'den alıntıdır.
Knight Online DB Kullanıcı Aktarma Rehberi
Knight Online özel sunucularında geliştirme yapan birçok kişi, kullanıcı verilerini bir veritabanından başka bir veritabanına aktarma ihtiyacı duyabilir. Bu işlem genellikle sunucu taşıması, test ortamı kurma veya farklı bir KO sunucusu kurulumu sırasında gerekir. Bu rehberde, kod ile DB'den başka DB'ye kullanıcı aktarımı nasıl yapılır detaylı olarak ele alacağız.
Veritabanı Aktarımı Nedir?
Knight Online özel sunucularında kullanıcı verileri genellikle SQL veritabanlarında saklanır. Bu veriler arasında karakter isimleri, seviyeler, envanter, para, clan bilgileri gibi önemli bilgiler yer alır. Veritabanı aktarımı, bu bilgilerin bir veritabanından başka bir veritabanına güvenli ve eksiksiz bir şekilde taşınmasını sağlar.
Neden DB Aktarımı Yapılır?
- Sunucu taşıma: Yeni bir sunucuya geçiş yaparken eski verilerin korunması gerekir.
- Test ortamı oluşturma: Geliştirme sürecinde gerçek verilerle test yapılması istenebilir.
- Yedek alma: Verilerin güvenliğini sağlamak amacıyla yedeklenmesi önemlidir.
Kod ile Aktarım Süreci
Kod yardımıyla aktarım işlemi, manuel işlemlere göre daha hızlı ve hatasızdır. Özellikle büyük miktarda kullanıcı verisi olan sunucularda bu yöntem tercih edilmelidir.
1. Gerekli Tabloların Belirlenmesi
Knight Online veritabanında kullanıcı bilgileri genellikle şu tablolarda yer alır:
- USERDATA: Kullanıcı hesap bilgileri.
- CHARACTER: Karakter adları, seviyeler, sınıf bilgileri.
- INVENTORY: Karakterin envanterindeki eşyalar.
- CLAN: Klan bilgileri.
2. SQL Bağlantısı Kurma
Kod ile veri aktarımı yapabilmek için öncelikle mevcut ve hedef veritabanlarına bağlantı kurulmalıdır. Bu işlem genellikle C#, Python veya PHP gibi dillerde yapılabilir.
3. Kullanıcı Kayıtlarının Çekilmesi
Kaynak veritabanından kullanıcı kayıtları çekilir. Burada dikkat edilmesi gereken husus, kullanıcıların ilişkili olduğu diğer tablolarla birlikte aktarılmasıdır.
4. Hedef DB'ye Yazma
Çekilen veriler hedef veritabanına yazılır. Bu aşamada primary key çakışmaları gibi sorunlar oluşmamalıdır. Eğer çakışma varsa, yeni ID ataması yapılmalıdır.
Dikkat Edilmesi Gerekenler
- Şifreleme uyumu: Şifreleme algoritmalarının her iki sistemde aynı olduğundan emin olunmalıdır.
- GUID/ID Uyumluğu: Karakter ID’lerinin çakışmaması için uygun ID aralığı belirlenmelidir.
- Clan ve Arkadaşlık Bağlantıları: Bu veriler kullanıcılarla ilişkilidir, doğru şekilde aktarılmalıdır.
Python Örneği
Python kullanarak MSSQL veritabanı bağlantısı kurup veri aktarımı yapabilirsiniz. Örnek kodda pyodbc kütüphanesi kullanılabilir.
Sonuç
Knight Online özel sunucularında kullanıcı verilerini güvenli bir şekilde aktarmak, hem geliştiriciler hem de sunucu sahipleri için önemli bir konudur. Kod yardımıyla yapılan bu işlemler, manuel girişimlere göre daha stabil ve hızlı sonuçlar verir. Ancak dikkatli planlama ve testlerle birlikte uygulanmalıdır.
Knight Online DB User Transfer Guide
Many developers working on Knight Online private servers may need to transfer user data from one database to another. This process typically occurs during server migration, setting up a test environment, or installing a different KO server. In this guide, we will examine in detail how to perform user transfers between databases using code.
What Is Database Transfer?
In Knight Online private servers, user data is usually stored in SQL databases. These data include character names, levels, inventory, money, clan information, and more. Database transfer ensures that this information is safely and completely moved from one database to another.
Why Perform Database Transfers?
- Server migration: When switching to a new server, old data must be preserved.
- Creating a test environment: During development, testing with real data may be required.
- Backup purposes: Securing data by taking backups is essential.
Transfer Process Using Code
Transferring data via code is faster and less error-prone than manual operations. This method is especially preferred for servers with large amounts of user data.
1. Identifying Required Tables
User data in Knight Online databases typically resides in the following tables:
- USERDATA: User account information.
- CHARACTER: Character names, levels, class info.
- INVENTORY: Items in the character's inventory.
- CLAN: Clan information.
2. Establishing SQL Connection
To transfer data via code, first establish connections to both the source and target databases. This process can generally be done using languages like C#, Python, or PHP.
3. Retrieving User Records
Retrieve user records from the source database. It’s important here that related tables associated with users are also transferred accordingly.
4. Writing to Target DB
Write the retrieved data into the target database. At this stage, avoid primary key conflicts. If any exist, assign new IDs accordingly.
Important Considerations
- Encryption compatibility: Ensure encryption algorithms are identical across both systems.
- GUID/ID Consistency: Define appropriate ID ranges to prevent character ID collisions.
- Clan and Friend Links: These are linked to users and must be transferred correctly.
Python Example
You can connect to MSSQL databases and transfer data using Python. The pyodbc library can be used in sample code.
Conclusion
Securely transferring user data in Knight Online private servers is crucial for both developers and server owners. Code-assisted processes provide more stable and faster results compared to manual attempts. However, they should be applied with careful planning and thorough testing.
