Мониторинг серверов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VLADosik
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 12.08.2006 (Сб) 7:48
Откуда: Россия,Пенза

Мониторинг серверов

Сообщение VLADosik » 14.08.2006 (Пн) 6:44

Как можно сделать мониторинг CS серверов, тоесть сколько на них человек, какая карта, и т.д... Если кто играет в CS 1.6 знают что есть прогармма CS Monitor, мне подобие неё надо сделать...
Я спрашивал мне гогворят надо по Сокетам надо делать запросы...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 14.08.2006 (Пн) 8:41

Я спрашивал мне гогворят надо по Сокетам надо делать запросы...
Все верно. Но только нужно знать как и что спрашивать. :wink:
А я все практикую лечение травами...

VLADosik
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 12.08.2006 (Сб) 7:48
Откуда: Россия,Пенза

Сообщение VLADosik » 14.08.2006 (Пн) 9:41

Twister
ты знаешь как можно сделать такую прогу?

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 14.08.2006 (Пн) 10:19

Я знаю принцип. Но не знаю спецификаций.
А я все практикую лечение травами...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 14.08.2006 (Пн) 10:31

у СиЭс свой протокол обмена, ищи ,в инете были открытые проекты на эту тему

VLADosik
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 12.08.2006 (Сб) 7:48
Откуда: Россия,Пенза

Сообщение VLADosik » 14.08.2006 (Пн) 16:55

Twister писал(а):Я знаю принцип. Но не знаю спецификаций.

и какой принцип? хотя бы как будет примерно выглядить Код?

Powerman
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 20.11.2005 (Вс) 2:43

Сообщение Powerman » 15.08.2006 (Вт) 1:31

half-life sdk: server protocol

Код: Выделить всё
Game servers will answer the following messages:
Messages are sent to the server by sending 4 consecutive bytes of 255
(32-bit integer -1) and then the string command followed by a zero byte to terminate it

"ping"
   Server responds with a single byte code ASCII 'j'

"info"
   Server responds with the following packet:
   (int32)      -1
   (byte)      ASCII 'C' (info response, S2A_INFO)
   (string)      net address of server
   (string)      name of the host / server
   (string)      name of the map
   (string)      game directory (i.e. valve/)
   (string)      Game description (e.g. "half-life multiplay")
   (byte)      active client count
   (byte)      maximum clients allowed
   (byte)      protocol version (currently 7)

"players"
   Server responds with the following packet:
   (int32)      -1
   (byte)      ASCII 'D' (players response, S2A_PLAYER)
   (byte)      active client count

   for each active client
      (byte)      client number / index
      (string)      player name
      (int32)      client's frag total
      (float32)      client's total time in-game

"rules"
   Server responds with the following packet:
   (int32)      -1
   (byte)      ASCII 'E' (rules response, S2A_RULES)
   (int16)      number of rules

   for each rule
      (string)      rule name
      (string)      rule value


-------------------

Master server query protocol:

Sent to master:

(byte)    ASCII 'c' ( A2M_GET_SERVERS )

Response from master:

(int32)  -1
(byte)   ASCII 'd' ( M2A_SERVERS )
(byte)   unused

// This is followed by as many 6 byte ip addresses as will fit in the message.  The master currently feeds about 2K worth of IP address ( 300+ or so ), but we may up that # significantly in the near future.

(4 x byte) ip address
(int16)  port #



The old protocol is still valid, but there is a new, extended protocol:

Here are both the old and new protocols ( the new one is the "details" message ):

"info"
   Server responds with the following packet:
   (int32)      -1
   (byte)      ASCII 'C' (info response, S2A_INFO)
   (string)      net address of server
   (string)      name of the host / server
   (string)      name of the map
   (string)      game directory (i.e. valve/)
   (string)      Game description (e.g. "half-life multiplay")
   (byte)      active client count
   (byte)      maximum clients allowed
   (byte)      protocol version (currently 37)

"details"
   (int32)          -1
   (byte)      ASCII 'm' ( S2A_INFO_DETAILED )
   (string)      net address of server
   (string)      name of the host / server
   (string)      name of the map
   (string)      game directory (i.e. valve/)
   (string)      Game description (e.g. "half-life multiplay")
   (byte)      active client count
   (byte)      maximum clients allowed
   (byte)      protocol version (currently 37)
   (byte)      type of server == 'l' for listen or 'd' for dedicated
   (byte)      os of server == 'w' for win32 or 'l' for linux
   (byte)      password on server == 1 or yes, 0, for no
   (byte)      is server running a mod? == 1 for yes, 0 for no

   IFF the server is running mod byte was 1:

   (string)      URL for mod's "info" website
   (string)      URL for mod's download ftp server
   (int32)      mod version #
   (int32)      mod download size ( in bytes, approx. )
   (byte)      is the mod a server side only mod?  1 == yes, 0 == no
   (byte)      does this server require you to have a custom client side .dll ( client.dll )?  1 == yes, 0 == no.
=))

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.08.2006 (Вт) 5:09

и какой принцип? хотя бы как будет примерно выглядить Код?
VLADosik, ты писал когда-нибудь что-то подобное? Советую начать с изучения основ - поработай с компонентом Winsock и ты поймешь принцип.
А я все практикую лечение травами...

VLADosik
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 12.08.2006 (Сб) 7:48
Откуда: Россия,Пенза

Сообщение VLADosik » 15.08.2006 (Вт) 11:45

Код типо такого? если можно то проточнее

Код: Выделить всё
Winsock1.Connect
While Not Winsock1.State = 7
DoEvents
Wend
Winsock1.SendData (info)
Winsock1.GetData Data
MsgBox (Data)

Если у меня есть тут ошибки (я точно знаю что тут у меня ошиьки) пожалуйста скажите как что сделать...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 15.08.2006 (Вт) 12:14

Зайти сюда в раздел "сети" и скачать пример по душе.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 16.08.2006 (Ср) 9:00

Короче, вот, если кого-то это ещё интересует,

Монитор CS-сервера с исходником
http://www.fire-lines.com/forum/viewtopic.php?p=982#982

прямая ссылка на атач:
http://www.fire-lines.com/forum/download.php?id=26
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 64

    TopList