Merhabalar,
Ben cs server için panel yapmaktayım çoğunuz Game Tracker - Server Stats, List Search, Ranking, Banners, & Social Network for Gamers adresini biliyodur bu siteye server ekleme yaptığında direk ip'den serverı isimini buluyor bunun çalışma mantığı nedir acaba ? Yani bende php ile sattığım bir serverın panelinde isiminin görünmesini istiyorum bu sistem hakkında bilgisi olan varsa paylaşırsa sevinirim
Şimdiden değerli cevaplarınız için teşekkür ederim
Oyun Serverı ile ilgili verileri çekicem ?
7
●703
- 24-11-2008, 23:06:59
- 25-11-2008, 03:09:10Server Query Protocol leri üzerinde çalışacaksın.
Örn ; http://developer.valvesoftware.com/w...Query_Protocol - 25-11-2008, 06:03:00ben bu gamequery ile ilgili script'i indirdim ama pek bişey anlamadım local olarak kurdum Haymac hocam biraz daha bu script'i nasıl kurcağımı anlatırsanız çok sevinirim
- 25-11-2008, 16:19:46Bunun isini gormesi lazim.
Eğer counter-strike oyun serveri işindeysen birebir görüşmek isterim msn aracılığıyla
birbirimize yardım edebiliriz.
<? function sunucuadi($ip,$port=27015,$bekleme=500) { $komut = "\xFF\xFF\xFF\xFFinfo\x00"; if (!$veriakisi=fsockopen("udp://".$ip,$port,$errnr)) return false; // Akis icin gerekli ayarlar stream_set_blocking($veriakisi,true); // Zaman asimi ayari stream_set_timeout($veriakisi,1); fwrite($veriakisi,$komut); // Ham Veriyi aliyoruz do { $veri.=fgetc($veriakisi); $durum=stream_get_meta_data($veriakisi); } while ($durum["unread_bytes"]); fclose($veriakisi); // Eger Veri 5 karakterse cevap alamamisiz demektir. if (strlen($veri)<5) return false; // Sorun yoksa veriyi donduruyoruz $bilgi = explode("\x00",$veri); return $bilgi[1]; } // Basit Kullanim $ip = "1.2.3.4"; $port = 27015; $isim1 = sunucuadi($ip,$port); $isim2 = sunucuadi("1.2.3.4",27015); $isim3 = sunucuadi("1.2.3.4"); print("1: $isim1<br />"); print("2: $isim2<br />"); print("3: $isim3<br />"); ?> - 25-11-2008, 19:38:31Sunucu adresine 27015 vb. portundan açacağın UDP bağlantısından sonra, serverdan istediğin bilgileri cevap olarak alaiblmen için "infostring" komutunu göndermen gerekiyor. Yukarıdaki arkadaşın verdiği kod işini görecektir. Ama orda gönderilen komut "info" olarak ayarlanmış. Orayı infostring yaparsan, şuna benzer bi yapı gelecek sayfaya ;
\protocol\46\address\212.175.128.15:27015\players\21\proxytarget\0\***\1\max\20\bots\0\gamedir\cstrike\description\CounterStrike\hostname\cs1.oyunalemi.com (CSTRIKE/SXE)\map\de_inferno\type\d\password\0\os\l\secure\0\mod\1\modversion\1\svonly\0\cldll\1
Burda da \cvar\deger\ formatında görünüyo tüm veriler. Örn en baştan misal verirsek :
protocol 46
address 212.175.128.15:27015
players 21
max 20
hostname cs1.oyunalemi.com (CSTRIKE/SXE)
gibi. Bunlarıda "\" işaretinden explode () fonksiyonuyla bölerek rahatça kullanabilirsin.
Biraz uğraş ve araştır okadar
- 25-11-2008, 22:11:22Değerli cevaplarınız için çok çok teşekkür ederim , TrGameArea msn adresini özelden atarsan konuşabiliriz kardeş
biraz emek verin bence