Да, можно. Если рестарты происходят в определенное время, то вы можете добавить проверку времени и выдавать сообщения в определенное. Время получаем функцией void GetHourMinuteSecond(out int hour, out int minute, out int second)
Либо можно сделать взаимодействие с внешними средствами по средствам файла-флага. У меня такой вариант используется. Batch-скрипт перед рестартом создает в директории игры файл reqrestart.txt и дальше ждет появления файла restart.txt. В скриптах сервера добавлена функция, которая постоянно проверяет наличие файла reqrestart.txt, как он появился, то игроки начинают получать сообщения, что до рестарта осталось N-секунд. Как счетчик доходит до нуля скрипт создает файл restart.txt и batch-скрипт, обнаружив его, делает рестарт.