Jump to content
DAYZ-CODE.RU - Создай свой игровой сервер

DayZ в автозапуске: батч-гениальность.bat


Sk1nG
 Share

Recommended Posts

В дополнении моей ранее написанной информативной статьи я продолжаю развивать тему бат-файлов (пакетных файлов) - ранее написанная статья.

 

Введение:

 

Приветствую вас в необычном путешествии по миру батч-файлов для сервера 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

 

Как использовать этот скрипт:

  1. Настройте пути: Убедитесь, что пути в переменных DAYZ_SA_SERVER_LOCATION, BEC_LOCATION, SOURCE_FOLDER, и BACKUP_DESTINATION корректно указаны под вашу систему и структуру папок.
  2. Настройте время бэкапа: Измените значение BACKUP_TIME на желаемое время создания бэкапа в формате ЧЧММ.
  3. Запуск: Сохраните скрипт с расширением .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

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Интересно , надо попробовать !  У меня такой вопрос как сделать в BEC предупреждения о рестарте красного цвета ? По умолчанию он белый 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...