Modern ve responsive web tabanlı GTA San Andreas Multiplayer (SAMP) ve Open.MP sunucu izleme aracı. Gerçek zamanlı sunucu verilerini doğrudan UDP query protokolü ile çeker ve güzel, mobil uyumlu arayüzde sunar.
- 🔥 Gerçek Zamanlı Veri: Doğrudan UDP SAMP/Open.MP query protokolü uygulaması
- 🎨 Modern Arayüz: TailwindCSS ve Alpine.js ile responsive tasarım
- ⚡ Hızlı Performans: Optimize edilmiş UDP socket bağlantıları
- 🔍 Akıllı Arama: Sunucu adı, IP, oyun modu veya sunucu tipine göre filtreleme
- 📱 Mobil Uyumlu: Tüm cihazlarda mükemmel görüntü
- 🔄 Otomatik Yenileme: Her 30 saniyede otomatik güncelleme
- 📊 Detaylı Bilgi: Oyuncu sayısı, ping, oyun modu, dil ve daha fazlası
- 🚫 Harici API Yok: Güvenilirlik için doğrudan protokol uygulaması
- 🆕 Open.MP Desteği: SAMP ve Open.MP sunucularını aynı arayüzde izleme
- PHP 8.0 veya üzeri
- Socket extension (
php-sockets) - JSON extension (
php-json) - Web sunucusu (Apache/Nginx)
- Repoyu klonlayın:
git clone https://github.com/thislaex/samp-query.git
cd samp-query- Web sunucunuza deploy edin:
# Apache için
cp -r * /var/www/html/samp/
# Nginx için
cp -r * /usr/share/nginx/html/samp/
# XAMPP/WAMP (Windows) için
# Dosyaları htdocs/samp/ klasörüne kopyalayın- PHP extensionlarını kontrol edin:
php -m | grep socket
php -m | grep json- Sunucularınızı yapılandırın:
index.phpdosyasındaki$serversdizisini düzenleyin:
private $servers = [
['ip' => 'sunucu-ip-adresi', 'port' => 7777, 'type' => 'samp'],
['ip' => 'openmp-sunucu-ip', 'port' => 7777, 'type' => 'openmp'],
];- Tarayıcıda açın:
http://localhost/samp/
Uygulama bir JSON API endpoint sağlar:
GET /path/to/samp/?api=serversÖrnek Yanıt:
{
"success": true,
"servers": [
{
"hostname": "[0.3.7/DL] SAMP Sunucunuz",
"players": 42,
"maxplayers": 100,
"gamemode": "Roleplay/Freeroam",
"language": "Turkish",
"password": false,
"ping": 85,
"ip": "192.168.1.100",
"port": 7777,
"source": "udp_query",
"server_type": "samp",
"is_openmp": false,
"query_time_ms": 45.2
},
{
"hostname": "Open.MP Test Server",
"players": 25,
"maxplayers": 100,
"gamemode": "Freeroam/DM",
"language": "English",
"password": false,
"ping": 65,
"ip": "192.168.1.101",
"port": 7777,
"source": "udp_query",
"server_type": "openmp",
"is_openmp": true,
"query_time_ms": 38.1
}
],
"count": 2,
"query_time_ms": 156.7,
"timestamp": "2025-07-09 15:30:45"
}index.php dosyasındaki $servers dizisini düzenleyin:
private $servers = [
['ip' => '51.254.139.153', 'port' => 7777, 'type' => 'samp'], // SAMP Sunucu
['ip' => '89.45.44.38', 'port' => 7777, 'type' => 'samp'], // SAMP Sunucu
['ip' => 'openmp-server.com', 'port' => 7777, 'type' => 'openmp'], // Open.MP Sunucu
];Sunucu Tipleri:
'type' => 'samp'- SA-MP sunucuları için'type' => 'openmp'- Open.MP sunucuları için
UDP socket timeout değerlerini değiştirin:
// 2 saniyeden 5 saniyeye timeout değişimi
@socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 5, 'usec' => 0));JavaScript'te otomatik yenileme zamanlamasını değiştirin:
// 30 saniyeden 60 saniyeye değiştirme
setInterval(() => {
if (!this.loading) {
this.refreshServers();
}
}, 60000);- Backend: PHP 8.0+
- Frontend: HTML5, TailwindCSS, Alpine.js
- Protokol: SAMP/Open.MP UDP Query Protocol
- İkonlar: Font Awesome 6
- Stil: TailwindCSS CDN
Bu proje hem SAMP hem de Open.MP için UDP query protokolünü uygular:
- Paket Yapısı:
SAMP + IP(4 bytes) + Port(2 bytes) + 'i' - Yanıt Ayrıştırma: Little-endian byte okuma
- Veri Alanları: Şifre durumu, oyuncu sayısı, hostname, gamemode, dil
- Uyumluluk: SAMP 0.3.7/DL ve Open.MP sunucularıyla tam uyumlu
// Query paket formatı
$packet = 'SAMP' . // Header (4 bytes)
pack('CCCC', ...explode('.', $ip)) . // IP adresi (4 bytes)
pack('v', $port) . // Port little-endian (2 bytes)
'i'; // Info query türü (1 byte)Katkılarınızı bekliyoruz! Lütfen şu adımları takip edin:
- Repoyu fork edin
# GitHub'da thislaex/samp-query repo'sunu fork edin
# Ardından kendi fork'unuzu klonlayın
git clone https://github.com/KULLANICI_ADINIZ/samp-query.git
cd samp-query- Geliştirme dalı oluşturun
git checkout -b feature/yeni-ozellik
# veya
git checkout -b bugfix/hata-duzeltmesi- Değişikliklerinizi yapın ve test edin
# Kodunuzu yazın ve test edin
# Hem SAMP hem de Open.MP sunucuları ile test etmeyi unutmayın- Değişiklikleri commit edin
git add .
git commit -m "feat: yeni özellik eklendi"
# veya
git commit -m "fix: sunucu bağlantı hatası düzeltildi"- Fork'unuza push edin
git push origin feature/yeni-ozellik- Pull Request oluşturun
- GitHub'da https://github.com/thislaex/samp-query sayfasına gidin
- "Pull Request" butonuna tıklayın
- Değişikliklerinizi açıklayın
- Pull Request'i gönderin
- Kod Standartları: PSR-12 kodlama standartlarını takip edin
- Commit Mesajları: Conventional Commits formatını kullanın
feat:- Yeni özellikfix:- Hata düzeltmesidocs:- Dokümantasyon güncellemestyle:- CSS/UI değişikliklerirefactor:- Kod düzenlemesi
- Testing: Değişikliklerinizi farklı SAMP ve Open.MP sunucuları ile test edin
- Responsive: Mobil uyumluluğu kontrol edin
| Sorun | Çözüm |
|---|---|
| Sunucular görünmüyor | PHP sockets extension'ının kurulu olup olmadığını kontrol edin |
| UDP bağlantısı başarısız | Firewall'ın UDP bağlantılarına izin verdiğini doğrulayın |
| Yavaş sorgular | Timeout değerlerini ayarlayın veya ağı kontrol edin |
| API boş döndürüyor | Sunucuların online ve erişilebilir olduğundan emin olun |
| Open.MP sunucu görünmüyor | Sunucu tipini 'openmp' olarak ayarladığınızdan emin olun |
Linux (iptables):
sudo iptables -A OUTPUT -p udp --dport 7777 -j ACCEPTWindows Firewall:
New-NetFirewallRule -DisplayName "SAMP/OpenMP UDP" -Direction Outbound -Protocol UDP -LocalPort 7777- 👥 Oyuncu listesi görüntüleme
- ⭐ Sunucu favoriler sistemi
- 📊 Geçmiş istatistikler ve grafikler
- 🔐 Sunucu yönetimi için admin paneli
- 🌍 Çoklu dil desteği
- 🌙 Karanlık mod teması
- ⏱️ Sunucu uptime takibi
- 📧 Sunucu durumu bildirimleri
- 🗺️ Sunucu konum haritası
- 📱 Progressive Web App (PWA)
Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için LICENSE dosyasına bakın.
- SAMP Topluluğu - Protokol dokümantasyonu için
- Open.MP Ekibi - Open.MP desteği ve dokümantasyon için
- TailwindCSS - Harika CSS framework için
- Alpine.js - Hafif JavaScript framework için
- Font Awesome - Güzel ikonlar için
- GitHub: @thislaex
- Proje: thislaex/samp-query
- Issues: Bug Report & Feature Request
- Discord: thislaex
Bu proje size yardımcı olduysa, GitHub'da yıldız vermeyi düşünün!
SAMP & Open.MP topluluğu için ❤️ ile yapılmıştır
