Оптимизация SM-плагинов, сервера, написание плагинов

Тема в разделе "Услуги", создана пользователем KorDen, 12 май 2013.

  1. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Заказы пока не принимаются

    В качестве вступления: Держа высоконагруженный сервер (x64), как-то у меня появилась идея переделать некоторые плагины, удалив ненужные мне функции, а так же убрав те переменные, которые не изменяются практически никогда, особенно в коде с огромной частотой срабатывания (Если у меня за сутки на севрере происходит 80 000 убийств, то с какой частотой происходит player_hurt - нанесение урона кому-либо?).
    Посмотрев на код большинства плагинов я ужаснулся, и начал углубляться в Source Pawn с целью не написания каких-то супер-пупер плагинов, а с целью убирания всего ненужного из используемых мною.

    Примеры оптимизации, в большинстве случаев с подробными комментариями изменений относительно оригинала, можно найти в теме http://hlmod.ru/forum/plaginy-dlya-sourcemod/15984-lite-plugins.html#post104108

    Думаю очевидно, что принимаю на оптимизацию только плагины с исходниками (НЕ ДЕКОМПИЛИРОВАННЫЕ!).

    От вас требуется явно указать, что вам не нужно вообще, какие из переменных никогда не изменяются, а что можно вынести в начало исходника (через define), если знаете как компилировать плагины.
    Например, оптимизация High Ping Kicker Lite: не нужно изменять время проверок и их количество, нужно чтобы любой адимнский флаг давал иммунитет, однако нужно оставить возможность изменения максимально разрешенного пинга. Результат можно посмотреть в Lite Plugins.

    Возможно рассмотрение списка ваших плагинов и комментирование по поводу того, что можно оптимизировать, а что нет, и комплексная оптимизация, то есть объединение нескольких плагинов в один.
    Например, может быть неочевидным для вас то, что на самом деле можно объединить в один плагин простой NoBlock и Grenade Trails, поскольку часть кода NoBlock для гранат совпадает с часть кода Grenade Trails, а если у вас стоит еще и Throwing Knives - параллельно можно исправить возможность одновременной работы NoBlock для гранат и летающих ножей. Кажется немного странным? Однако это прекрасно работает, с меньшими затратами со стороны сервера, особенно когда гранаты летают ОЧЕНЬ часто.

    В частных случаях делаю оптимизацию и, возможно, мелкую переделку расширений под конкретный сервер - например у меня на сервере стоит CSS:DM вообще без кода FFA, и с убранной частью функций/нативов, которые мне не нужны (пресеты спаунов, настройка исчезновения бомбы и оружия). В паблик такое не выложишь толком - небходимы конкретные изменения под условия и устоявшиеся параметры конкретного сервера, а сделать по заказу с необходимыми параметрами можно. Сразу небольшой список того, что уже менял или пробовал менять: Оффтоп

    Возможно в некоторых случаях я могу отказаться переделывать, поскольку я не буду видеть никакого смысла оптимизации относительно стандартного плагина.
    А иногда у меня уже будет почти готовый вариант, который надо будет всего лишь скорректировать под ваши требования.

    Поле деятельности на этом не ограничивается, написанием плагинов и корректировкой уже существующих для добавления новых функций я тоже занимаюсь, однако в меньшей степени. Огромные плагины в стиле шопов не пишу.

    Оплата и цены
    Цены зависят от задач, в некоторых случаях может быть и бесплатно.
    Принимаю Яндекс.Деньги, WebMoney. Возможны и другие способы при согласовании.
    После первичного просмотра и переделки кода могу потребовать частичную (50%) предоплату, по окончании плагин будет передан вам только после полной оплаты. Возможны другие схемы.

    Связь: --- временно не занимаюсь ---
     
    Последнее редактирование: 23 май 2013
    Konstantin, Webman, Партизан и 7 другим нравится это.
  2. ☆★☆БАТЯ☆★☆™

    ☆★☆БАТЯ☆★☆™

    Сообщения:
    2.585
    Симпатии:
    1.341
    Re: Оптимизация SM-плагинов, сервера

    Есть предложение - собрать все популярные плагины, используемые например на паблике - в один ,вот это будет оптимизация ;)
     
    R1KO, Webman, Партизан и 3 другим нравится это.
  3. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    Re: Оптимизация SM-плагинов, сервера

    ☆★☆БАТЯ☆★☆™, +1, тоже думал)
     
  4. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Re: Оптимизация SM-плагинов, сервера

    У меня есть такое:
    bks-std.sp :
    PHP:
    /*
    - ShowDamage
    - Damage Sound
    - HP Left
    - ResetScore
    - Game Events Advanced Messages
    - UpdateRadar block
    - Ping Kicker
    - Rate Checker
    - Admin List
    */
    #define _DMGP 1
    #define _DMGS 1
    #define _HPLEFT 1
    #define _UpdRadarBlock 1
    #define _RateCheck 0
    #define _GameDesc "Sky-Play CSS:DM"
    bks-noblock-gt-skins.sp (NoBlock + Grenade Trails + просто изменение цвета стандартного скина, объединение на основании одних и тех же событий и схожих частей кода)
    Есть даже такая хрень, как bks-basecommands.sp, включающий в себя стандартные BaseCommands, PlayerCommands и AntiFlood, с удаленными ненужными функциями, вроде шлепанья, sm_exec и sm_cvar (все что надо - через sm_rcon либо HLSW), и еще некоторые.
    В паблик не выкладывал, поскольку очень уж узкие плагины получаются, без хотя бы базовых знаний невозможно что-то изменить, хоть какие-то переменные, но нужны. А реализовывать более-менее приемлимый код для паблика (чтобы можно было что-то отключить) и выкладывать - влом, тем более получается никакого профита... Позже возможно буду выкладывать куски кода как идеи простой реализации с комментариями что где меняется, но это получается только для тех, кто понимает как минимум основы скриптинга.

    Однако да, идеи реализации были, например ShowDamage+ResetScore+HP Left+High Ping Kicker, этот набор получается вполне популярным, однако это нужно заняться и сделать паблик версию со всеми описаниями и сопутствующим... А делать все формальности напрягает...

    R1KO, отвечу сюда по твоему ЛС о AFK-менеджере
    Да, я тоже думал над более оптимизированным плагином, относительно того, что выложен в теме простых плагинов, по приблизительно такой же логике, как ты описал (вначале в спеки,а потом кик), однако я все же беру за основу тот же самый AFK Manager, поскольку в нем очень хорошо работает сама логика определения AFK (то есть контролируется и чат и прочее не приходящее сразу в голову).
    Предположительно думаю оставить переменные времени и минимального количества игроков, плюс возможно переменную админского флага и типа иммунитета админа.
     
    Eseth нравится это.
  5. Николай Николай

    Николай Николай

    Сообщения:
    20
    Симпатии:
    0
    Заказы на написание сейчас принимаешь?
     
  6. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Николай Николай, пока нет, возможно через неделю-две.
     
  7. Николай Черепахин

    Николай Черепахин

    Сообщения:
    25
    Симпатии:
    2
    примите заказ на написание плагина ?