На клиент идет список всех видимых энтить. Видимая энтить должна не просто попасть в PVS игрока, но не иметь флага ef_nodraw и обязательно иметь модельку. Сервер хранит предидущие 64 кадра отосланных энтить, поэтому по сети посылаются не все поля из entity_state_t а только те, которые изменились со времени предидущего кадра.
Это т.н. "надежная" мессага - она посылается всегда. Ненадежная мессага включает в себя большинство пользовательских мессаг, звуковые мессаги от Sv_StartSound и ТемпЭнтити.
От клиента на сервер передается нажатие кнопок на клавиатуре, скорость движения, три вектора направления игрока, по сути матрица 3х3. Ну и по мелочи time - время игрока (не клиента, а физики), impulse - для выбора пушек в квейке, а в халфе - просто для читов.
И еще предиктинг для пушек в этом самом iuser, fuser, vuser.
Добавлено 21-01-2009 в 13:10:
Сколько весит пакет угадать заранее невозможно, но полный размер мессаги ни при каких обстоятельствах не должен превышать 32 килобайта, иначе сервер отключит всех с ошибкой и остановится.
Дядя Миша писал: time - время игрока (не клиента, а физики)
Если сервер получает эти данные от клиента, то значит я смогу ими манипулировать? Т.е. ускорив немного физику на клиенте, она ускорится и на сервере и все остальные игроки будут видеть меня быстро двигающимся и быстро стреляющим?
code:
Если сервер получает эти данные от клиента, то значит я смогу ими манипулировать
Открою тебе страшный секреты - когда ты бегаешь по карте, ты уже манипулируешь этими данными.
А ускорить физику не получится. В лучшем случае сервер это проигнорирует, в худшем распознает читера и выбросит нафиг.
А вот насчет демо, как там происходит запись, просто как последовательность событий, т.е. моделируются мои движения, движения остальных итп или там тупо записывается видео?
BioHazard писал: А вот насчет демо, как там происходит запись, просто как последовательность событий, т.е. моделируются мои движения, движения остальных итп или там тупо записывается видео?
Демка записывается, как последовательность событий. Этот принцип вроде ещё с дума 1 не менялся, токо формат записи данных переделывали.
>>А вот насчет демо, как там происходит запись
да банально сетевые мессаги с сервера пишутся в файл.
А потом клиент их читает из того же файла и делает вид, что ему все это сервер прислал. Редактировать можно, если знать протокол.
Для первого квейка я даже редактор с окошками видел - там можно было спецэффекты наложить всякие.
Ну спецэффекты, естественно те, которые поддерживал движок - типа змлетрясения, фейда и прочих.