Ü
Üye silindi 505
Merhaba arkadaşlar,
P2P dediğimiz zaman bir çoğumuz korkabilir. Bu zıkkım yüzünden başınıza gelmeyen kalmamıştır lakin ne işe yaradığını öğrendiğinizde kesinlikle çok seveceksiniz. <3
Öncelikle Nedur Bu P2P?
Peer-to-peer ya da P2P olarak tanımlanır. Peer eş, denk demektir. İki veya daha fazla istemci arasında veri paylaşmak için kullanılan bir ağ protokolüdür.
Eşler, sunucuları veya sabit bilgisayarlar tarafından merkezi koordinasyon ihtiyacı olmadan, işlemci gücü, disk depolama veya ağ bant genişliği gibi kendi kaynaklarının bir kısmını, doğrudan diğer ağ katılımcıları için kullanılabilir yapabilir. Sadece sunucuların tedarikçi ve istemcilerin tüketici olduğu geleneksel istemci-sunucu modelinin aksine, eşler, hem tedarikçi hem de tüketicidir.
Metin2 Neden P2P'ye İhtiyaç Duyar?
Kanallar arası iletişimi sağlamak, anlık veri alıp göndermek için kullanılır.
Web Sitemiz İle Oyuna P2P İle Bağlanmak Mümkün Mü?
Evet mümkün fakat güvenlik önlemlerini çok iyi şekilde almanız gerekmektedir. P2P kodları ile serverinizi bir yönetici gibi yönetebilir..
Web Sitesinde P2P Bağlantısını Kullanarak Verileri Almak Mı Yoksa Veritabanı Kullanarak Almak Mı Karlı?
Bu çok az bilinen bir konudur fakat bu zamana kadar edindiğin tecrübelerde. Oyundaki her işlem anlık olarak veritabanına kayıt edilmez. Genelde fileslerde her 30dk'da bir oyun veritabanına yazılır. Bu süreyi düşürebilirsiniz.
Reboot atarken item kaybıda bu yüzden yaşanmaktadır.
Online sayacından örnek vermek gerekirse. Her bir karakteri alıp onun en son girdiği saate bakıp hepsini saydırmanız gereken bir sql cümlesi yazmanız gereklidir. Buda tabikide belli bir işlem gücü demektir. Bu veriler ise oyun ile eş bir şekilde çalışmaz. Oyunda veritabanı yedeğini ne kadar süre belirlediyseniz 30dk ise 30dk önce olanları gösterir..
Kısacası P2P kullanarak anlık olarak oyunda etkileşimde bulunabilir, veriler alabilirsiniz ve daha az kaynak tüketirsiniz.
Web Sitemizde P2P Yardımı İle Hangi İşlemleri Yaparız?
Tabi ben size burada her özelliği tek tek nasıl yazacağınızı anlatmayacağım.
P2P komutlarını öğrenmek için ilk önce serverinizin server kaynak kodunda;
game/src/input.cpp açıp;
Kod (C++):
Bunun altında "USER_COUNT" gibi komutlar var.
Örnek PHP komutu;
PHP:
P2P dediğimiz zaman bir çoğumuz korkabilir. Bu zıkkım yüzünden başınıza gelmeyen kalmamıştır lakin ne işe yaradığını öğrendiğinizde kesinlikle çok seveceksiniz. <3
Öncelikle Nedur Bu P2P?
Peer-to-peer ya da P2P olarak tanımlanır. Peer eş, denk demektir. İki veya daha fazla istemci arasında veri paylaşmak için kullanılan bir ağ protokolüdür.
Eşler, sunucuları veya sabit bilgisayarlar tarafından merkezi koordinasyon ihtiyacı olmadan, işlemci gücü, disk depolama veya ağ bant genişliği gibi kendi kaynaklarının bir kısmını, doğrudan diğer ağ katılımcıları için kullanılabilir yapabilir. Sadece sunucuların tedarikçi ve istemcilerin tüketici olduğu geleneksel istemci-sunucu modelinin aksine, eşler, hem tedarikçi hem de tüketicidir.
Metin2 Neden P2P'ye İhtiyaç Duyar?
Kanallar arası iletişimi sağlamak, anlık veri alıp göndermek için kullanılır.
Web Sitemiz İle Oyuna P2P İle Bağlanmak Mümkün Mü?
Evet mümkün fakat güvenlik önlemlerini çok iyi şekilde almanız gerekmektedir. P2P kodları ile serverinizi bir yönetici gibi yönetebilir..
Web Sitesinde P2P Bağlantısını Kullanarak Verileri Almak Mı Yoksa Veritabanı Kullanarak Almak Mı Karlı?
Bu çok az bilinen bir konudur fakat bu zamana kadar edindiğin tecrübelerde. Oyundaki her işlem anlık olarak veritabanına kayıt edilmez. Genelde fileslerde her 30dk'da bir oyun veritabanına yazılır. Bu süreyi düşürebilirsiniz.
Reboot atarken item kaybıda bu yüzden yaşanmaktadır.
Online sayacından örnek vermek gerekirse. Her bir karakteri alıp onun en son girdiği saate bakıp hepsini saydırmanız gereken bir sql cümlesi yazmanız gereklidir. Buda tabikide belli bir işlem gücü demektir. Bu veriler ise oyun ile eş bir şekilde çalışmaz. Oyunda veritabanı yedeğini ne kadar süre belirlediyseniz 30dk ise 30dk önce olanları gösterir..
Kısacası P2P kullanarak anlık olarak oyunda etkileşimde bulunabilir, veriler alabilirsiniz ve daha az kaynak tüketirsiniz.
Web Sitemizde P2P Yardımı İle Hangi İşlemleri Yaparız?
- Anlık online sayacı yapabilirsiniz. Her bayrak için ayrı ayrı'da alabilirsiniz.
- Oyuncuları dc atabilirsiniz.
- GM kodlarını kullanabilirsiniz. (Panelden birisine gold gönderecekseniz p2p ile anlık gönderebilirsiniz. Veritabanı ile bu mümkün değildir! Karakterin 30dk oyunda olmaması gerekli.)
- Anlık olarak item gönderebilirsiniz.
- Ban, chat banı atabilrisiniz.
- Serveri bakım moduna alabilirsiniz.
- Eventleri açıp kapatabilirsiniz. (Panel üzerinden otomatik event başlatıcı ve bitirici sistem yapabilirsiniz.)
- Panel üzerinden oyuna notlar gönderebilirsiniz.
Tabi ben size burada her özelliği tek tek nasıl yazacağınızı anlatmayacağım.
P2P komutlarını öğrenmek için ilk önce serverinizin server kaynak kodunda;
game/src/input.cpp açıp;
Kod (C++):
- int CInputHandshake::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
Bunun altında "USER_COUNT" gibi komutlar var.
Örnek PHP komutu;
PHP:
- <?php
- /**
- * Created by PhpStorm.
- * User: Whistle | MMO Tutkunları | mmotutkunlari.com
- * Date: 1/6/2017
- * Time: 9:47 PM
- */
- /**
- * Servere p2p ile bağlantı göndermek için kullanılır.
- *
- * @param $yazi
- * @param string $tip
- * @param int $port
- * @return array|string
- */
- function P2PSendServer($yazi, $tip = "NOTICE", $port = 13000)
- {
- // Metin2 serverin IP ve ADMINPAGE_PASSWORD
- $serverIp = "192.168.1.105"; $sifre = "buraya p2p adminpage_password gelecek!";
- // CREATE
- $socket =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- if ($socket < 0)
- {
- echo "\n Gecersiz socket...\n";
-
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- }
- $sonuc =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- if ($sonuc < 0)
- echo "\n Bağlantı hatası. Hata : ".
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- if($tip == "USER_COUNT")
- $sorgu = "\x40".$tip."\x0A";
- else
- {
- $sorgu2 = "\x40".$sifre."\x0A";
- $sorguBoyut2 =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- $sorguSonuc2 =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
-
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- $sorgu = "\x40".$tip." ".$yazi."\x0A";
- }
- $sorguBoyut =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- $sorguSonuc =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- if ($sorguSonuc < 0)
- echo "Hata: ".
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- else
- $sonuc1 =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- if ($tip == "USER_COUNT")
- {
- $say =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- $say =
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- //$say[0] = Kanaldaki toplam online
- //$say[1] = Kırmızı bayrak toplam online
- //$say[2] = Sarı bayrak toplam online
- //$say[3] = Mavi bayrak toplam online
- //$say[4] = Çekirdek toplam online
- return $say;
- }
- else
- {
- return "$sonuc2\n";
- }
- // P2P Baglantı kapat.
-
Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
- }
- $say1 = P2PSendServer("", "USER_COUNT", 14000); //CH1
- ?>