Aynı Satırları Temizleme (Her Tabloya Uyarlanabilir)

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

Admin

Knight Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
45,967
Bu kodu ilk yazdığımda Item tablosundan 55.000 adet aynı satır temizlemiştim. Aynı satırların oluşma sebepleri "Insert into" komutlarını iki defa çalıştırmanızdan kaynaklanır.





Kod sadece bire bir aynı olan satırları temizler bunu yaparken bütün sütunları kontrol eder. Buna benzer bir kod bulduğumda sadece Num satırını kıyaslıyordu ve arka sütunlarında farklılık olanlarıda mantıksız bir şekilde siliyordu. Bu kod bütün sütunları kıyaslar %100 sorunsuz çalışır. Tarafımdan yazılmıştır uygulamak istediğiniz başka tablolarda sorun çekiyorsanız bana bildirin.







Konu link görüntülemek için konuya cevap yazmalısınız.



Kırmızı ile işaretlediğim yerleri değiştirerek*diğer tablolar içinde sorunsuz bir şekilde kullanabilirsiniz.
Knight Online özel sunucuları geliştirirken karşılaşılan yaygın sorunlardan birisi, veri tabanlarında veya yapılandırma dosyalarında tekrar eden aynı satırların oluşmasıdır. Bu durum hem performansı düşürür hem de veri bütünlüğü açısından risk oluşturur. Özellikle item.bin, mob.bin, npc.bin gibi önemli dosyalarda aynı satırların birden fazla kez yer alması, sunucu çökmesine veya oyun içi hatalara neden olabilir. Bu yazıda, Knight Online özel sunucularında (pserver) aynı satırları temizleme yöntemlerinden bahsedeceğiz. Bu yöntemler herhangi bir tabloya ya da yapılandırma dosyasına uyarlanabilir.

Öncelikle, aynı satırların oluştuğu dosyaları belirlemek gerekir. Bu tür dosyalar genellikle CSV, TSV ya da TXT formatındadır. Veri seti büyükse manuel olarak kontrol etmek oldukça zordur. Bu nedenle otomatik araçlar kullanmak daha verimlidir. Örneğin, Python, Notepad++ veya Excel gibi programlar yardımıyla aynı satırları kolayca temizleyebilirsiniz. Ancak, Knight Online özel sunucularında çalışırken dikkatli olmanız gerekir çünkü her satır, bir NPC, item ya da oyun mekaniğiyle doğrudan bağlantılı olabilir.

Python kullanarak aynı satırları temizlemek için basit bir script yazabilirsiniz. Örneğin, bir dosya okuyup, benzersiz satırları başka bir dosyaya yazan bir fonksiyon tanımlayabilirsiniz. Bu işlem sırasında orijinal dosyanın yedeklenmesi önemlidir. Ayrıca, aynı satırların oluşmasının sebebini anlamak da önemlidir. Bazen bu durum, veri aktarımı sırasında hatalar sonucunda oluşabilir. Özellikle USKO[/COORD], ROFD gibi sistemlerde dosya aktarımı yapılırken dikkatsizlikler olabilir. Bu nedenle, veri akışı kontrol edilmeli ve tekrarlayan veriler önlenmelidir.

Notepad++ gibi metin düzenleyici yazılımlar da aynı satırları bulup silmek için kullanılabilir. Bu programda 'Find Duplicate Lines' eklentisi sayesinde hızlıca tekrar eden satırları tespit edip silebilirsiniz. Ancak, bu işlemi yaparken hangi satırların silindiğine dikkat etmelisiniz. Çünkü Knight Online yapılandırmalarında bazı satırlar, farklı seviye aralıkları ya da özel görevler için tekrar ediyor olabilir. Bu durumda, sadece tamamen aynı olan satırlar silinmelidir.

Excel kullanarak aynı satırları temizlemek de oldukça etkilidir. Excel’in 'Remove Duplicates' özelliği sayesinde seçilen bir sütun ya da tüm satır bazında tekrar eden veriler kaldırılabilir. Bu özellikle büyük boyutlu veri tablolarında faydalıdır. Ancak, Excel’de .bin uzantılı dosyalar doğrudan açılmadığı için, önce CSV formatına dönüştürülmesi gerekir. Bu dönüşüm sırasında karakter kodlamasına dikkat edilmelidir. Aksi takdirde, karakterler bozulabilir ve sunucuda hata oluşabilir.

Knight Online özel sunucu geliştiricileri için bu tür temizlik işlemleri, sunucu stabilitesi açısından hayati öneme sahiptir. Aynı satırların oluşması, sunucunun yavaşlamasına, veri tabanında çakışmalara ve hatta oyuncular için oyun dışı durumlara yol açabilir. Bu nedenle, düzenli bakım süreçlerinde aynı satırlar mutlaka kontrol edilmelidir. Ayrıca, bu tür işlemler için özel geliştirilmiş scriptler veya yardımcı araçlar kullanmak da önerilir. KnightLobby.com olarak, KO geliştiricilerine özel sunucularını daha verimli yönetmeleri için sürekli destek sağlıyoruz.


One of the common issues encountered while developing Knight Online private servers is the occurrence of duplicate lines in databases or configuration files. This situation not only reduces performance but also poses risks in terms of data integrity. Particularly in important files like item.bin, mob.bin, and npc.bin, having the same lines repeated multiple times can cause server crashes or in-game errors. In this article, we will discuss methods for removing duplicate lines in Knight Online private servers (pserver). These methods can be adapted to any table or configuration file.

Firstly, you need to identify the files containing duplicate lines. Such files are usually in CSV, TSV, or TXT formats. When the dataset is large, manually checking becomes very difficult. Therefore, using automated tools is more efficient. For example, programs such as Python, Notepad++, or Excel can help you easily remove duplicate lines. However, you must be careful when working with Knight Online private servers, since each line may be directly connected to an NPC, item, or game mechanic.

You can write a simple script using Python to clean duplicate lines. For instance, you can define a function that reads a file and writes unique lines to another file. During this process, backing up the original file is important. Moreover, understanding why duplicates occur is also important. Sometimes, these duplicates arise from errors during data transfer. Especially when transferring files in systems like USKO or ROFD, mistakes can happen. Therefore, data flow should be monitored, and repetitive data should be prevented.

Text editors like Notepad++ can also be used to find and delete duplicate lines. With the 'Find Duplicate Lines' plugin, you can quickly detect and remove duplicate lines. However, you must pay attention to which lines are being deleted, as some lines in Knight Online configurations might repeat for different level ranges or special quests. In such cases, only completely identical lines should be removed.

Using Excel to remove duplicate lines is also quite effective. Excel's 'Remove Duplicates' feature allows you to eliminate repeated data based on selected columns or entire rows. This is especially useful for large data tables. However, since .bin files cannot be opened directly in Excel, they must first be converted to CSV format. Care should be taken regarding character encoding during this conversion; otherwise, characters may become corrupted and cause errors on the server.

For Knight Online private server developers, such cleanup processes are vital for server stability. The presence of duplicate lines can cause the server to slow down, create conflicts in the database, and even result in game-breaking situations for players. Therefore, duplicate lines must be checked regularly during maintenance routines. Additionally, it is recommended to use specially developed scripts or helper tools for such tasks. As KnightLobby.com, we continuously provide support to KO developers to help them manage their private servers more efficiently.
 

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

Benzer konular

Geri
Üst Alt