Месяца 3-4 назад сделал плагин специально для серверов, где на одной машине работает более, чем один HLDS сервер. Я имею в виду те сервера где на разных портах рабатают сразу несколько CS/DoD/HS/HL серверов. Например, на стандартном порту 27015 и на 27016, 27017 ... Работа плагина проверена временем, могу с уверенностью сказать, что он работает, но одно плохо - для корректной работы необходимы права root'а!
Q: Для чего же нужен данный плагин?
A: Если вы запускаете на одной машине сразу несколько серверов, то знаете, что при смене карты на одном из серверов на всех остальных в это время будет сильный лаг длительностью 3-6 секунд. Если вы установите данный плагин, то можете забыть о подобных лагах и спокойно менять карту не опасаясь, что на других портах будет лагать.
Файл на djeyl.net
А можно по подробнее ? принцип работы...
например, запущены 3 сервера (27015, 27020, 27025). если на 27020 смениласть карта, то перед тем как они изменется этот плагин посылает UDP пакет с 127.0.0.1:27020 на 127.0.0.1:27000 и perl скрипт запущенный с правами root'а изменяет приоритет процесса hlds27020 на самый низкий (+19). Секунд через 10 после того как начался раунд с новой загруженной картой плагин еще раз посылает UDP пакет и perl скрипт изменяет приоритет процесса на самы высокий (-20). Это позволяет практически полностью убрать один большой лаг во время смены карты на другом порту!
А у мну не робит, AMX 0.9.6 выдаёт badload. При попытке скомпилить ругается на #include udp, посмотрел и прада нету udp.sma Help!
обязательно нужно подключить модуль udp_mm.dll.
также необходим файл udp.h
скачать модуль UDP можно с сайта www.amxmod.net
Всё скачал, прикрутил - заработало, показывает running, а как узнать запускается ли перловский скрипт? а то лагало опять при сменах карт на других портах.
P.S. права я ему ессно поставил, положил в папку с плугинами.
тебе нужно самому под рутом запустить перловый скрипт:
./priority.pl >/dev/null &
или для отладки:
./priority.pl (он вроде должен какую-тоотладочную информацию выдавать) а в папку с плагинами его не стоило ложить. лучше в другое место.
PS: также необходимо чтобы процессы серверов назывались ds27015, ds27016 ....
хм... у меня 2 сервака в одной папке живут, у них ессно процессы одинаково зовутся можно сделать чтобы стартовали из одной папки и назывались поразному. для этого нужно просто создать несколько ссылок на файл hlds_xxx.so, а сам сервер запускать, например, так: hlds_run /b ds27015 (за название параметра не ручаюсь).
25/01/2004 - 21:15:34: Request from 127.0.0.1:33424 (HI27025)
31389: old priority -20, new priority -20
да, так не должно быть (за исключением первого запуска). скорее всего проблема в том что файлы cmdadmin.sma и voteadmin.sma (точное название не помню) остались без изменений. для того чтобы плагин работал корректно необходимо добавить пару строк в каждый файл. образец есть в архиве с плагином. найти нужные строки можно по ключевому слову amx_priority
PS: запускать сервер лучше всего с приоритетом 19
Во всём разобрался, правда с серваками из одной папки сделал по другом, но главное работает, опишу подробнее, вдруг кому понадобится:
Я взял фалы hlds_i686 и hlds_run, hlds_i686 переименовал в ds27015, и скопировал его в ds27020, так же сделал 2 разных файла hlds_run и изменил в них строку HL=./hlds на HL=./ds27015 в одном и HL=./ds27020 в другом.