• 29-06-2010, 01:05:18
    #1
    Merhaba arkadaşlar,

    Online oyun dünyasında en başta gelen problemlerden biri performans, hız ve kalitedir. Bunları böyle nekadar dillendirmesi kolay da olsa perde arkasında birçok etken ve detaylı konfigürasyonlar bulunuyor. Bu konfigürasyonları da en iyi yapıp optimize edeblien oyunda galip geliyor diyebiliriz. Online oyunlar da birçok internet uygulamasının olduğu gibi bir CLIENT/SERVER aplikasyonudur. Yani meydanda, oyunu oynayan siz ve bilgisayarınız bir CLIENT, sizi ve diğer oyuncuları içinde barındıran, sizin bilgisayarlarınızın (clientlerin) yaptığı tüm istekleri kabul eden ve uygun şekilde cevapla geri dönen bir SERVER bulunur.

    Burada tabi SERVER durumunda olan CS sunucularının işleri gerçekten zor. Onca oyuncuya durmadan saliseler aralığınca yanıt alıp yanıt gönderiyor. Sunucuların tek makinada en az 10-15 server şeklinde açıldığını varsayarsak ortaya çıkan durum serverlar açısından baya zor olmakta.

    Oyunu oynadığımız süre boyunca bilgisayarımız server'a sürekli akıcı şekilde byte byte veriler/paketler yollar ve server da bunları kendi içinde harmanlayıp uygun şekilde size paketler gönderir. Bu şekilde de ADSL kotanız kısa sürede biter arkadaşlar Fakat serverların ve client'ların (oyuncu) konsolları üzerinden kendi donanım ve hat kapasitelerine uygun en uygun performansı yakalayabilmeleri için çeşitli ayarlar mevcuttur. Bu ayarları kendine göre en iyi optimize edebilen en iyi performansı sağlar. Hızlıca anlatıma başlayalım.



    FPS nedir?

    Saniye başına düşen kare sayısıdır.

    Oyuncu FPS'si: Bilgisayarınızın 1 saniye sürede mouse ve klavye haraketlerinizi yakalayabilme sayısıdır.

    Server FPS'si : Sunucuya ait FPS değeridir. Sunucuda bi klavye/mouse haraketi olmadığı için bu değer sunucunun oyunculardan gelen istekleri (klavye/mouse) saniyedeki yakalayabilme sayısıdır.

    Burdan anlıyoruz ki oyuncularda olduğu kadar server FPS side önemlidir. Buda her önüne gelenden server almamanız için bir sebep olabilir

    Dediğimiz gibi oyuncularda da net_graph 3 veya cl_showfps 1 yazarak gördüğünüz FPS nin yüksek olması önemlidir. 1 saniyede 50 kare farklı, 100 (max) kare farklı sonuç sağlar. Bunu kalitesiz eski bir video kamerasıyla çekilmiş video ile, kaliteli bi kameradaki çekim arasındaki farka benzetebiliriz. Eski kameradaki görüntülerde saniyede yakalanan kare sayısı düşük olduğundan video izlenirken de çok kesintili bölük akıcı olmayan haraketler izleriz. Oyunda da bu şekildedir.

    fps_max : Hem sunucu hemde oyuncu için geçerli bir değer. Yukarıda belirtilen fps değerlerinin ulaşabilmesi istenen maximum üst limiti ayarlar.


    RATE ayarları nedir? Neden önemlidir?

    RATE kelimesi "oran" anlamına gelir. Miktar da diyebiliriz. Terim olarak herhangi olayın, belirli bir açıdan yenilenme, güncellenme vb etkilere kalma sıklığını ifade eder.

    CS deki rate kavramıda bu anlamdadır. Siz oyun oynarken veyahut internet üzerinde MSN gibi herhangi bir yazılım kullanırken yapmış olduğunuz tüm I/O yani girdi ve çıktı haraketleri bir sunucuya gidip-gelme işlemi yapar. Bu şekilde client/server arasında iletişim sağlanır. Oyunda da oynadığınız sürece yukarıda bahsedildiği gibi sunucuya sürekli paket yollarsınız ve sunucuda yetişebildiği miktarda size dönüş sağlar. Bu şekilde oyun da görüntü denkliği sağlanır. Örn sizin attığınız bir mermi, sunucuya byte cinsinden paketler halinde gider, sunucuda gelen verileri milisaniyeler içerisinde yorumlayarak cevaplar. Bu noktadan anlayabileceğimiz üzere hem oyuncunun hemde sunucunun RATE ayarları çok önemli. Bir serverın oyunculara ne sıklıkta cevap verebileceğini server rateleri ile, bir oyuncu da servera ne sıklıkta paket yollayacağını kendi rateleri ile belirler/sınırlar.

    Bu paketlerin gitme-gelme miktarına/sıklığına RATE denmekte ve giden her veri UPDATE yani yeni güncellenmiş olarak gitmektedir. Mantıken servera nekadar çok paket yollarsanız sizin için okadar iyidir. Server sizden nekadar çok girdi-çıktı alabiliyorsa, sizi okadar iyi anlıyor demektir Diğer bir deyişle "ulan okadar vuruyorum ölmüyor" demek yerine teknik olarak "ulan ölmedi demekki server yeterince paket almadı" demelidir. Tabi ne yazık ki siz rate değerlerinizi artırsanız bile, server ayarlarındaki rateler de önemli. Bi server saniyede alabileceği paket sayısını düşük sınırlara çektiği zaman, sizin o sınırın üstüne bi paket yollama şansınız olmuyor.


    CLIENT RATE (OYUNCU) KOMUTLARI

    Oyunculara özel rate komutlarıdır. Sallamasyon ordan burdan duyulmuş uydurulmuş "rate vercek varmı" deyip de alınmış değerler girmek günahtır, yasaktır, hukuka aykırıdır, bi işe yaramaz, sökmez.. oyunalemi.com sunucularında sınırlanan rate ayarları oyuncu geneli düşünülerek hesaplanmış ortalama değerlerdir ve kendi bağlantınız/donanımınız yetersiz olmadığı sürece iyi performans sağlar.

    cl_cmdrate : Oyuncu (client) için geçerlidir. Bilgisayarınızın saniyede update edip sunucuya yollayacağı paket sayısıdır. Bu değere verebileceğiniz en küçük rakam 10, en fazla 100 olduğu saptanmıştır.

    Türkiye şartlarındaki ADSL kalitesini ve sunucularda belirlenmiş maximum rate değerlerini göz önüne alırsak girmeniz tavsiye olunan değerler :
    • Hızlı bir bağlantınız varsa (4-8 mbit+) : cl_cmdrate 50-70
    • Daha düşük bağlantılar için: cl_cmdrate 10-30
    cl_updaterate : Oyuncu (client) için geçerlidir. Bilgisayarınızın saniyede serverdan talep edeceği güncel paket sayısını sınırlar. Bu değer sunucuada ayarlanmış olan sv_maxupdaterate değerinden büyük olamaz, çünkü sv_maxupdaterate bir sunucunun bir oyuncuya saniyede gönderebileceği maximum paket sayısını belirler.
    • Hızlı bir bağlantınız varsa (4-8 mbit+) : cl_updaterate 80-100
    • Daha düşük bağlantılar için : cl_updaterate 30-60
    rate : Bu komut da oyuncu konsolunda geçerli arkadaşlar. Bilgisayarınızın sunucudan saniyede talep edeceği maximum byte sayısıdır. Örn "rate 25000" yazdığınızda bilgisayarınız serverdan 25.000 BYTE veri talep eder. Buda yaklaşık 25 KB veriye tekabul ediyor. Maximum verebileceğiniz değerin 30.000 olduğunu unutmayın.

    • Hızlı bir bağlantınız varsa (4-8 mbit+) : rate 10000 - 15000
    • Daha düşük bağlantılar için : rate 1000 - 5000

    SERVER RATE (SUNUCU) KOMUTLARI

    Sunucular için geçerli rate sınırlama komutlarıdır. Sunucu panellerindeki server.cfg gibi bir config dosyasının uygun yerine yazılabilirler. oyunalemi.com sunucularında sınırlanan rate ayarları oyuncu geneli düşünülerek hesaplanmış ortalama değerlerdir ve kendi bağlantınız/donanımınız yetersiz olmadığı sürece iyi performans sağlar.


    sv_maxupdaterate :
    Sunucunun oyuncuya saniyede göndereceği maximum güncel paket sayısıdır. Bu değer isminden de anlaşılacağı üzere, oyuncunun cl_updaterate komutunun alabileceği maximum değer olur. Buda demektir ki örneğin sv_maxupdaterate 100 olarak ayarlanmış bir serverda siz cl_updaterate 150 yazarsanız bir işe yaramaz, arka planda alabileceğiniz paket sayısı 100 ü geçmeyecektir.

    Bu değeri sunucu sahiplerinin atmasyon girmemesi çok önemli arkadaşlar. Kafadan atıp server süper oldu zannedenler olabiliyor. Türkiye şartlarında (adsl ve bilgisayar özellikleri bakımından) oynayan bir oyuncuya zaten saniyede 300 paket yollayamazsınız. Yollasanız da onun bilgisayarı bunu karşılayamaz, "choke" ve "loss" dediğimiz değerlerin yükseldiği görülür

    sv_minupdaterate : Sunucunun oyuncuya saniyede gönderebileceği minimum güncel paket sayısıdır. Bu değeri yüksek tutmak sakıncalı olur. Örneğin bu değere 60 veren bir sunucu, oyuncuya saniyede 60 paket yollama uğraşındadır. Yine büyük ihtimalle oyuncunun bilgisayarı bu paketleri karşılayamaz ve server önden gider oyuncu arkasından, sonuçta da sunucularda vurdum ölmedi mermim gitmiyor mevzubahisleri görülür.

    sv_maxrate ve sv_minrate : Bu değer oyuncu komutlarındaki "rate" ile bağıntılıdır. Oyuncunun saniyede alabileceği maximum ve minimum byte değerini sınırlar. Yukarıdakilere benzer şekilde, sv_maxrate 15.000 olarak ayarlanmış bir sunucuda sizin "rate 25000" ile oynamanız birşey ifade etmez. Size gönderilecek paket sayısı 15.000 i geçmeyecektir.


    Bu döküman için yazacaklarım bukadar arkadaşlar. Bir sonraki dökümanda loss/choke gibi kavramlara giricez. Sorularınızı bilgim dahilinde burada yanıtlamaya çalışacağım. Anlatılanları mantıklı şekilde uyguladığınızda farkı göreceksiniz.


    dökümanın orjinal linki: http://www.oyunalemi.com/forum/onlin...lari-t915.html


    ------------------------------------------------------
    dökümanı kendi web sitesinde yayınlamak isteyenler www.oyunalemi.com üzerine bir backlink veya alıntı dipnotu bırakmaları şartıyla kullanabilirler.
  • 29-06-2010, 01:12:33
    #2
    Üyeliği durduruldu
    güzel açıklama teşekkürler enes
  • 29-06-2010, 01:16:15
    #3
    Üyeliği durduruldu
    Rate ayarlarının sabit olmadığını belirtmekte fayda var. Nasıl ki herkesin sensivity değeri başka ise uygun rate değerleri de başkadır. Oyunda iken ufak oynamalarla kendinize en uygun rate ayarlarını elde edebilirsiniz.

    Consola net_graph 4 yazarak sağ alt köşede çıkacak göstergeden yararlanabilirsiniz. MS olmamasına dikkat edin. Kablosuz ağ ile online cs oynamayın.
  • 29-06-2010, 01:25:31
    #4
    krsd adlı üyeden alıntı: mesajı görüntüle
    Rate ayarlarının sabit olmadığını belirtmekte fayda var. Nasıl ki herkesin sensivity değeri başka ise uygun rate değerleri de başkadır. Oyunda iken ufak oynamalarla kendinize en uygun rate ayarlarını elde edebilirsiniz.

    Consola net_graph 4 yazarak sağ alt köşede çıkacak göstergeden yararlanabilirsiniz. MS olmamasına dikkat edin. Kablosuz ağ ile online cs oynamayın.


    evet zaten dökümanın yazılma amacıda dediğin gibi herkesin aynı rate'i kullanmasının mantikli olmadığını göstermektir. herkes kendi bağlantısına, donanım hızına ve sistem yoğunluğunu göz önünde bulundurarak uygun değerleri yakalamalıdır. ve dediğin gibi kablosuz ağlarda da sıkça paket kayıpları görülebiliyor onun yerine kablolu bağlantıları tercih etmeli
  • 29-06-2010, 14:22:49
    #5
    Güzel anlatım olmuş bilmeyen arkadaşlarin işine yarayacaktır.

    Alıntı
    fps_max : Hem sunucu hemde oyuncu için geçerli bir değer. Yukarıda belirtilen fps değerlerinin ulaşabilmesi istenen maximum üst limiti ayarlar.
    fps_max sadece srcds'de serverın fps'sini ayarlamada işe yarıyor, hlds de ise sys_ticrate komutuyla ayarlanıyor
  • 29-06-2010, 21:46:23
    #6
    Eposta Aktivasyonu Gerekmekte
    döküman için teşekkürler
  • 24-08-2010, 14:29:09
    #7
    Üyeliği durduruldu
    güzel anlatım. eline sağlık