Sk1nG Posted February 7, 2024 Share #1 Posted February 7, 2024 В дополнении моей ранее написанной информативной статьи я продолжаю развивать тему бат-файлов (пакетных файлов) - ранее написанная статья. Введение: Приветствую вас в необычном путешествии по миру батч-файлов для сервера DayZ, где каждая команда и каждый скрипт открывают новые горизонты управления и автоматизации. Забудьте о сухой технической рутине; сегодня мы превратим обыденное администрирование в искусство, делая каждый аспект управления сервером не только эффективнее, но и интереснее. Откройте для себя, как небольшие изменения в скриптах могут оказать большое влияние на ваш игровой сервер. Давайте представим наш сервер DayZ как экосистему, где каждый элемент важен, а батч-файлы — это инструменты садовника, позволяющие этой экосистеме процветать. Сегодня мы узнаем, как с помощью этих инструментов можно не только поддерживать здоровье нашего сервера, но и привнести в него новые элементы, делая игровой процесс более захватывающим и увлекательным для игроков. Мы научимся создавать бэкапы как профессионалы, следить за нагрузкой системы с лёгкостью и, конечно же, автоматизировать рутинные задачи, чтобы оставить больше времени для творчества. Итак, если вы готовы превратить управление сервером DayZ из утомительной рутины в захватывающее искусство, добро пожаловать в мир, где батч-файлы — ваш лучший друг, способный на волшебство. Подготовьтесь к тому, чтобы узнать, как эти небольшие, но могущественные скрипты могут сделать вашу жизнь проще, а управление сервером — эффективнее! В данной статье мы будем модернизировать существующий и довольно распространённый бат-файл для запуска игрового сервера совместно с BEC. Что будем делать: Добавим функцию автоматического резервного копирования папки и её архивации. Добавим систему мониторинга сервера (нагрузка на ЦП и использование ОЗУ) За основу будет взят довольно популярный бат-файл для запуска и мониторинга сервера совместно с BEC: Данный скрипт вы можете скачать в самом низу статьи. Please Log in or Register to see this: Spoiler Функционал Скрипта: Проверка запущенных процессов: Скрипт проверяет, запущены ли процессы сервера DayZ и BEC, используя tasklist и find. Если процессы не найдены, скрипт переходит к их запуску. Запуск сервера и BEC: Если процессы не запущены, скрипт убивает их текущие экземпляры (если они есть) и заново запускает сервер и BEC с заданными параметрами. Мониторинг состояния: После запуска скрипт входит в цикл, регулярно проверяя состояние сервера и BEC, обеспечивая их непрерывную работу. Модернизация: Мать-успеха Давайте подробно разберём, как собрать и запустить модернизированный батч-файл для управления сервером DayZ, который включает в себя автоматическое создание бэкапов по расписанию и мониторинг нагрузки системы в реальном времени. Интеграция функции мониторинга Вставьте код мониторинга системы в конец основного скрипта. Однако, чтобы обеспечить последовательное выполнение задач, нам нужно немного изменить логику переходов между разделами скрипта: Please Log in or Register to see this: Code Объяснение кода: @echo off скрывает выполнение команд в консоли, позволяя чисто отображать только результаты и сообщения.setlocal enabledelayedexpansion включает расширенную обработку переменных, что критически важно для работы с динамически изменяемыми значениями в циклах. Переменные определяют пути к серверу DayZ и BEC для удобства использования в скрипте.:checksv и последующие метки отвечают за проверку состояния сервера и BEC, их запуск или перезапуск при необходимости.:monitorSystem — это новый раздел, отвечающий за мониторинг нагрузки на ЦП и использование ОЗУ. Он выводит информацию в консоль и обновляется каждые 5 секунд. Резервное копирование - путь к стабильности! В начале скрипта, где объявляются переменные, добавим следующие строки: Please Log in or Register to see this: Code SOURCE_FOLDER — это путь к папке, которую вы хотите архивировать. В данном примере это папка Profiles сервера DayZ, где обычно хранятся важные конфигурационные файлы и данные игроков. BACKUP_DESTINATION — это путь к папке, куда будет сохранён архив с бэкапом. Убедитесь, что эта папка существует или создайте её заранее. Модификация функции создания бэкапа Теперь давайте модифицируем функцию :createBackup, чтобы она использовала эти переменные для создания бэкапа: Please Log in or Register to see this: Code В этой модифицированной версии функции :createBackup используется PowerShell команда Compress-Archive для создания архива содержимого папки, указанной в SOURCE_FOLDER, и сохранения его в папку BACKUP_DESTINATION с именем файла, включающим текущую дату. Итог Давайте объединим все модификации в единый готовый скрипт для управления сервером DayZ, включая функции автоматического запуска и перезапуска сервера и BEC, создание бэкапов по расписанию, а также мониторинг нагрузки системы. Ниже представлен полностью интегрированный и модернизированный скрипт: Please Log in or Register to see this: Spoiler Как использовать этот скрипт: Настройте пути: Убедитесь, что пути в переменных DAYZ_SA_SERVER_LOCATION, BEC_LOCATION, SOURCE_FOLDER, и BACKUP_DESTINATION корректно указаны под вашу систему и структуру папок. Настройте время бэкапа: Измените значение BACKUP_TIME на желаемое время создания бэкапа в формате ЧЧММ. Запуск: Сохраните скрипт с расширением .bat и запустите его от имени администратора. Подробная структура: Давайте подробно разберём каждую часть предложенного скрипта для управления сервером DayZ, создания бэкапов и мониторинга системы. Please Log in or Register to see this: Code @echo off отключает отображение выполняемых команд в консоли, делая вывод чище. setlocal enabledelayedexpansion включает расширенную обработку переменных, позволяя использовать !variable! для динамически изменяемых значений. TITLE задаёт заголовок окна командной строки. COLOR 0D изменяет цвет текста и фона консоли для улучшения читаемости. Переменные Please Log in or Register to see this: Code Здесь задаются основные пути к компонентам сервера, папке для бэкапа и времени его создания. Эти переменные облегчают дальнейшую модификацию и использование скрипта. Проверка и запуск сервера и BEC Please Log in or Register to see this: Code Этот блок кода циклически проверяет, запущены ли процессы сервера DayZ и BEC. Если какой-либо из процессов не запущен, скрипт пытается его запустить. Планирование и создание бэкапа Please Log in or Register to see this: Code :backupSchedule проверяет текущее время и сравнивает его с запланированным временем бэкапа. Если время совпадает, вызывается :createBackup. :createBackup создаёт архив указанной папки сервера и сохраняет его в заданное место. Мониторинг нагрузки системы Please Log in or Register to see this: Code В этом разделе скрипта каждые 5 секунд выводится информация о загрузке ЦП и использовании ОЗУ, обеспечивая непрерывный мониторинг состояния системы. Ключевые моменты Скрипт организован таким образом, что после запуска и проверки сервера и BEC он переходит к функции создания бэкапа (которая активируется только в запланированное время), а затем к непрерывному мониторингу системы. Использование goto и меток (:label) обеспечивает циклическое выполнение задач и переход между различными частями скрипта. Для корректной работы скрипта важно, чтобы все указанные пути были актуальны и соответствовали реальным путям на вашем сервере. Глубокая терминология Please Log in or Register to see this: Spoiler Заключение Этот модернизированный батч-скрипт представляет собой комплексное решение для автоматизации управления сервером DayZ, создания бэкапов и мониторинга системы. Он служит мощным инструментом в руках администратора, стремящегося к оптимизации и повышению надёжности сервера. StartServer.rar Please Log in or Register to see this: Attachment 2 Link to comment Share on other sites More sharing options...
imidazon Posted February 19, 2024 Share #2 Posted February 19, 2024 Интересно , надо попробовать ! У меня такой вопрос как сделать в BEC предупреждения о рестарте красного цвета ? По умолчанию он белый Link to comment Share on other sites More sharing options...
Hanker Posted March 9, 2024 Share #3 Posted March 9, 2024 @imidazon нужно использовать HTML таблицу цветов. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now