HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Реально ли, используя данные из исходников Xash3D сделать логгер для CS 1.6? (https://hlfx.ru/forum/showthread.php?threadid=3688)
Отправлено Chuvi 19-11-2012 в 23:07:
Реально ли, используя данные из исходников Xash3D сделать логгер для CS 1.6?
Да, скажу сразу, с перехватом сетевых пакетов проблемы не возникнет, уже проверил. Видно как пакеты от игроков к серверу, так и к серверу от игроков, ибо сеть на хабе.
Сейчас пытаюсь осилить функцию Huff_DecompressPacket и "вывести" её наружу dll-ки, но что-то пока не получается...
А вопрос, собственно, такой. Допустим, у меня таки получится декомпрессировать пакет. Смогу ли я получить из него хоть какую-нибудь информацию? Ведь, вроде как, CS это "надстройка" над HL, значит и структура пакетов должна быть примерно одинаковой ?
Или в CS 1.6 пакеты сжимаются другим методом и все эти мероприятия бесполезны?
Кстати, где можно поподробнее посмотреть структуру GoldSrc пакетов, а то я понял, что:
1-е 2 байта это его порядковый номер, причём в развёрнутом виде, то есть 0-й и 1-й байт нужно поменять местами, но где этот номер отлавливается в Xash3D я так и не нашёл.
Далее 2 байта, которые, похоже, постоянно равны нулю.
4-й и 5-й байт тоже похожи на какой-то счётчик,
6-й постоянно 0
7-й либо 0 либо 0х80
а дальше, насколько я понимаю, идут данные в сжатом виде.
Пытался найти место, где пакет "разворачивается" на данные, но не нашёл. Может, потому, что впервые пытаюсь копаться в столь большом для меня коде. Раньше на Си писал только консольные приложения, в основном для облегчения рутинных расчётов во время учёбы.
Да, для удобства "копания" в коде соорудил с помощью Doxygen документацию по Xash3D.
(Не сочтите ссылку на сайт за рекламу, сервер давно почил, ибо мне одному его держать надоело, интерес к стрелялке угас, зато возникло желание понять "а как эта стрелялка вообще работает?". Так что используется этот сайт для моих нужд. Надо будет снести заглавную страницу за ненадобностью.)
PS: Не ругайтесь, если что, ибо я действительно в этом деле нуб.
PPS: Утром-днём перечитаю сообщение, и, если форум позволяет, возможно что-то исправлю. Ибо голова почти не соображает, и спать осталось менее 3-х часов.
Оххх.. просмотрел беглым взглядом пост. Ну нуб-нубом. 
Да, совсем забыл спросить. А что такое "предиктинг" из-за которого все проблемы? Можно ссылкой, можно на английском.
Отправлено underworlddemon 20-11-2012 в 00:42:
Цитата:
Chuvi писал:
Да, совсем забыл спросить. А что такое "предиктинг" из-за которого все проблемы? Можно ссылкой, можно на английском.
http://en.wikipedia.org/wiki/Prediction
предсказание...
серверный и клиентский просчёт в будущее для лагокомпенсации
Отправлено Chuvi 20-11-2012 в 02:49:
Спасибо.
Так же нашёл описание на сайте Valve описание на сайте Valve, правда для Source.
В общем, понял.
Отправлено PomanoB 20-11-2012 в 04:10:
Первые четыре байта - это номер последовательности пакета. Он может дополняться различными флагами, например (1<<31), это и есть твои 80, обозначающие гарантированный пакет вроде.
Вторые четыре байта - номер ответа, аналогично дополняется. Дальше идёт код команды, а дальше зависит от того, какая это команда. Потом в GoldSrc всё это, начиная от номера команды, ещё и перемешивается функциями типа Munge2, Munge3. В общем, сложное это дело...
Отправлено qpAHToMAS 20-11-2012 в 11:21:
Эти бы старания — да в нужное русло. Например, для написания эмулятора какого-нибудь закрытого сервера, Battlefield 3 например.
Отправлено marikcool 20-11-2012 в 11:48:
в разборе структуры 1.6 смысла нет, скилла этого не добавит, точность данных и какие именно можешь посмотреть в delta.lst, все типы месаг можешь посмотреть на alliedsmods, все структурки сообщений зарегестрированые клиентом можешь глянуть там же или в sdk.
__________________
vk.com/skullcapstudios
Отправлено Chuvi 20-11-2012 в 12:35:
qpAHToMAS что-то мне подсказывает, что начинать с эмулятора закрытого сервера как-то слишком жёстко. Тем более, что мой комп физически не способен потянуть Battlefield 3.
marikcool, знакомые лица 
Не, смысл есть. Не столько для скилла, сколько для других нужд.
Отправлено qpAHToMAS 20-11-2012 в 13:23:
Цитата:
Chuvi писал:
Не, смысл есть. Не столько для скилла, сколько для других нужд.
Клонировать CS хочешь?
Отправлено XaeroX 20-11-2012 в 13:56:
У меня подозрение, что все эти вещи делаются исключительно с целью читерства. 
__________________
Отправлено pRoxxx 20-11-2012 в 14:23:
Цитата:
XaeroX писал:
У меня подозрение, что все эти вещи делаются исключительно с целью читерства.
Я почему тоже так подумал. (=
Отправлено fire64 20-11-2012 в 14:43:
Цитата:
XaeroX писал:
У меня подозрение, что все эти вещи делаются исключительно с целью читерства.
А может сплойт, чтобы сервера валить.__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Дядя Миша 20-11-2012 в 14:48:
нету в халфе сжатия пакетов. А протокол нарочно несовместим, чтобы разные читеры не читерили. Ну и чтобы лимиты повыше были.
Цитата:
Chuvi писал:
А что такое "предиктинг" из-за которого все проблемы?
Да есть в ксаше предиктинг, есть. Просто он работает неправильно.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 20-11-2012 в 15:09:
Цитата:
fire64 писал:
А может сплойт, чтобы сервера валить.
Читеры, хакеры - для меня это одно и то же. Это люди, которые пытаются воспользоваться недокументированными возможностями и дырами в своих интересах, вместо того, чтобы вести честную игру. 
__________________
Отправлено PomanoB 20-11-2012 в 15:11:
Скорее всего, что бы зафлуживать сервера "игроками".
Были уже такие, но они дальше первого пакета, который никак не преобразуется, не шли
Отправлено Chuvi 20-11-2012 в 15:59:
Поздравляю, все догадки не верны.
В общем, всё начилось с такой ситуации на работе.
Не, я конечно, всё понимаю, контра-святое, но не когда дел дофига. В итоге получаем - много-много играем в контру, осознаём что завтра дед-лайн, производим кирпичи и в панике носимся-работаем.
В общем, долго-ли коротко, выключать им сервер различными способами как-то поднадоело, ибо таки "ввёлся" в курс дела, и сижу, потихоньку, работаю.
Переодически, правда, гашу им сервер, когда сильно шуметь начинают, но это бывает очень редко.
А с протоколом хотел разобраться, чтобы вносить им в игру различные развлечения, аля "внезапный" kill, телепортация, и прочие радости.
Отправлено Дядя Миша 20-11-2012 в 16:04:
Цитата:
Chuvi писал:
А с протоколом хотел разобраться, чтобы вносить им в игру различные развлечения, аля "внезапный" kill, телепортация, и прочие радости.
*потирает потные ладошки*
Прекрасно, просто прекрасно. Одни хотят играть, другой хочет им поднасрать.
А РАБОТАТЬ В ИТОГЕ НЕ ХОЧЕТ НИКТО!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chuvi 20-11-2012 в 16:24:
Дядя Миша, дома и в обеденный перерыв я могу заниматься чем угодно.
Отправлено Дядя Миша 20-11-2012 в 16:29:
Я не о том. Если бы ты действительно хотел работать, ты бы пошел к начальству и сказал - "что за х?" Почему ваши сотрудники вместо того, чтобы работать в контру играют? А тут вот начинается эдакое - я протокол разберу, я им отомщу. Ну к чему такие сложности? Ну интересно - разбирайся, нет блин, надо какой-то хитрый повод выдумать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chuvi 20-11-2012 в 16:41:
Дядя Миша, поясню:
Во-первых, для меня идти к начальству немного не выгодно, ибо в контру играет, за редким исключением, почти весь отдел, и разораться с первых месяцев работы как-то не хочется.
Во-вторых, эти же "игруны" могут подставить меня. Учитывая, что они работают там уже минимум по 3 года, шансов на это у них гораздо больше.
Отправлено Дядя Миша 20-11-2012 в 16:47:
Странная логика. Ну ладно, может доносить нехорошо, но если тебя поймают за мелким пакостничеством коллективу, ты полагаешь это укрепит ваши отношения?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chuvi 20-11-2012 в 16:51:
Дядя Миша возможно, кто-то из них заинтересуется программированием и станет генерировать более разумные ТЗ в отдел программистов. А то они (в смысле програмисты) переодически ругаются. 
Отправлено XaeroX 20-11-2012 в 16:55:
Если бы я был на месте этих ваших игрунов, а ты бы пакостил - то с жалобой к начальству пошёл бы я. И тебя бы выперли.
Почему? Очень просто. Ты мало того, что занимаешься ерундой в рабочее время (а поди докажи обратное!), так ещё и чинишь своими хакерскими штучками препятствия для работы отдела (а имея три года опыта работы в этой фирме, я нашёл бы, как это обосновать).
Если игруны - тюфяки и к начальству ни разу не приближены, то считай, что тебе повезло. 
__________________
Отправлено Chuvi 20-11-2012 в 17:08:
Цитата:
XaeroX писал:
Ты мало того, что занимаешься ерундой в рабочее время (а поди докажи обратное!)
А пойди докажи прямое. Копаюсь в исходниках прошивки такого-то устройства, чтобы лучше понять принцип его работы.
Цитата:
XaeroX писал:
так ещё и чинишь своими хакерскими штучками препятствия для работы отдела (а имея три года опыта работы в этой фирме, я нашёл бы, как это обосновать).
По большому счёту для работы отдела:
1. Не нужна локалка вообще. Поэтому-то она и построена на одном единственном хабе.
2. Не нужны столь мощные компы.
Отправлено XaeroX 20-11-2012 в 17:50:
Цитата:
Chuvi писал:
Копаюсь в исходниках прошивки такого-то устройства, чтобы лучше понять принцип его работы.
Это сказал ты, малоизвестный человек, проработавший неделю.
А обратное сказал человек со стажем три года.
Угадай, кому больше поверят.
Цитата:
Chuvi писал:
Не нужна локалка вообще.
Что-то я не знаю отделов, где нужны компы, но не нужна локалка. Или у вас там каждый сотрудник независим, и данными с другими ему обмениваться незачем?__________________
Отправлено marikcool 20-11-2012 в 18:03:
поставь amxx на сервер и балуйся как хочешь
__________________
vk.com/skullcapstudios
Отправлено Chuvi 20-11-2012 в 18:14:
Цитата:
Chuvi писал:
Это сказал ты, малоизвестный человек, проработавший неделю.
А в начальники у нас, по-твоему, идиоты. Посмотрят-убедятся, что это действительно исходники прошивки.
Обмен данными между сотрудниками отдела идёт, в основном, в устной форме
. Ну, или иногда на флэшках.
Обмен данными с вышестоящими/нижестоящими отделами идёт в виде бумажной документации.
Отправлено XaeroX 20-11-2012 в 18:17:
Цитата:
Chuvi писал:
Обмен данными между сотрудниками отдела идёт, в основном, в устной форме
*Представил себе, как программисты чекинят код в репозиторий в устной форме* 
__________________
Отправлено Chuvi 20-11-2012 в 18:18:
XaeroX мы не програмисты. 
Отправлено Дядя Миша 20-11-2012 в 18:35:
Цитата:
Chuvi писал:
мы не програмисты.
а вот мы - программисты. еще и чесные. и к тому же - против пиратства!__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chuvi 20-11-2012 в 18:46:
Цитата:
Дядя Миша писал:
и к тому же - против пиратства!
это-то тут причём?
Отправлено FiEctro 20-11-2012 в 19:23:
Что то читеры последнее время активны.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено fire64 20-11-2012 в 19:45:
Мне одному кажется, что речь идет не о контре запускаемой через стим, а о пиратских копиях игры?
Если так, то накатай жалобу в ОБЭП, что у вас на офисных ПК стоит контрафактная продукция.
Тебе же начальство еще и премию накатает. когда спецназ будет жесткие диски изымать.
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Chuvi 20-11-2012 в 19:49:
В общем, понятно.
Попроси у людей что-нибудь объяснить и тебе объяснят что ты-лох.
Спасибо.
Отправлено Дядя Миша 20-11-2012 в 19:51:
Цитата:
Chuvi писал:
Попроси у людей что-нибудь объяснить и тебе объяснят что ты-лох.
Ну смотри, пришел на работу - там на тебя ноль внимания, пришел на форум - тут на тебя ноль внимания, этож о чём-то говорит?
Сиди, разбирайся, задавай вопросы по существу.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chuvi 20-11-2012 в 19:54:
FiEctro действительно. Без знаний OpenGL или DirectX. Самые-самые активные читеры.
В общем, параноик детектед. Ему везде читеры мерещутся. Чуть кто спросит насчёт того, как контра работает "изнутри" - сразу читер.
Отправлено XaeroX 20-11-2012 в 20:03:
Цитата:
Chuvi писал:
Чуть кто спросит насчёт того, как контра работает "изнутри" - сразу читер.
Читер или пакостник. Ну а что ещё может интересовать в контре "изнутри"? Сетевой код? Это при наличии сорцов ку1/2/3, дум3 и ксаша? Ну-ну.__________________
Отправлено Chuvi 20-11-2012 в 20:08:
Дядя Миша
Так я задал. Только в ответ получил немного полезных данных и большое количество флуда.
На всякий случай повторюсь
1. Можно ли алгоритмом, описанным в функции Huff_DecompressPacket() декомприссировать пакет, пришедший от КС?
Насколько я понял, этого сделать нельзя. В оригинальном движке пакеты, во-первых, не сжимаются, а во-вторых, в Xash3D сделан протокол обмена, отличный от GoldSrc.
Про структуру пакета понял.
Про то, что какие-то данные можно посмотреть в delta.lst понял, но не понял, как им пользоваться.
Отправлено Chuvi 22-11-2012 в 21:28:
Почему именно FEFEFE а не BEBEBE? 
было:
Цитата:
01000080000000002c7d6e021a011141
02000000000000005919010319011143
03000000000000005819010218011142
010000c0010000805a180100940010415b524001490210730021692948036658c96affe91c150001613850eb0a18...
04000000000000005f1901051f011145
02000000020000805919010319011143
05000000010000805e1901041e011144
03000000030000805819010218011142
06000000020000805d1901071d011147
04000000040000805f1901051f011145
07000000030000805c1901061c011146
050000c0050000805e1805041f0010455f5240014d0210770421692d4c03665cff4d96d4ba8d0505eaf7effaf0e7efb...
08000000040000805319010913011149
06000000070000805d1901071d011147
09000000050000005219010812011148
0a000000060000005119010b1101114b
07000000080000805c1901061c011146
0b000000060000005019010a1001114a
080000c00900008050180509120010489c66400cb895d4a80d84a04be17911bf90709fd0040878528d748b25b26...
090000000b0000805219010812011148
0d000000080000805619010c1601114c
0e000000090000805519010f1501114f
0a0000000c0000805119010b1101114b
0b0000c00d0000805218050a1100104bf794400f09eb92bf63fdd0e5050990054b284641da48e98d0bd4df3a77d1f6...
0c0000000e0000805719010d1701114d
0f000000090000805419010e1401114e
100000000c0000004b1901110b011151
110000000c0000004a1901100a011150
0d0000000f0000805619010c1601114c
120000000c0000004919011309011153
0e000000100000805519010f1501114f
Стало:
Цитата:
|seq=1|IsReliable=1|RunValidation=0|ack=0|ReliableConfirmation=0|RequireSecurity=0|FC919A77FFFEFE|
|seq=2|IsReliable=0|RunValidation=0|ack=0|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=3|IsReliable=0|RunValidation=0|ack=0|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=1|IsReliable=1|RunValidation=1|ack=1|ReliableConfirmation=1|RequireSecurity=0|FEFEFF01FFFFFF8FFFFFBD5ACD...|
|seq=4|IsReliable=0|RunValidation=0|ack=0|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=2|IsReliable=0|RunValidation=0|ack=2|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=5|IsReliable=0|RunValidation=0|ack=1|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=3|IsReliable=0|RunValidation=0|ack=3|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=6|IsReliable=0|RunValidation=0|ack=2|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=4|IsReliable=0|RunValidation=0|ack=4|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=7|IsReliable=0|RunValidation=0|ack=3|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=5|IsReliable=1|RunValidation=1|ack=5|ReliableConfirmation=1|RequireSecurity=0|FEFAFF01FFFFFF00FBFFBD5ACD...|
|seq=8|IsReliable=0|RunValidation=0|ack=4|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=6|IsReliable=0|RunValidation=0|ack=7|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=9|IsReliable=0|RunValidation=0|ack=5|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=10|IsReliable=0|RunValidation=0|ack=6|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=7|IsReliable=0|RunValidation=0|ack=8|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=11|IsReliable=0|RunValidation=0|ack=6|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=8|IsReliable=1|RunValidation=1|ack=9|ReliableConfirmation=1|RequireSecurity=0|FEFAFF02FFFFFF00FBFF89941F3B2A...|
|seq=12|IsReliable=0|RunValidation=0|ack=7|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=9|IsReliable=0|RunValidation=0|ack=11|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=13|IsReliable=0|RunValidation=0|ack=8|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=14|IsReliable=0|RunValidation=0|ack=9|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=10|IsReliable=0|RunValidation=0|ack=12|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=11|IsReliable=1|RunValidation=1|ack=13|ReliableConfirmation=1|RequireSecurity=0|FEFAFF03FFFFFF00FBFF7BFC0B7D...
|seq=12|IsReliable=0|RunValidation=0|ack=14|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=15|IsReliable=0|RunValidation=0|ack=9|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=16|IsReliable=0|RunValidation=0|ack=12|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=17|IsReliable=0|RunValidation=0|ack=12|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=13|IsReliable=0|RunValidation=0|ack=15|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=18|IsReliable=0|RunValidation=0|ack=12|ReliableConfirmation=0|RequireSecurity=0|FEFEFE01FEFEFE|
|seq=14|IsReliable=0|RunValidation=0|ack=16|ReliableConfirmation=1|RequireSecurity=0|FEFEFE01FEFEFE|
ну, и так далее.
Ой, ё.. а где здесь спойлеры? Просто не ожидал что форум так растянет.
Отправлено marikcool 22-11-2012 в 21:53:
пока что ничего интересного, начни фильтровать сами пакеты, юзай на клиенте cl_messages.
пакетами занимаешься на клиентке контры?
__________________
vk.com/skullcapstudios
Отправлено Chuvi 22-11-2012 в 21:57:
marikcool, позволь не согласится.
Мне, по крайней мере, уже интересен тот факт, что самый первый пакет при коннекте, который идёт от клиента к серверу всегда одинаковый (FC919A77FFFEFE).
Да и сам факт того, что я таки въехал в метод их "испорчивания" меня немного порадовал.
Пакеты ловлю wireshark-ом в сети. Запустить сам клиент не могу- комп древнющий, да и место паливное. 
Поэтому на работе ловим пакетики, дома пытаемся что-то сваять.
Отправлено XaeroX 23-11-2012 в 07:40:
Цитата:
Chuvi писал:
Просто не ожидал что форум так растянет.
А зачем ты это сюда постишь? Без километровой простыни шестнадцатиричных цифр наш форум ну никак не проживёт?__________________
Отправлено Дядя Миша 23-11-2012 в 15:35:
Цитата:
Chuvi писал:
Почему именно FEFEFE а не BEBEBE?
на самом деле должно быть BBPE__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chuvi 24-11-2012 в 10:08:
Цитата:
Дядя Миша писал:
на самом деле должно быть BBPE
Откуда там P?
Отправлено KPE030T 24-11-2012 в 10:15:
Цитата:
Chuvi писал:
Откуда там P?
http://lurkmore.to/%c1%e5%e9_%e1%e0...%e5%e1%e0%eb%f3
Отправлено fire64 24-11-2012 в 10:42:
Цитата:
Chuvi писал:
Откуда там P?
KPE030T, у тебя неверная ссылка.
Вот ссылка на подробную инструкцию по распаковке пакетов в кс: http://vfighter.org/o/1/__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Chuvi 24-11-2012 в 13:24:
Да ну вас, тролли, блин 
Перепроверил ещё раз: вроде всё правильно.
Кстати, да, а насколько структура демок отличается от того, что идёт по сети?
Просто есть мысль сделать штуковину, которой скармливаешь демку, и на выходе получаешь, например, инфу о том, кто в какой момент времени зашёл на сервер и кто когда вышел. Ну, и какие-нибудь другие события тоже.
А то иногда бывает муторно просматривать 2-х часовую демку, даже на быстрой перемотке.
Отправлено marikcool 24-11-2012 в 13:42:
Цитата:
Chuvi писал:
Просто есть мысль сделать штуковину, которой скармливаешь демку, и на выходе получаешь, например, инфу о том, кто в какой момент времени зашёл на сервер и кто когда вышел. Ну, и какие-нибудь другие события тоже.
А то иногда бывает муторно просматривать 2-х часовую демку, даже на быстрой перемотке.
compLexity Demo Player, open source.__________________
vk.com/skullcapstudios
Отправлено Chuvi 24-11-2012 в 14:08:
Цитата:
marikcool писал:
compLexity Demo Player, open source.
C#, печаль-печаль...
Однако, это лучше, чем ничего.
Просто если верить этому сообщению, структура демок очень похожа на то, что идёт по сети.
Отправлено marikcool 24-11-2012 в 14:28:
Цитата:
Chuvi писал:
структура демок очень похожа на то, что идёт по сети.
одно и тоже не считая хидера в дем файле.__________________
vk.com/skullcapstudios
Отправлено Chuvi 24-11-2012 в 15:28:
Цитата:
marikcool писал:
одно и тоже
Там уже в раскодированном виде что-ли?
Просто сравниваю то, что в .dem и то, что в дампе UDP и не вижу ничего общего 
(Да, к сожалению дамп UDP и демка не одни и те же.)
Добавлено 24-11-2012 в 19:28:
Пока что так...
Отправлено fire64 26-11-2012 в 05:45:
Chuvi, чем открыть?
Что это за формат?
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Chuvi 26-11-2012 в 08:42:
LabView
Отправлено Chuvi 29-01-2013 в 20:42:
Имхо, так уже немного получше...
Цитата:
01 00 00 00 00 00 00 00 5A 19 01 00 1A 01 11 40 (01)(01)(01)(01)(01)(01)(01)(01)
01 00 00 80 01 00 00 00 2C 7D 6E 02 1A 01 11 41 (03)new(00)(01)(01)(01)
02 00 00 C0 01 00 00 80 59 18 01 03 3A 00 10 42 70 19 40 02 69 32 64 27 27 19 50 48 32 3F 28 61 00 60 3A 20 2B 66 69 70 77 6F 75 6E 6D 6B 30 31 18 12 62 36 (09)retry(0A)(00)(09)echo "* Privileges set"(0A)(00)
02 00 00 00 01 00 00 00 59 19 01 03 19 01 11 43 (01)(01)(01)(01)(01)(01)(01)(01)
03 00 00 00 02 00 00 80 58 19 01 02 18 01 11 42 (01)(01)(01)(01)(01)(01)(01)(01)
03 00 00 00 02 00 00 80 36 6A 64 00 70 6C 73 33 09 64 2E 66 00 (03)dropclient(0A)(00)
04 00 00 00 02 00 00 80 31 6A 64 07 77 6C 73 34 0E 64 2E 61 00 (03)dropclient(0A)(00)
05 00 00 00 02 00 00 80 30 6A 64 06 76 6C 73 35 0F 64 2E 60 00 (03)dropclient(0A)(00)
Забил я на это дело, ибо у нас на работе, наконец-то сделали нормальную локалку и фокусы с перехватом пакетов больше не проходят.
Зато мой сервак стал переодически падать (Assertion fault). Это, вроде как, у всех на билде августа 2012-го наблюдается.
Поднять сервер через пару секунд после падения - не очень большая проблема. А вот сказать людям, что сервер вернулся в строй уже сложнее. Посему, после не очень долгих раздумий, я решил попытаться сделать отдельную програму, которая разошлёт клиентам команду "retry" после возобновления работы сервера.
Отправлено marikcool 30-01-2013 в 04:56:
Цитата:
Chuvi писал:
Поднять сервер через пару секунд после падения - не очень большая проблема. А вот сказать людям, что сервер вернулся в строй уже сложнее. Посему, после не очень долгих раздумий, я решил попытаться сделать отдельную програму, которая разошлёт клиентам команду "retry" после возобновления работы сервера.
отключеный клиент реагирует на ретри?__________________
vk.com/skullcapstudios
Отправлено fire64 30-01-2013 в 08:24:
Цитата:
marikcool писал:
отключеный клиент реагирует на ретри?
Ну это же не TCP соединение.
Просто перестают поступать пакеты и там есть определенное время ожидания.
Думаю если успеть поднять сервер и послать нужный пакет, то все будет ок.__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено marikcool 30-01-2013 в 08:49:
Цитата:
fire64 писал:
Ну это же не TCP соединение.
Просто перестают поступать пакеты и там есть определенное время ожидания.
Думаю если успеть поднять сервер и послать нужный пакет, то все будет ок.
ну при активной сессии, а если тебя дропнуло, думаешь клиент будет регировать на пакеты? я не думаю.__________________
vk.com/skullcapstudios
Отправлено Chuvi 30-01-2013 в 10:55:
Цитата:
marikcool писал:
отключеный клиент реагирует на ретри?
Ну, у меня, по крайней мере, клиент висит где-то 30 секунд после падения сервера. Точнее, мне надоедает ждать пока он сообразит, что сервер упал, и я тупо пишу disconnect.
Возможно, время ожидания можно настроить в cvar-ах.
Так что клиент как-раз таки не будет отключенным.
Нашёл cvar отвечающий за время отсоеденения.
cl_timeout
Можно, для надёжности, выставить всем его на, допустим, 20.
Отправлено fire64 30-01-2013 в 12:31:
Цитата:
marikcool писал:
ну при активной сессии, а если тебя дропнуло, думаешь клиент будет регировать на пакеты? я не думаю.
Если сервер аварийно грохнулся, то с какой стати он должен клиентов дропать?__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено marikcool 30-01-2013 в 13:12:
Цитата:
fire64 писал:
Если сервер аварийно грохнулся, то с какой стати он должен клиентов дропать?
ну раз сервера нет, то и клиенты на нем дропнулись.
и чтобы их вернуть, нужно свежий сервер вернуть в тот же стейт при краше, и разослать реконнет пакет.__________________
vk.com/skullcapstudios
Отправлено Chuvi 30-01-2013 в 19:14:
Цитата:
marikcool писал:
ну раз сервера нет, то и клиенты на нем дропнулись.
Выдерни витуху из компа и посмотри, дропнется ли у тебя клинет в ту же секунду (сервер-то исчез), или нет.
Отправлено marikcool 31-01-2013 в 05:09:
Цитата:
Chuvi писал:
Выдерни витуху из компа и посмотри, дропнется ли у тебя клинет в ту же секунду (сервер-то исчез), или нет.
дропнется, т.к дропнулся на сервере, т.к сервер в краше, связь не восстановить.__________________
vk.com/skullcapstudios
Отправлено Chuvi 31-01-2013 в 08:25:
Сервер не дропает клиентов, когда падает. Ему не до этого, он упал.
Он тупо перестаёт посылать клиентам пакеты.
cl_timeout побольше поставь.
Какое-то время, до истечения времени cl_timeout, у клиента будет открыт порт. Вот в него и нужно будет кинуть reconnect.
Отправлено marikcool 31-01-2013 в 09:16:
Цитата:
Chuvi писал:
Какое-то время, до истечения времени cl_timeout, у клиента будет открыт порт. Вот в него и нужно будет кинуть reconnect.
ну а сессию кто восстанавливать будет?
и как ты определишь на каком порту висел клиент?__________________
vk.com/skullcapstudios
Отправлено Chuvi 31-01-2013 в 11:48:
marikcool, эм...а разве клиенты висят на разных портах? Мне как-то казалось, что на одном, на том, который по умолчанию 27015.
А насчёт того, на какой порт клиенту посылать- ну, pcap нам в помощь.
Насчёт восстановления сессии: я почему-то не совсем уверен, что ты не путаешь TCP и UDP.
Отправлено marikcool 31-01-2013 в 11:58:
Цитата:
Chuvi писал:
marikcool, эм...а разве клиенты висят на разных портах? Мне как-то казалось, что на одном, на том, который по умолчанию 27015.
ну локально он биндится на 27005, если не занят, на сервере будет другой порт т.к может пройти через нат.
Цитата:
Chuvi писал:
А насчёт того, на какой порт клиенту посылать- ну, pcap нам в помощь.
Насчёт восстановления сессии: я почему-то не совсем уверен, что ты не путаешь TCP и UDP.
разница TCP или UDP, сессия идет поверх протокола.__________________
vk.com/skullcapstudios