This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219


Всем привет, в данной теме постараемся разобраться как подключить к своему серверу RAGE:MP альтернативный способ загрузки клиентских ресурсов, а именно -
FastDL, прямая раздача подготовленных файлов силами другого сервера \ сервиса (в данном примере будем использовать Timeweb S3, но вы можете использовать любой, например Amazon).



Первое что вам необходимо понять:

По умолчанию сервер RAGE:MP работает в режиме 2х портов (один порт 22005 у нас для игровых пакетов, а другой 22006 именно для загрузки игроками клиентских ресурсов при подключении).
В таком случае при запуске сервера он также запускает встроенный веб-сервер на 22006 порту и раздает файлы, если интересно можете проверить это перейдя по такой ссылке:

http://ВАШ_IP_СЕРВЕРА:22006/list2/index.html

Тем самым, если у вас большой онлайн + большой поток НОВЫХ игроков (которые, постоянно качают вашу чудо-сборку с миллиардом бмв, мерседесов, гучи, найков и адидасов) то вам необходимо разделять трафик, чтобы ваша система выдержала весь этот поток "важной" информации, а также не страдали уже находящиеся на сервере игроки.


Как это сделать?

Способов много, можно просто взять еще одну VPS, установить туда nginx, прописать параметр fastdl-host в конфиге сервера + подключить CloudFlare и так далее. Все будет работать и так.
WIKI - https://wiki.rage.mp/index.php?title=FastDL

Один из вариантов - универсальное объектное хранилище, совместимое с Amazon S3 API.

Я взял TimeWeb S3 (у него цена в районе 1$ за 10 ГБ данных и безлимитный трафик).
Тема хостинга на форуме - Мощные серверы для геймеров от Timeweb

Тестовый сервер самого RAGE:MP находится на соседнем Cloud VPS.



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





Далее если вы используете Linux (я использую Debian) устанавливаем утилиту - awscli, введя команду:
Bash:
apt install awscli

После установки настроим конфигурацию с нашими параметрами для подключения, введя команду:
Bash:
aws configure

После этого включаем на сервере RAGE:MP параметр в конфигурации:
JSON:
"create-fastdl-snapshot": true

Теперь при каждом запуске сервера, он будет генерировать специальные клиентские файлы (папка - fastdl_snapshot) для загрузки на наш S3.

Ждем полной прогрузки сервера (если у вас много файлов) и вводим команду для начала загрузки:
Bash:
aws --endpoint-url https://s3.timeweb.com s3 sync ПАПКА_СЕРВЕРА/fastdl_snapshot  s3://ИМЯ_БАКЕТА

После окончания загрузки видим наши файлы в панели управления.




После этого можно сразу выставлять в конфиге сервера RAGE:MP такой параметр (у вас если не подключали домен будет обычная ссылка - http://s3.timeweb.com/ИМЯ_БАКЕТА):

JSON:
"fastdl-host": "http://cdn.ragemp.su"


Итоги

Можно запускать сервер и проверять новое скачивание клиентских ресурсов с нашего S3.
Желательно синхронизировать файлы командой на S3 после каждого рестарта вашего сервера RAGE:MP.


Ставьте реакции если нужны дополнения на тему автоматизации с помощью скрипта или подключение других сервисов.
 
Последнее редактирование:

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,934
1,676
211
28
Нет, просто я задался этим вопросом на днях, а Харланд смог помочь и, по всей видимости, решил заодно написать гайд для всех.
Полезно для новых проектов, потому что без использования CDN/S3 будут проблемы с подключением к серверу в момент, когда много людей скачивает файлы с сервера.
 
Реакции: Juwiks

DeAAmoN

Мастер
BackEnd developer
18 Мар 2022
608
168
114
Согласен, тема полезная. Просто так явно рекламится хост)
 

WHYNOT

Участник портала
8 Апр 2021
113
19
92

тэстанул, все ок на винде
 
Реакции: Harland David Sanders

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219
Согласен, тема полезная. Просто так явно рекламится хост)
Просто хостинг бесплатно предоставляет мне хранилище S3, а для мануала все равно будет где это было сделано в качестве демонстрации.
 

WHYNOT

Участник портала
8 Апр 2021
113
19
92
хостинг тут вообще не роляет,роляет только билд сервера и скорость отдачи от веб хоста, если кому то нужна помощь пишите помогу за "пиво" WhyNot!?#1488
 

Depp

Активный участник
1 Ноя 2020
128
32
95
А где скачать этот билд сервера для Виндовс?
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219
Тогда в директории рейджа удали папку - server-files, затем в файле - config.xml вместо prerelease напиши - gamev2_LdQuTaL26ySDCvxvVnD8czXS7YzuwmX3 сохрани файл и запусти updater.exe, он скачает виндовый сервер в ту папку которую удаляли, и вот уже на этом билде пробуй. Должно получиться
 

Depp

Активный участник
1 Ноя 2020
128
32
95
Сработало, спасибо <3
 
Реакции: Harland David Sanders

hus2003

Участник портала
7 Мар 2022
23
5
70


Я получаю такую ошибку, каково ее решение
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219

hus2003

Участник портала
7 Мар 2022
23
5
70
aws --endpoint-url https://s3.timeweb.com s3 sync ПАПКАСЕРВЕРА/fastdl_snapshot s3://ИМЯБАКЕТА


ИМЯ_БАКЕТА чем я должен заполнить это место
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,671
2,849
219

Yukko

Новый участник
15 Дек 2020
42
3
65
Подскажите где на редаге в3 находится config.xml?
 
Реакции: XDeveluxe

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,934
1,676
211
28
Реакции: Nelson