Reklam
güzel sorun knk , bende soruyu sorayım isterse anladığım kadar parca .dxt ve uif gibi atma değil .pak direk vericek 200,300mb gibi bölünmüs var. @AGS project cok güzel beğendim aşırı <3Bravo hocam. Tekrardan başarılar dilerim. İlk konunuzu okuduğumda gerçekten birşeyler olacağını düşünmüştüm. Yanılmamışım. Peki patch verme işlemleri nasıl olacak. Tekrardan şifreyi çözüp tekrardan mı şifrelenecek yoksa pak dosyasına enjekte etme gibi bir durum söz konusu mu?
Bravo hocam. Tekrardan başarılar dilerim. İlk konunuzu okuduğumda gerçekten birşeyler olacağını düşünmüştüm. Yanılmamışım. Peki patch verme işlemleri nasıl olacak. Tekrardan şifreyi çözüp tekrardan mı şifrelenecek yoksa pak dosyasına enjekte etme gibi bir durum söz konusu mu?
hocam teşekkür ederimgüzel sorun knk , bende soruyu sorayım isterse anladığım kadar parca .dxt ve uif gibi atma değil .pak direk vericek 200,300mb gibi bölünmüs var. @AGS project cok güzel beğendim aşırı <3
Mükemmel. Aradığım cevap buydu sanırım. Emeğine sağlık hocamOyun dağıtım platformlarında gözlemlediğim bir sistem dikkatimi çekti ve bunu geliştirmeyi planlıyorum. Sistem, büyük boyutlu dosyaların güncellenmesi sırasında kullanıcıların minimum veri indirmesini sağlıyor. Örneğin, 100 MB büyüklüğünde tek bir dosya üzerinde yapılan bir değişiklik, dosyanın tamamının indirilmesi yerine sadece farkın indirilmesiyle gerçekleşiyor. Bu yöntem sayesinde mevcut bir dosyada yapılan ufak bir güncelleme sonrası, 100 MB’lık bir indirme yerine, sadece değişen kısım (örneğin 1 MB) indiriliyor. Aynı şekilde, hasarlı dosyaların onarımı sırasında da yalnızca eksik veya bozulmuş verinin yeniden indirilmesi sağlanıyor.
Bu yaklaşım GitHub gibi platformlarda kullanılan kod güncelleme sistemine benzer. GitHub üzerinde yapılan bir değişiklikte, projedeki tüm dosyalar değil, yalnızca değişen satırlar sunucuya yüklenir. Benzer bir mantığı kendi projelerimde uygulamayı ve delta patching (fark tabanlı güncelleme) sistemini geliştirmeyi amaçlıyorum.
Bu sistemi kendi geliştireceğim projeye entegre etmek istiyorum ve bu konuda daha fazla araştırma yaparak detaylı bir çözüm sunmayı planlıyorum. Geliştirme süreci zaman alabilir ancak doğru uygulandığında, kullanıcılara daha hızlı ve verimli bir güncelleme deneyimi sunulacaktır. Bu konuda uzmanlaşmış kişilerle iş birliği yapmayı da değerlendiriyorum.
Dökmüşün helal olsu ellerine sağlık beklemekteyim.Oyun dağıtım platformlarında gözlemlediğim bir sistem dikkatimi çekti ve bunu geliştirmeyi planlıyorum. Sistem, büyük boyutlu dosyaların güncellenmesi sırasında kullanıcıların minimum veri indirmesini sağlıyor. Örneğin, 100 MB büyüklüğünde tek bir dosya üzerinde yapılan bir değişiklik, dosyanın tamamının indirilmesi yerine sadece farkın indirilmesiyle gerçekleşiyor. Bu yöntem sayesinde mevcut bir dosyada yapılan ufak bir güncelleme sonrası, 100 MB’lık bir indirme yerine, sadece değişen kısım (örneğin 1 MB) indiriliyor. Aynı şekilde, hasarlı dosyaların onarımı sırasında da yalnızca eksik veya bozulmuş verinin yeniden indirilmesi sağlanıyor.
Bu yaklaşım GitHub gibi platformlarda kullanılan kod güncelleme sistemine benzer. GitHub üzerinde yapılan bir değişiklikte, projedeki tüm dosyalar değil, yalnızca değişen satırlar sunucuya yüklenir. Benzer bir mantığı kendi projelerimde uygulamayı ve delta patching (fark tabanlı güncelleme) sistemini geliştirmeyi amaçlıyorum.
Bu sistemi kendi geliştireceğim projeye entegre etmek istiyorum ve bu konuda daha fazla araştırma yaparak detaylı bir çözüm sunmayı planlıyorum. Geliştirme süreci zaman alabilir ancak doğru uygulandığında, kullanıcılara daha hızlı ve verimli bir güncelleme deneyimi sunulacaktır. Bu konuda uzmanlaşmış kişilerle iş birliği yapmayı da değerlendiriyorum.
hocam öncelikle çok başarılısınız ve basarıların devamanı diliyorum programın kullanımı hakkında video çekme şansınız varmı paketleme yaptıktan sonra paketler indirilenlere gidiyor onları videodaki gibi Content klasörüne alıyorum acs dll ve launceri de alıyorum ama start gelmiyor nerede yanlış yapıyorum acaba yapan arkadaslar bilgilendirirmisinizMerhaba değerli oyun geliştiricileri ve meraklıları,
Bu forum başlığında, oyun Client dosyalarınızı koruma altına almak için geliştirdiğimiz özel şifreleme sistemi hakkında bilgi ve algoritma paylaşacağım. Sistem, 3 aşamadan oluşacak ve şu anda 2. aşama üzerinde çalışmaktayım. Projenin devamında, ilerledikçe güncellemeler yapacağım. Bu sürece katkıda bulunmak isteyenler için yorumlar kısmını aktif olarak takip edeceğim. Hadi başlayalım!
1. Aşama Dosyaları Şifreleme = Tamamlandı.
2. Aşama Dosyaları Okuma şifre çözme = Bitmek Üzere (2-3 Gün)
3. Aşama Dosyaları Kontrol Etme = Bir Sonraki Aşamada Yazılacaktır.
Proje Amacı
Oyun client dosyalarınızı, izinsiz erişime karşı koruma altına alarak hem hile girişimlerini önlemek hem de oyun içeriğinizin güvenliğini sağlamak için özel bir şifreleme çözümü geliştirmek istiyoruz. Bu çözüm, özellikle pak dosyalarına entegre edilecek bir yapı sunacak ve sadece sizin tarafınızdan şifreli olarak kullanılacaktır.
Proje Aşamaları
Şifreleme sistemi, 3 ana aşamadan oluşacaktır:
- Şifreleme Algoritması Geliştirme (Python Örneği)
- Bu aşamada, oyun dosyalarını şifrelemek için kullanılacak temel algoritma geliştirilecektir.
- Python dili ile örnek bir çözüm üzerinde çalışıyorum, ancak isteyen herkes kendi tercih ettiği programlama dilinde uygulama geliştirebilir.
- Paylaşacağım algoritma mantığını takip ederek kendi kodlarınızı yazabilirsiniz.
- Şifreli Dosya Kullanımı
- Şifrelenmiş dosyaların client tarafında güvenli şekilde çözülmesi sağlanacaktır.
- Yalnızca sizin belirleyeceğiniz bir anahtar kullanılarak dosyalar çözülüp okunacaktır.
- Bu sayede, yetkisiz kişiler tarafından dosyaların içeriğine erişim engellenecektir.
- Pak Dosyaları Üzerinde Uygulama
- Son aşamada, şifreleme algoritması doğrudan .pak dosyalarına entegre edilecek.
- Bu sayede, oyun içi veri dosyaları tamamen şifrelenmiş ve koruma altına alınmış olacak.
- Kullanıcılar, sadece sizin sağladığınız güvenli launcher üzerinden client dosyalarını açabilecekler.
1. Aşama: Python Şifreleme Algoritması
Şu anda, Python dili ile bir prototip üzerinde çalışıyorum. Örnek kodu, sistem mantığını anlamanız için aşağıda paylaşıyorum:
*** Gizli metin: alıntı yapılamaz. ***
Ekli dosyayı görüntüle 4826
Proje, C# programlama dili kullanılarak geliştirilmiş olup, AES (Advanced Encryption Standard) şifreleme algoritması başarılı bir şekilde entegre edilmiştir. Python için geliştirilmiş şifreleme kodunun yanı sıra, Python kütüphanesi olmayan kullanıcılar için doğrudan kullanabilecekleri bir C# versiyonu da mevcuttur. Uygulama, kullanıcıların güvenlik ihtiyaçlarına göre esnek şifreleme seçenekleri sunmakta ve 16 bit (128 bit), 24 bit (192 bit) ile 32 bit (256 bit) anahtar uzunlukları kullanılarak şifreleme işlemleri gerçekleştirmektedir. Bu sayede, kullanıcılar gereksinimlerine göre hem kısa hem de güçlü şifreleme anahtarları oluşturabilir ve veri güvenliğini en üst düzeye çıkarabilirler.
Ekli dosyayı görüntüle 4828
*** Gizli metin: alıntı yapılamaz. ***
2. Aşama (Bitmek Üzere (2-3 Gün)) ön izleme
Katkılarınızı Bekliyorum!
Projeyi geliştirirken, farklı fikir ve yaklaşımlarınızı duymaktan memnuniyet duyarım. Kendi önerilerinizi ve fikirlerinizi paylaşarak projeye katkı sağlayabilirsiniz. Ayrıca, başka bir dilde benzer bir çözüm geliştiren olursa, lütfen burada paylaşmaktan çekinmeyin.
Gelecek güncellemelerde, 2. ve 3. aşamalarla ilgili detaylı bilgi ve kod örnekleri de paylaşacağım.
Yorumlarınızı ve katkılarınızı bekliyorum!
Konunun devamı tamamlandıkça gelecektir arkadaşlar.
Saygılarımla,
server.ini dosyasını bulamadığı için start gelmiyor olabilir mi acaba . şuan senin alıp hazır kullanabileceğin bir sistem yok ortada kanka çalışmaz yanihocam öncelikle çok başarılısınız ve basarıların devamanı diliyorum programın kullanımı hakkında video çekme şansınız varmı paketleme yaptıktan sonra paketler indirilenlere gidiyor onları videodaki gibi Content klasörüne alıyorum acs dll ve launceri de alıyorum ama start gelmiyor nerede yanlış yapıyorum acaba yapan arkadaslar bilgilendirirmisiniz
Tabii ki, bir video kaydı hazırlayabilirim. Şu aşamada .pak dosyalarını Content klasörü içerisinde elle oluşturmanız gerekmekte, zira her projeye özel olması gerektiğinden, klasör adını istediğiniz şekilde belirleyebilirsiniz.hocam öncelikle çok başarılısınız ve basarıların devamanı diliyorum programın kullanımı hakkında video çekme şansınız varmı paketleme yaptıktan sonra paketler indirilenlere gidiyor onları videodaki gibi Content klasörüne alıyorum acs dll ve launceri de alıyorum ama start gelmiyor nerede yanlış yapıyorum acaba yapan arkadaslar bilgilendirirmisiniz
Hocam, şu anda proje açıklamada belirttiğim gibi sadece şifreleme işlemi yapıyor. İkinci aşama kaynak kodlarını henüz paylaşmadım, çünkü yazılım aşamasında bulunuyor. Yazılım tamamlandığında, bu dosyaları çözebilecek, okuyabilecek ve oyunu başlatacak bir launcher olacak.server.ini dosyasını bulamadığı için start gelmiyor olabilir mi acaba . şuan senin alıp hazır kullanabileceğin bir sistem yok ortada kanka çalışmaz yani
Aslında yukarıda belirttiğim gibi, bu projede belirli bir mimari kurmak istiyorum. Dosyaların geliştirici tarafından özel bir yöntemle şifrelenmesi ve ardından bu şifrenin, geliştiricinin launcher içinde yer alan tuzlama (salt) kodu ile çözülerek dosyaların tekrar okunabilir hale getirilmesidir. Bu süreçte, dosyanın tamamı hash'lenmiş olacak ve sadece fark edilen değişiklikler (diff) güncellenecek. Yani, dosyada herhangi bir değişiklik olduğunda yalnızca o kısmı güncelleyen bir yaklaşım uygulanacak. Tabi C++ Paket Dinleme v.s takılmadan bu işlemin ilerlemesi gerekiyor. Aşamalar tamamlandıkça konu daha güncel bir hal alacaktır. Proje şu anda 2. aşamanın tamamlanmasında ve 3. aşamaya kadar beklemenizi rica ediyorum.elinize sağlık harika proje,pek bilgim yok ancak dosyaları daha küçük boyutlarda şifrelerseniz örneğin 20 mb 20 mb şeklinde güncellemeler daha kolay olmaz mı? böylece büyük bir kod yığınından ve emekten kurtulursunuz.
Bu istemci güncellemeler ve değişiklikleri kullanıcıyı etkiler mi?亲爱的朋友们,
你们的尊重和爱护对我来说就足够了,我不为这个项目索取任何费用。随着项目的发展,各个阶段将与您共享并共同进步。在这个阶段尽早宣布该项目的目的是,您的贡献对我在想法阶段很有价值。我期待您的所有建议和贡献。