Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 00:39   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию Обмен данными с hlds сервером

Доброго времени...

hlds - это выделеный сервер игры counter-strike

Интересует вопрос по общению с этим сервером...
Нашёл тут информацию о том как его пропинговать..

интересует момент:
Код:
A2A_PING

Ping the server to see if it exists, this can be used to calculate the latency to the server. 
Request format Data 	 Type 	 Value 
 Heading 	byte 	 'i' (0x69) 

Reply format
Goldsource servers Data 	 Type 	 Value 
 Heading 	byte 	 'j' (0x6A) 
 Content 	string 	 Null 

Source servers Data 	 Type 	 Value 
 Heading 	byte 	 'j' (0x6A) 
 Content 	string 	 '00000000000000'
как это понимать, и как посылать ?
Человек_Борща вне форума Ответить с цитированием
Старый 17.05.2011, 01:01   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Как-то раньше писал программу для поддержки сервера hlds.Т.е. если он повисал, то прога его перезапускала. Программу так и не дописал до конца(отпала потребность в ней) но она рабочая. Там есть пример отправки запроса на сервер и приём ответа, а так же парсинг ответа. Выкладываю исходник. Может Вам он поможет. http://zalil.ru/31054483 (на форум залить не получилось)
P.S. Команды серверу отправляются такого типа 'яяяяTSource Engine Query'. Для разных версий
Hlds разные команды. Поэтому если нету ответа от сервера, возможно неверная команда.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 17.05.2011, 13:11   #3
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Я перехватывал команды HLDS с помощь своей программы. Через нее проходят все видимые пакеты, это не снифер что то на прокси похоже, с помощью ее подключаешься к серверу CS например порт 27016 и к ней же подключаешь свою игру порт к примеру 27015 в программе отображаются в MEMO все пакеты но там в основном бинарные данные. Некоторые команды узнал через нее.
Aliens_wolfs вне форума Ответить с цитированием
Старый 17.05.2011, 16:12   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
Как-то раньше писал программу для поддержки сервера hlds.Т.е. если он повисал, то прога его перезапускала. Программу так и не дописал до конца(отпала потребность в ней) но она рабочая. Там есть пример отправки запроса на сервер и приём ответа, а так же парсинг ответа. Выкладываю исходник. Может Вам он поможет. http://zalil.ru/31054483 (на форум залить не получилось)
P.S. Команды серверу отправляются такого типа 'яяяяTSource Engine Query'. Для разных версий
Hlds разные команды. Поэтому если нету ответа от сервера, возможно неверная команда.
безусловно согласен. Но мне нужно посылать именно пинг. А я посылаю команду вызывающую отдачу общих сведеньй о сервере(название тип карта кол-во игроков и тд. и тп.)

Исходник с удовольствием посмотрю...

и опять же запрос информации на сервер.. я реализовал немного по другому(idUDPServer)...
А про a2_a_ping можно что-нибуть сказать? КАк послать этот байт на сервер?

Последний раз редактировалось Человек_Борща; 17.05.2011 в 16:36.
Человек_Борща вне форума Ответить с цитированием
Старый 17.05.2011, 16:21   #5
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

'яяяяping'; //используеться для определения времени отклика сервера
Aliens_wolfs вне форума Ответить с цитированием
Старый 17.05.2011, 16:25   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
Как-то раньше писал программу для поддержки сервера hlds.Т.е. если он повисал, то прога его перезапускала. Программу так и не дописал до конца(отпала потребность в ней) но она рабочая. Там есть пример отправки запроса на сервер и приём ответа, а так же парсинг ответа. Выкладываю исходник. Может Вам он поможет. http://zalil.ru/31054483 (на форум залить не получилось)
P.S. Команды серверу отправляются такого типа 'яяяяTSource Engine Query'. Для разных версий
Hlds разные команды. Поэтому если нету ответа от сервера, возможно неверная команда.
Мой NOD32 ругается на архив, типа вирус РЕ какой то. Не мог бы выложить архив без ЕХЕ файла?
FaTaL вне форума Ответить с цитированием
Старый 17.05.2011, 17:14   #7
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Нужно послать именно так Send('яяяяping'+#0) либо Send(#255#255#255#255+'ping'+#0) она же по мойму пинг a2_a_ping
ответ сервера будет примерно таким 'яяяяj' на своей программе проверил она у меня на под Winsocket написана, компоненты не люблю они глючные

Последний раз редактировалось Aliens_wolfs; 17.05.2011 в 18:16.
Aliens_wolfs вне форума Ответить с цитированием
Старый 17.05.2011, 17:17   #8
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Исходник своей проги сейчас попробую выложить правда она без оформления но зато можно включить на пинг или на пропуск через себя хоть много процессов и на разные сервера
Aliens_wolfs вне форума Ответить с цитированием
Старый 17.05.2011, 17:34   #9
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Человек_Борща

может чем нибудь поможет эта программа

программа может работать по протоколам 0=TCP или 1=UDP
http://zalil.ru/upload/31058136

Последний раз редактировалось Aliens_wolfs; 17.05.2011 в 18:03.
Aliens_wolfs вне форума Ответить с цитированием
Старый 17.05.2011, 20:15   #10
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Мой NOD32 ругается на архив, типа вирус РЕ какой то. Не мог бы выложить архив без ЕХЕ файла?
Закачал: http://zalil.ru/31059571
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обмен сообщениями между сервером и клиентом Don Karleone Работа с сетью в Delphi 3 25.02.2011 15:24
Обмен данными с сервером посредством XML nec117 PHP 3 24.12.2010 15:56
Обмен данными saggy Работа с сетью в Delphi 1 14.02.2010 13:10
обмен сообщениями между клиентом и сервером используя ClientSocket и ServerSocket xTANATOSx Работа с сетью в Delphi 3 04.10.2007 15:17
обмен данными с сервером BioS Работа с сетью в Delphi 15 12.02.2007 15:32