#374
Сообщение
08.02.2012, 15:12
Коллеги!
Я сегодня закончил и оттестировал монументальный :shock: скрипт (шелл, винда).
Скрипт предназначен для полной автоматизации идла.
Самое активное участие (в плане создания и описания трюков) в создании скрипта принимал Lik*MigTel. За что ему огромное спасибо =).
Что делает:
1. Запускает через сандбокс выделенный сервер
2. Запускает через свои сандбоксы клиентов
3. Джойнит клиентов на выделенный сервер
4. Клиентам подаётся команда на начало стрельбы (да, идл не пассивный)
5. Периодически производит тест живости сервера, если помер- рестарт сервера и всех клиентов
6. Создаётся полный лог всего, что происходит при выполнении элементов скрипта, что на что поменялось. С отметками о текущем времени.
Особенности:
1. Рассчитан на 2 дня, т.к. у меня акки разбиты на 2 равные группы (при желании количество дней можно дальше расширить)
(Группа в моём случае составляет 10 акков, так как алгоритм рассчитан на карту с 10 слотами, 5х5, это важно для активного идла)
2. При смене дня корректно распознаёт, что на что меняется и корректно (без излишней грубости) шатдаунит игры и стимы всех клиентов предыдущего дня
3. Периодически производится тестирование сервера на живость и скрипт переходит в состояние ожидания до следующего цикла проверки
4. Проверок и циклов ожидания всего 3 - после 3 скрипт делает changelevel на сервере, чтобы сбросить счёт у игроков
(changelevel делается 1 раз в 3 цикла проверки, чтобы слишком часто не передёргивать игроков)
Требования:
1. timeout.exe (при желании можно заменить на ping) - создатель периодов ожидания
2. любой шедулер для создания ключевого файла, который содержит номер текущего дня идла (я так и не смог вменяемо получить номер дня недели из комстроки)
3. команднострочный rcon - важнейший элемент для управления и монторинга
4. sourcemod (нужен только 1 сторонний плагин - client exec)
5. autoexec.cfg на всех клиентах с набором алиасов, которые дистанционно выполняет сервер
6. скрипты управления клиентами в /cfg сервера, выполняющие алиасы на клиентах
7. карта на 10 человек (не более чем 5х5, для соблюдения синхронности и баланса)
Что не стал пока делать (лень):
1. Не стал все простыни с акками превращать в циклы для уменьшения текста
2. Не стал заменять повторяющиеся элементы на переменные
3. Захардкожены пути
Скрипт не особо сложен (я постарался максимально его упростить).
Если кому нужен - пишите приватом. Выкладывать не стану.
Возникнут вопросы - постараюсь ответить.
Последний раз редактировалось
mad6 08.02.2012, 16:21, всего редактировалось 2 раза.
aka Mad.Eagle