Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Game Launcher

  • Konuyu başlatan Konuyu başlatan cb4wtu
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 6
  • Görüntüleme Görüntüleme 788

cb4wtu

Az insan, çok huzur..
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
4 May 2015
Konular
93
Mesajlar
709
Çözüm
3
Online süresi
2mo 23d
Reaksiyon Skoru
328
Altın Konu
1
TM Yaşı
11 Yıl 1 Ay 3 Gün
Başarım Puanı
194
MmoLira
8,589
DevLira
21
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhabalar, yeni geliştirdiğim projemi burada görsel olarak göstermeyi düşündüm. Güncellemeleri falan da paylaşacağım.

Kullanılan teknolojilerle başlayacağım;

Electron
ile uygulama framework'ü,
HTML,CSS,JavaScript ile kullanıcı arayüzü geliştirmesi,
NSIS ile windows kurulum paketi oluşturması,
Electron builder ile uygulama paketlemesi,

İçeride kullanılan bağımlılıklar;

Sentry/electron
ile hata izleme ve raporlama,
Auto-launch ile windows başlangıcında otomatik başlatma,
Axios ile HTTP istekleri,
Chokidar ile dosya sistemini izleme,
Electron-Store ile ayarları kaydetme,
fs-extra ile gelişmiş dosya sistemi işlemleri,
lodash.debounce ile fonksiyon çağrılarını optimize etme,
node-cache ile önbellek yönetimi,
winston ile loglama sistemi,

Şimdi bunlardan hariç olarak kullandığım uygulama güvenlikleri şunlar; (şuan 1.0.0 versiyonu için)

Content Security Policy (CSP),
XSS,

Ve çeşitli Electron güvenlikleri, (hepsini not almadığım için aklıma gelmedi.)


Şimdi uygulamanın ana mantığını, Bir launcher setup ile launcher kurulur, "manifest.json" üzerinden yönettiğim tüm belgeler,dosyalar,içerikler %appdata% içerisine kurulur. Yani Boldest2 sunucum'un tüm kurulum dosyaları kurulur. İndirme bittikten sonra OYNA butonu aktif olur. Ancak indirme başlamadan önce, başladıktan sonra, OYNA'ya tıkladıktan sonra dosya güncellemeleri kontrol edilir. Bir değişiklik algılanırsa kullanıcıya bildirim gönderilir ve eksik olan dosya için tekrardan bir İNDİR butonu aktif edilir. Yani siz bir dosyanın "HASH" veya "SIZE" değerini değiştirdiğiniz anda OYNA butonu iptal edilerek tüm dosyalar için kontrol overlay'i oluşturulup kontrol işlemlerine başlanır. Daha sonrasında ise değiştirilen,silinen dosya için tekrardan indirme yapmanız gerekir. Bu sırada ise arayüz ilk açıldığında tüm dosya kontrolleri için bir "CACHE" oluşturulur. Bu "CACHE" ise kullanıcının uzun süreler boyunca dosyaların kontrol edilmesini beklemek yerine(büyük dosya boyutlarında süreler çok uzuyabiliyor çünkü)önbellek üzerinden tekrar tekrar yapılan kontrollerde süreyi kısaltır. Manifest içeriğinde bulunan tüm dosyaları kontrol eder, bir değişiklik algılandığı zaman sadece o dosyanın "CACHE"sini silerek tekrardan o dosya için kontrol sağlar.


Sunucuya güncelleme vermek;

Sunucuma yeni bir güncelleme yapmak istediğim zaman manifest.json'a yeni değiştirdiğim dosyaların hash ve sizelarını yazıyorum, daha sonra bunu webhosting'ime gönderiyorum. Arayüzde manifest dosyasında bir değişiklik algılandığı zaman OYNA butonu GÜNCELLE olarak güncelleniyor ve oyuncuya güncellemeleri veriyorum. Şuan aklıma gelmeyen veya yazmaya erindiğim(!) çok fazla içerik daha var aslında içerisinde.

Son olarak;

Yorumlarınızı ve görüşlerinizi bekliyorum. Değişiklik yapılması gereken bir yer veya arayüz kısmında bir güncelleme olabilir herkesin yorumuna açığım. Burada zaman geçiren herkese teşekkür ediyorum. Güncellemeleri bu konunun altında paylaşmaya devam etmeyi de düşünüyorum. Dediğim gibi şuan 1.0.0 versiyonundayım bu projenin. Aslında temel mantık tamamen hazır. Bundan sonraki versiyonlarda arayüzde bulunan online, günlük aktif gibi daha basit şeyleri de tamamlayarak patcheri 2 hafta içerisinde tamamlamayı düşünüyorum.


Launcher'in kurulum dosyaları;

1741018184894.png


Launcher;


Manifest dosyasının değişim yaşaması sonucu arayüzdeki etkileşim; ( Overlay çıkar, eksik dosya için İNDİR butonu güncellenir. )


İndirme bilgileri, indirme bittikten sonraki tepkileri; (Badge oluşturur, modal'a bilgileri gönderir.)


Launcher modal'ı;

 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

kardeşim bu işin piiri
Adammm
Eline sağlık, başarılı
Teşekkür ederim
Eline sağlık. Electron'un bu iş için uygun olmaması dışında herşey harika gözüküyor.
Değerli yorumunuz için teşekkür ederim. Electronla alakalı görüşünüzü anlıyorum ve bu konuda genellikle performans, kaynak kullanımı ve uygulama boyutu ile ilgili sanırım. Ama gelişim süreci çok daha hızlı, modern özellikler kullanabiliyorum ve kendi içerisinde optimizasyonları da kullanabildiğim için tercih ettim.
kardeşim bu işin piiri
 
Eline sağlık, başarılı
 
Eline sağlık. Electron'un bu iş için uygun olmaması dışında herşey harika gözüküyor.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst