На самом нижнем уровне памятника «Ядерная ракетная шахта» вы можете заметить ядерную боеголовку, подключённую к небольшому ноутбуку с таймером. Это не случайный таймер обратного отсчёта — на самом деле этот таймер с надписью «ТЕСТ НА ВЫЖИВАНИЕ ПОПУЛЯЦИИ» отсчитывает время до следующей перезагрузки сервера. Это также определяет, когда сервер должен начать выполнение событий эндгейма, поэтому важно синхронизировать этот таймер с расписанием перезагрузки вашего сервера.
События эндшпиля
В последний день (за 24 часа до) каждого цикла wipe на сервере запускаются два события в конце игры. (В течение часа, и это можно изменить с помощью eventschedulewipeoffset.event_hours_before_wipe
переменной. Установите значение 0, чтобы отключить их.)
F-15E Strike Eagle приближается
Самолёты F-15E «Страйк Игл» начнут наблюдение за островом. Вы услышите агрессивный звук пролетающего мимо самолёта. Это событие не оказывает прямого влияния на игровой процесс. Поскольку это событие, вы можете запустить его в любое время с помощью spawn f15e
команды.
Road Bradleys
Количество учёных на острове увеличится, а бронетранспортёры «Брэдли» начнут перемещаться по случайным дорогам, атакуя всё, что встретят. Количество бронетранспортёров зависит от размера вашей карты: WorldSize / 1000 * 2. Вы можете вручную создать бронетранспортёр «Брэдли», посмотрев на дорогу и используя spawnroadbradley
команду. Он остаётся на той же дороге, перемещаясь вперёд и назад.
Как работает таймер?
Конфигурация по умолчанию соответствует принудительной очистке, поэтому для большинства пользователей она не нуждается в каких-либо изменениях. Убедитесь, что время правильно установлено на ваших серверах!
Таймер рассчитывается с использованием тега очистки сервера (monthly
/biweekly
/weekly
), wipetimer.wipeTimezone
, wipetimer.wipeDayofWeek
и wipetimer.wipeHourofDay
конваров, однако вы можете изменить их с помощью wipetimer.wipeUnixTimestampOverride
или wipetimer.wipecronoverride
конваров.
Это означает, что у вас есть три «формата» расписания — ежемесячное, еженедельное и ежедневное, а по умолчанию:
- Ежемесячно: в первый четверг каждого месяца в 19:00 (по лондонскому времени)
- Еженедельно: каждый четверг в 19:00 по лондонскому времени)
- Дважды в неделю: в первый и третий четверг каждого месяца в 19:00 (по лондонскому времени), но в месяцах с 5 неделями 3-недельный перерыв делится на 2+1 неделю
Если вы измените настройки на среду в 13:00, а ваш сервер работает раз в неделю, то таймер будет срабатывать 00:00:00:00
каждую неделю, ровно в 13:00 (по лондонскому времени). Если ваш сервер работает с более короткими циклами очистки (например, раз в 3 дня), вам нужно будет использовать переменные wipeUnixTimestampOverride или wipeCronOverride.
Изменение дня недели - wipeDayofWeek <0-6>
Значение | День недели | Примечания |
---|---|---|
0 | Воскресенье | |
1 | Понедельник | |
2 | Вторник | |
3 | Среда | |
4 | Четверг | (по умолчанию) |
5 | Пятница | |
6 | Суббота |
Изменение времени очистки - wipeHourofDay <0-23>
По умолчанию: 19 — вы можете изменить это значение, чтобы указать время, в которое ваш сервер будет очищаться. Время указывается в 24-часовом формате. Если вы введете wipeHourofDay 14.5
, то это будет интерпретировано как 14:30.
Изменение часового пояса - wipeTimezone
По умолчанию: GMT (ID=Europe/London, IANA=Europe/London) — вы можете изменить это значение, чтобы указать часовой пояс вашего сервера, см. Поддерживаемые часовые пояса
Указание точной даты очистки
Cronos
Теперь внутри приложения используются выражения cron с помощью библиотеки Cronos. При желании вы можете использовать пользовательское выражение cron для таймера очистки, установив переменную wipeCronOverride. Анализатор Cronos
UnixTimeStampOverride
Вы можете установить точную дату и время очистки, используя метку времени UNIX с помощью этого параметра сервера: wipeUnixTimestampOverride <timestamp>
. Имейте в виду, что этот параметр переопределит все остальные настройки таймера очистки. Конвертер эпох
Сервер проигнорирует переопределение, если указанная временная метка уже прошла. В этом случае он вернется к использованию ваших параметров расписания очистки.
Примеры
Вот несколько примеров, чтобы увидеть, как это работает:
Метка частоты очистки | Конфигурация | Объяснение |
---|---|---|
Ежемесячно | +wipeDayofWeek 4 +wipeHourofDay 14.5 |
Сервер будет очищаться каждый первый четверг месяца в 14:30. |
Ежемесячно | +wipeDayofWeek 1 +wipeHourofDay 9 |
Очистка сервера производится каждый первый понедельник месяца в 9 утра. |
Еженедельно | +wipeDayofWeek 4 +wipeHourofDay 18 |
Очистка сервера производится каждый четверг в 18:00. |
Раз в две недели | +wipeDayofWeek 0 +wipeHourofDay 23 |
Очистка сервера будет производиться каждое второе воскресенье в 11 часов вечера. |
Раз в две недели | +wipeDayofWeek 4 +wipeHourofDay 19 |
Очистка сервера будет производиться каждый второй четверг в 19:00. |
+wipeUnixTimestampOverride 1683622506 |
Сервер будет удалён ровно 9 мая 2023 года в 08:55:06 (GMT+0) | |
+wipeUnixTimestampOverride 1686766934 |
Сервер будет удалён ровно 14 июня 2023 года в 18:22:14 (GMT+0) | |
+wipeCronOverride "0 14 1-7,15-21 * 4" |
Сервер будет очищен первым и третьим в четверг в 14:00 |
PrintWipe
Чтобы проверить, правильно ли вы настроили таймер, вы можете использовать PrintWipe
команду.
Пример вывода
Объяснено
Здесь показано, как в данный момент настроен ваш таймер.
- Частота — это настройка расписания очистки в вашем сервере-браузере-тегах
- Тестовый режим (текущее время +
daysToAddTest
+hoursToAddTest
конвары. По умолчанию оба конвара равны 0, поэтому, если вы их не меняли, в этой строке будет отображаться текущее местное время. - Время очистки (при этом будет выведена точная дата расчетного времени очистки)
- Время до очистки: дни: часы: минуты: секунды.
- Количество тиков до очистки: возвращает количество оставшихся тиков до очистки. Тик — это наименьшая единица времени, равная 100 наносекундам.
- Cron: выражение cron, используемое вашим сервером, и следующие 10 дат, которые ему соответствуют
Разное
Эти переменные, по-видимому, не имеют значения, если вы не разработчик. Возможно, они будут удалены/изменены в будущем. До сих пор они использовались только для вывода информации PrintWipe; Время тестирования
daysToAddTest <значение>
По умолчанию установлено значение 0
.
hoursToAddTest <значение>
По умолчанию установлено значение 0
.
Код
Код таймера очистки доступен в WipeTimer.cs. Вы можете получить к нему доступ через выделенный сервер Rust Assembly-CSharp.dll
.
Если вы не знаете время и часовой пояс вашего сервера, вы можете добавить это в один из своих плагинов Oxide. Найдите плагин с OnServerInitialized()
и добавьте две строки в начало. При перезагрузке плагина информация будет выводиться в консоль и в файл журнала Oxide.