Реализация Source RCON

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
bober943
Сержант
Сержант
Сообщения: 38
Зарегистрирован: 22.10.2010

#1 Сообщение 27.04.2011, 17:42

Привет народ. Дело в том, что нужно реализовать авторизацию, отсылку, прием команд по протоколу Source RCON. Может у кого есть исходник отправки команд авторизациии и обычных EXECOMMAND. На сайте вальвовском нет примера на C++, обделили его......

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#2 Сообщение 27.04.2011, 17:53

Реализация? Там спецификация, это гораздо важнее. Со спецификацией легко реализовать на любом языке. Тем более когда у вас есть си.
Воспользуйтесь сокетами.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

bober943
Сержант
Сержант
Сообщения: 38
Зарегистрирован: 22.10.2010

#3 Сообщение 27.04.2011, 18:20

Ну это понятно, что сокеты. У меня просто возникла масса вопросов. Ну к примеру: в PHP есть функция pack().
Это подобно printf в си, но только она "упаковывает бинарную строку". Т.е мне нужно такое же на си.Может я,конечно, что-то недопонимаю......

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#4 Сообщение 27.04.2011, 18:25

bober943
unsigned char в C равен одному байту - {0..255}
Так что sprintf/snprintf подойдут.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

bober943
Сержант
Сержант
Сообщения: 38
Зарегистрирован: 22.10.2010

#5 Сообщение 27.04.2011, 18:30

Неужели всё так просто? Там же данные передаются в бинарном виде. Или при передаче строка преобразуется?

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#6 Сообщение 27.04.2011, 18:33

Строка - массив символов. Так как символ == байт, то строка - массив байт.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

bober943
Сержант
Сержант
Сообщения: 38
Зарегистрирован: 22.10.2010

#7 Сообщение 27.04.2011, 22:32

Спасибо большое. Буду пробовать

Добавлено спустя 24 минуты 39 секунд:
Можно пример формирования строки на авторизацию, к примеру с паролем password
Пример есть на вики вальвовцев
Добавлено спустя 3 часа 33 минуты 2 секунды:
Да пример то есть, только не на C. Там битая ссылка

bober943
Сержант
Сержант
Сообщения: 38
Зарегистрирован: 22.10.2010

#8 Сообщение 30.04.2011, 15:47

вот написал небольшой быдлокод, должен работать. но сервер себя непонятно ведет. иногда банит мой IP за хаки ркон, а иногда нет. Кому не трудно, проверьте, что тут неправильно.
При вводе я пишу строку, к примеру: 3 password . 3 - serverdata , password - сама команда.

Вот архив: .
Вложения
main.zip
(1008 байт) 151 скачивание
main.zip
(1008 байт) 151 скачивание

Ответить Вложения 1