Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 2 из 2
  • «
  • 1
  • 2
Защита игрового сервера.
serm Дата: Воскресенье, 07.12.2014, 05:33:08 | Сообщение # 16
Сообщений: 137
Репутация: 7 [ +/- ]
Цитата sssw ()
Ну теоретически можно вычислить клиента который затрагивает сервер.

1.Найти FrameTime кадра если он превышает нормы блокируем у всех usercmd_t на 1-2 кадра, если ситуация поменялась то это exploit иначе просто скачок нагрузки.
2.Перебираем и баним.


Не спорю, а теперь представим, каждый клиент отправляет множество команд не превышающий твой лимит . Функцию (при сервере с 20 - 64 игроками) будет вызываться ооооооооочень часто . Нагрузка over 100% . И если еще на myarena сервер, то при 20 уже сервер загнется.
 
sssw Дата: Воскресенье, 07.12.2014, 23:23:20 | Сообщение # 17
Сообщений: 123
Репутация: 14 [ +/- ]
А если в порядке разрешения. 32 игрока == 32 кадра один кадр на проверку == ( 0.5 секунд * 20 ) == ( 10 секунд vs Infinity ).
Плюс можно добавить условие если прошло больше 2 секунд проверять пачками по 5. А так OnPlayerRunCmd вроде вызывается только когsда читается clc_move а команды вроде clc_stufftext :(.

Update:
Код
enum CLC_Messages
{
  clc_ClientInfo     = 8;    // client info (table CRC etc)     
  clc_Move      = 9;    // [CUserCmd]      
  clc_VoiceData     = 10;    // Voicestream data from a client     
  clc_BaselineAck    = 11;    // client acknowledges a new baseline seqnr    
  clc_ListenEvents    = 12;    // client acknowledges a new baseline seqnr    
  clc_RespondCvarValue   = 13;    // client is responding to a svc_GetCvarValue message.   
  clc_FileCRCCheck    = 14;    // client is sending a file's CRC to the server to be verified.  
  clc_LoadingProgress   = 15;    // client loading progress   
  clc_SplitPlayerConnect   = 16;
  clc_ClientMessage    = 17;  
  clc_CmdKeyValues   = 18;
}


Сообщение отредактировал sssw - Воскресенье, 07.12.2014, 23:43:49
 
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: