Резервный fast dl

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Встал такой вопрос. Например есть 1 fast dl сервер, и он упал, и следовательно игроки ничего не могут скачать, а если это карта, то и вовсе не могут играть на сервере. Можно ли сделать какой то резервный сервер?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,921
  • Команда форума
  • #2
@xek, теоретически, можно со стороны сервера плагином проверять доступность основного сервера, и если он резко начал отдавать что-то не то на запрос по каким-то причинам (по каким - уже неважно) - менять sv_downloadurl, и продолжать опрашивать основной FastDL, в ожидании, когда ему станет хорошо.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Можно. Для этого и существует домен. Входная точка одна, а эндпоинт можно изменить, при этом не влияя на входную.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,921
  • Команда форума
  • #4
@Primo, клиент же выбирает случайный адрес из ответа DNS-сервера, разве нет? Если прописывать несколько адресов.
Если один - то всё равно нужна автоматизация.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
@Primo, клиент же выбирает случайный адрес из ответа DNS-сервера, разве нет? Если прописывать несколько адресов.
Если один - то всё равно нужна автоматизация.
А я и не говорил несколько ip адресов указывать в А записи. Это будет лотерея. Можно просто ручками менять, или скриптик написать, который это будет делать, если знания и возможности позволяют, просто поставить поменьше TTL.

Оффтоп
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,555
Реакции
5,035
@Primo, в принципе расширения socket и простенького плагина с файлом конфига, в который можно прописать адреса для резервных FastDL должно хватить.
Просто будет он пинговать адрес и, если текущий недоступен, менять на следующий доступный из списка.
И кода там не нужно особо много.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
@Primo, в принципе расширения socket и простенького плагина с файлом конфига, в который можно прописать адреса для резервных FastDL должно хватить.
Просто будет он пинговать адрес и, если текущий недоступен, менять на следующий доступный из списка.
И кода там не нужно особо много.
Как и предложил Kruzya, менять sv_downloadurl. Я смотрел немного в другую сторону, в сторону ns серверов, нежели чем SM.
Оффтоп
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Как и предложил Kruzya, менять sv_downloadurl. Я смотрел немного в другую сторону, в сторону ns серверов, нежели чем SM.
Оффтоп
А умеет ли cloudflare например таким заниматься?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,921
  • Команда форума
  • #9
@xek, вроде бы нет. Ты можешь прописать несколько адресов точно, и всех их спрятать "за клауд", но что будет в случае недоступности одного из адресов - не знаю.
Попробуй, вариантов исхода два:
  • Клауд будет так же выбирать случайный сервер для запроса, как самый обычный клиент, не повторяя попытку на другой, сразу выплёвывая ошибку
  • В продолжении первого пункта: если сервер не ответил за какое-то время, может попытаться параллельно постучаться на другой
 

ykpon

Владыка
Сообщения
675
Реакции
399
@Primo, ты поставишь TTL со значением 1, а провайдер игрока скажет - пошел нахрен и будет кэшировать записи со своим значением, например, в 3600. Что является классикой.

что будет в случае недоступности одного из адресов - не знаю
Ничего не будет, юзер будет долбиться в недоступный хост. Чтобы днс тебе отдавал рабочий адрес, нужно на уровне днс проверять какой работает, а какой нет.
Твой изначальный вариант самый простой и наиболее работоспособный.

Если позволяют финансы, то можно смотреть в сторону vrrp. Но это делается на основе либо своей автономной сети либо хостинга. Такое редко кто дает делать в РФ. Может gcore. А из европейских - хетцнер, овх, digitalocean, vultr вроде тоже.
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Сверху Снизу