Selamlar - bu konuda uzun süredir hobi projesi olarak geliştirdiğim Hyrive RPG sunucusunda kullandığım "repack" adını verdiğimiz bir kaynak paketi organizatörü & model yardımcısı hakkında bilgiler vereceğim; neden diğer alternatiflerinden daha "kullanılabilir" vesaire vesaire. Başlamadan önce not geçmek istiyorum; Hyrive projesi bittiğinde ve sunucu sizlere açıldığında, bu tip işimi kolaylaştıracak tool / softwarelerin hepsini açık kaynak olarak paylaşacağım. Mesela kendi sunucu kontrol panelim & orkestrasyon yazılımım vesaire. Aynı şekilde "repack" eklentiside açık kaynak olarak paylaşılacak.
Neden Repack?
İlk olarak hız konusuna gelelim. 18MB'lik 21 bin dosyalık (9946 assets) büyük bir kaynak paketi, 4.2 saniye içerisinde tamamen oyunculara servis edilebilir hale geliyor. Bunun içerisinde; kendi corruption metodumuz dahil. Yani oyuncular sunucunuzdaki kaynak dosyasını istediği gibi indiremiyor veya "packsquash" gibi toollar ile kolay bir şekilde elde edemiyor.
İkinci öne çıkan özellik; akıllı kategorileştirme. Sistem verdiğiniz kaynak dosyasındaki modelleri tarayarak: hangisi kozmetik eşyası, hangisi dekor eşyası, vesaire gibi sınıflandırıyor. Kendi içerisinde kullandığımız küçük bir PackAPI var. PackAPI sayesinde atıyorum bir kozmetik eklentisi yapıyorsunuz; direkt PackAPI.equip() gibi fonksiyon çağrılarıyla modeli otomatik olarak kullanılabilir hale getirebiliyorsunuz.
Eklenti tamamen izole çalışıyor, diğer alternatifleri gibi ProtocolLib, packetevents vesaire gibi herhangi bir ikincil gereksinime gerek duyulmuyor.
Demo:
Proof of Ownership:
Neden Repack?
İlk olarak hız konusuna gelelim. 18MB'lik 21 bin dosyalık (9946 assets) büyük bir kaynak paketi, 4.2 saniye içerisinde tamamen oyunculara servis edilebilir hale geliyor. Bunun içerisinde; kendi corruption metodumuz dahil. Yani oyuncular sunucunuzdaki kaynak dosyasını istediği gibi indiremiyor veya "packsquash" gibi toollar ile kolay bir şekilde elde edemiyor.
İkinci öne çıkan özellik; akıllı kategorileştirme. Sistem verdiğiniz kaynak dosyasındaki modelleri tarayarak: hangisi kozmetik eşyası, hangisi dekor eşyası, vesaire gibi sınıflandırıyor. Kendi içerisinde kullandığımız küçük bir PackAPI var. PackAPI sayesinde atıyorum bir kozmetik eklentisi yapıyorsunuz; direkt PackAPI.equip() gibi fonksiyon çağrılarıyla modeli otomatik olarak kullanılabilir hale getirebiliyorsunuz.
Eklenti tamamen izole çalışıyor, diğer alternatifleri gibi ProtocolLib, packetevents vesaire gibi herhangi bir ikincil gereksinime gerek duyulmuyor.
Demo:
Proof of Ownership:
