Best Studio 1
Best Studio
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
InfernoShade 1
InfernoShade
BlackFullMoon 1
BlackFullMoon
Agora Metin2 1
Agora Metin2
PrimeAC 1
PrimeAC
ShadowFon 1
ShadowFon
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı Stok Sınırı

  • Konuyu başlatan Konuyu başlatan alone323
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 149

alone323

Level 4
TM Üye
Üye
Katılım
1 Kas 2019
Konular
22
Mesajlar
324
Çözüm
1
Online süresi
4d 3h
Reaksiyon Skoru
34
Altın Konu
0
TM Yaşı
6 Yıl 7 Ay 13 Gün
Başarım Puanı
85
MmoLira
1,157
DevLira
0
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!

oyunda 64k stok sınırım var 100m yapmak istiyorum ve sandık açma 5k onuda 10m veya 100m yapmak istiyorum yardımcı olabilecek var mı
 

En Çok Reaksiyon Alan Mesajlar

Bu sınırlar tamamen oyunun altyapısından gelen teknik limitler, ayar dosyasıyla falan çözülecek şeyler değil. O yüzden net konuşayım ki boş yere kurcalama yapma.

64K stok sınırı dediğin olay, oyunda item adedinin tutulduğu değişken tipinden geliyor. Yani bu bir “ayar” değil, kod sınırı. 64K (65535) sınırı şuradan gelir: item sayısı 16 bitlik değişkenle tutuluyordur. Bu yüzden ne yaparsan yap o rakamın üstüne çıkmaz.

Bunu 100M yapmak istiyorsan:


  • Server source’ta item count geçen yerlerde kullanılan değişken tipi büyütülmeli
    WORD / uint16 tarzı tanımlar → DWORD / uint32 yapılmalı
    Sadece tek dosya değil, item ile ilgili tüm zincir etkilenir
Yani:


  • item.cpp
    char_item.cpp
    shop / safebox / sandık mantığı
    packet yapıları
hepsi birbiriyle uyumlu olmak zorunda. Sadece “bir yerde değiştirdim” ile olmaz.


Sandık açma 5K limiti ise iki yerden gelir:


  1. Client tarafı
    Sandık açarken girilen adet için Python tarafında bilinçli bir üst sınır vardır. Genelde güvenlik için konmuştur. Bunu artırmazsan, server ne kadar izin verirse versin client zaten o değerin üstünü göndermez.
    Server tarafı
    Server’da da “tek seferde en fazla şu kadar açılır” diye bir kontrol olur. Bu da çoğu files’te 5K civarındadır. Bu sınırı kaldırmadan 10M / 100M mümkün değil.
Burada da aynı mesele var:


  • Sınırı kaldırırsan ama değişken tipi küçük kalırsa yine takılırsın
    Client–server packet’lerinde sayı tipi büyütülmezse veri taşmaz

Özetle şunu bilmen önemli:


  • Bu sınırlar DB’den gelmiyor
    Quest ile çözülemez
    Config ayarı değildir
    Source işi
Source yoksa:


  • 64K stok → değiştirilemez
    Sandık açma → sınırlı şekilde oynanabilir ama sağlıklı olmaz
Source varsa:


  • Client + server + packet birlikte düzenlenmeli
    Aksi halde crash, item silinmesi veya rollback yaşarsın
Eğer elinde source varsa ve hangi files’i kullandığını söylersen, “şu dosyada şu kısım” diye daha net yol gösterebilirim. Yoksa bu iş ayarla çözülecek bir konu değil, onu bilmen yeterli.
Çözüm
Ticaret - 0%
0   0   0
Bu sınırlar tamamen oyunun altyapısından gelen teknik limitler, ayar dosyasıyla falan çözülecek şeyler değil. O yüzden net konuşayım ki boş yere kurcalama yapma.

64K stok sınırı dediğin olay, oyunda item adedinin tutulduğu değişken tipinden geliyor. Yani bu bir “ayar” değil, kod sınırı. 64K (65535) sınırı şuradan gelir: item sayısı 16 bitlik değişkenle tutuluyordur. Bu yüzden ne yaparsan yap o rakamın üstüne çıkmaz.

Bunu 100M yapmak istiyorsan:

  • Server source’ta item count geçen yerlerde kullanılan değişken tipi büyütülmeli
  • WORD / uint16 tarzı tanımlar → DWORD / uint32 yapılmalı
  • Sadece tek dosya değil, item ile ilgili tüm zincir etkilenir
Yani:

  • item.cpp
  • char_item.cpp
  • shop /...
Sandık açmayı 100m yapmayı düşünüyorsan o kadar kolay değil game şişer sunucu bum olur
 
Bu sınırlar tamamen oyunun altyapısından gelen teknik limitler, ayar dosyasıyla falan çözülecek şeyler değil. O yüzden net konuşayım ki boş yere kurcalama yapma.

64K stok sınırı dediğin olay, oyunda item adedinin tutulduğu değişken tipinden geliyor. Yani bu bir “ayar” değil, kod sınırı. 64K (65535) sınırı şuradan gelir: item sayısı 16 bitlik değişkenle tutuluyordur. Bu yüzden ne yaparsan yap o rakamın üstüne çıkmaz.

Bunu 100M yapmak istiyorsan:

  • Server source’ta item count geçen yerlerde kullanılan değişken tipi büyütülmeli
  • WORD / uint16 tarzı tanımlar → DWORD / uint32 yapılmalı
  • Sadece tek dosya değil, item ile ilgili tüm zincir etkilenir
Yani:

  • item.cpp
  • char_item.cpp
  • shop / safebox / sandık mantığı
  • packet yapıları
hepsi birbiriyle uyumlu olmak zorunda. Sadece “bir yerde değiştirdim” ile olmaz.


Sandık açma 5K limiti ise iki yerden gelir:

  1. Client tarafı
    Sandık açarken girilen adet için Python tarafında bilinçli bir üst sınır vardır. Genelde güvenlik için konmuştur. Bunu artırmazsan, server ne kadar izin verirse versin client zaten o değerin üstünü göndermez.
  2. Server tarafı
    Server’da da “tek seferde en fazla şu kadar açılır” diye bir kontrol olur. Bu da çoğu files’te 5K civarındadır. Bu sınırı kaldırmadan 10M / 100M mümkün değil.
Burada da aynı mesele var:

  • Sınırı kaldırırsan ama değişken tipi küçük kalırsa yine takılırsın
  • Client–server packet’lerinde sayı tipi büyütülmezse veri taşmaz

Özetle şunu bilmen önemli:

  • Bu sınırlar DB’den gelmiyor
  • Quest ile çözülemez
  • Config ayarı değildir
  • Source işi
Source yoksa:

  • 64K stok → değiştirilemez
  • Sandık açma → sınırlı şekilde oynanabilir ama sağlıklı olmaz
Source varsa:

  • Client + server + packet birlikte düzenlenmeli
  • Aksi halde crash, item silinmesi veya rollback yaşarsın
Eğer elinde source varsa ve hangi files’i kullandığını söylersen, “şu dosyada şu kısım” diye daha net yol gösterebilirim. Yoksa bu iş ayarla çözülecek bir konu değil, onu bilmen yeterli.
 
Çözüm
Yapmak istediğin imkansız değil yapılabilecek bir durum fakat yapma konusuna gelince derinleme bir durum, kaynak dosyalarında baya işlemler ve yeni modüller eklemen gerekecek. Bu süreç biraz uzun sürebilir, çünkü oyunun mevcut limitlerinin üstüne çıkacaksın, stok arttırma çok zor bir durum değil, kolayca çıkartabilirsin fakat yüksek miktarda sandık açtırma vs. kaynak dosyandaki yapıları değiştirme gereği getirir. 10m gibi uçuk bir rakamda açtırmak db game patlamasına sebep olur şuanki haliyle, yapılamaz değil bu durumlar halledilebilir fakat yapımı uzun ve çok fazla test gerektirecektir. Durduk yere birinin bu tarz birşeyle uğraşacağını sanmıyorum.

Bu belirttiğiniz 2 kriteri yapmak için kodlama bilginizin sağlam olması gerektiğini düşünüyorum fakat ne kadar iyi olursa olsun uzun bir test süreci geçirmelisiniz, tekil yapacağınız testler veya 10 - 20 kişi ile yapacağınız testlerin çok faydası olmaz. Aktif oyunda oyuncular sürekli olarak buna yüklenecektir.
 
Bu sınırlar tamamen oyunun altyapısından gelen teknik limitler, ayar dosyasıyla falan çözülecek şeyler değil. O yüzden net konuşayım ki boş yere kurcalama yapma.

64K stok sınırı dediğin olay, oyunda item adedinin tutulduğu değişken tipinden geliyor. Yani bu bir “ayar” değil, kod sınırı. 64K (65535) sınırı şuradan gelir: item sayısı 16 bitlik değişkenle tutuluyordur. Bu yüzden ne yaparsan yap o rakamın üstüne çıkmaz.

Bunu 100M yapmak istiyorsan:

  • Server source’ta item count geçen yerlerde kullanılan değişken tipi büyütülmeli
  • WORD / uint16 tarzı tanımlar → DWORD / uint32 yapılmalı
  • Sadece tek dosya değil, item ile ilgili tüm zincir etkilenir
Yani:

  • item.cpp
  • char_item.cpp
  • shop / safebox / sandık mantığı
  • packet yapıları
hepsi birbiriyle uyumlu olmak zorunda. Sadece “bir yerde değiştirdim” ile olmaz.


Sandık açma 5K limiti ise iki yerden gelir:

  1. Client tarafı
    Sandık açarken girilen adet için Python tarafında bilinçli bir üst sınır vardır. Genelde güvenlik için konmuştur. Bunu artırmazsan, server ne kadar izin verirse versin client zaten o değerin üstünü göndermez.
  2. Server tarafı
    Server’da da “tek seferde en fazla şu kadar açılır” diye bir kontrol olur. Bu da çoğu files’te 5K civarındadır. Bu sınırı kaldırmadan 10M / 100M mümkün değil.
Burada da aynı mesele var:

  • Sınırı kaldırırsan ama değişken tipi küçük kalırsa yine takılırsın
  • Client–server packet’lerinde sayı tipi büyütülmezse veri taşmaz

Özetle şunu bilmen önemli:

  • Bu sınırlar DB’den gelmiyor
  • Quest ile çözülemez
  • Config ayarı değildir
  • Source işi
Source yoksa:

  • 64K stok → değiştirilemez
  • Sandık açma → sınırlı şekilde oynanabilir ama sağlıklı olmaz
Source varsa:

  • Client + server + packet birlikte düzenlenmeli
  • Aksi halde crash, item silinmesi veya rollback yaşarsın
Eğer elinde source varsa ve hangi files’i kullandığını söylersen, “şu dosyada şu kısım” diye daha net yol gösterebilirim. Yoksa bu iş ayarla çözülecek bir konu değil, onu bilmen yeterli.
oyunun dosyaları mevcut iletişim verebilir misin rica etsem :)
 

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

Geri
Üst