Nasıl programlı HLDS sunucu günlükleri okuyabilir?

3 Cevap

HLDS (Half-Life Dedicated Server) uzaktan gönderilen Nasıl bir sunucu günlükleri okuma ve ayrıştırma hakkında gidiyor?

Benim anlayış sunucu komut log_address kullanarak günlükleri sağlar nerede belirtebilirsiniz olmasıdır. Bundan sonra, sunucu UDP yoluyla günlükleri teslim etmek gerekiyordu.

Nasıl PHP veya ASP.NET C # ya da bu günlükleri için dinleme hakkında gidebilir? Ben Gelen paketler için dinleme gerekiyordu yaşıyorum biliyor, ya da paketler için HLDS için bir istek göndermek yok. Ben netstat-a kullanarak benim UDP bağlantılarını izlemek için çalıştık, ama bu anlamaya görünüyor olamaz.

Not: Ben günlük sürecine yardımcı olmak için sunucu üzerinde herhangi bir üçüncü taraf mods kuramazsınız gibi, bir log_address uygulamasını kullanmak istiyorum. Ben de HLSW farkındayım ve bu gibi bir istemci tarafı uygulama için arıyorum değil.

Teşekkür ederim.

3 Cevap

Bu eski bir soru olduğunu biliyorum ama ben bulabilirim her yerde cevap değil. O defalarca kapalı ve oldu beri ben oldukça UDP anlatmak istemem. Eğer düzgün bir sunucu ortak IP adresini ve UDP ile dinliyorsunuz aynı bağlantı noktasını verdik ve herhangi bir veri elde değil Ancak, aslında paketleri almak için bir hile var.

Sen sunucunun standart oyun bağlantı noktasına, sunucuya bir mesaj göndermek zorunda. Bu ne fark etmez, tüm sunucu bakımları için 'merhaba' olabilir. Bundan sonra sunucudan veri alma başlamalıdır. Bu tam olarak neden emin değilim, ama muhtemelen onların sunucu spam sadece herhangi bir eski IP önlemek için Valve tarafından bir stratejidir.

Sen Steam HLDS Log Parser taş için bir göz olmalıdır.

Bu Ruby olduğunu ve bu gibi çalışır:

  • sizin hlds üzerine, logaddress xxx.xxx.xxx.xxx yyyy burada x ip ve günlükleri UDP kullanılarak gönderilir y sizin bağlantı noktası kullanacak
  • mücevher almak ve örnek kontrol edin: o günlükleri ve ekran içeriğini alır ve ayrıştırır.

I display, aslında size iade içeriği ile istediğiniz ne yapabilirim derken ... (bir veritabanı yazmak, irc itin). Sadece kendi "displayer" yazmak

I published this gem few days ago, feel free to try and contribute. I recently added i18n support with english and french translations.

Saygılar.