Назад к блогу
Guide6 мин чтения

Руководство по хостингу серверов FiveM: VPS, выделенный или управляемый

Выбирайте подходящий хостинг FiveM для размера вашего сервера. VPS, выделенный сервер, управляемый хостинг и советы по выбору локации для низкого пинга, большого количества слотов и стабильной работы.

Agency Scripts

Основатель и ведущий разработчик Agency Scripts

Почему выбор хостинга решает судьбу вашего сервера

Выбранный вами хостинг-провайдер напрямую и заметно влияет на все аспекты вашего FiveM сервера. Опыт игроков, производительность скриптов, синхронизация сущностей, качество голосового чата и время отклика базы данных зависят от оборудования, находящегося в дата-центре. Плохо выбранный хост приводит к рывкам, рассинхронизации во время погонь на машинах, прерыванию голосового чата в критические моменты ролевой игры и длительным экранам загрузки, из-за которых игроки отключаются до появления в игре. Разница между сервером на подходящем оборудовании и сервером, размещенным на перегруженном VPS, сразу заметна любому опытному игроку FiveM. В этом руководстве мы подробно разберем необходимые характеристики, сравним VPS и выделенный хостинг и поможем сделать правильный выбор в зависимости от размера и бюджета вашего сервера.

VPS против выделенного сервера: понимание разницы

A VPS (Виртуальный частный сервер) является виртуализированным сегментом большей физической машины. Вы делите базовое оборудование с другими арендаторами, но ваши ресурсы изолированы через гипервизор. A выделенный сервер дает вам весь физический сервер целиком. Для FiveM это важнее, чем для обычного веб-хостинга, так как FiveM очень чувствителен к производительности одного ядра CPU и задержкам памяти. На VPS шумные соседи с интенсивной нагрузкой на CPU могут вызывать микрозадержки на вашем сервере, даже если выделенные ресурсы не исчерпаны. Выделенные серверы полностью устраняют этот риск. Однако качественный VPS от провайдера без оверселлинга может работать сопоставимо для серверов до 64 игроков. Вот как проверить текущую производительность сервера, чтобы установить базовый уровень перед сменой хостинга:

-- server.lua: Performance monitoring
local perfData = {}

CreateThread(function()
    while true do
        Wait(10000) -- Check every 10 seconds
        local cpuTime = GetProfiler():ToJSON() -- FiveM built-in profiler
        local playerCount = #GetPlayers()
        local resCount = GetNumResources()

        -- Track server frame time (should stay under 33ms for 30 tick)
        local svFrameTime = GetConvar('sv_frameTime', '33')

        print(('[PERF] Players: %d | Resources: %d | Target Frame: %sms')
            :format(playerCount, resCount, svFrameTime))

        -- Log to file for analysis
        SaveResourceFile(GetCurrentResourceName(), 'perf.log',
            os.date() .. ' | Players: ' .. playerCount ..
            ' | Resources: ' .. resCount .. '\n', -1)
    end
end)

Рекомендуемые технические характеристики

Производительность сервера FiveM в основном определяется однопоточная скорость ЦП", не количество ядер. Время выполнения сервера в основном однопоточное, что означает, что 4-ядерный CPU с частотой 5.0 ГГц значительно превосходит 16-ядерный CPU с частотой 2.5 ГГц. Для оперативной памяти базовый минимум , 8 ГБ для небольшого сервера (до 32 игроков с умеренным количеством скриптов), но 16 ГБ , практический минимум для серьёзного ролевого сервера с 64+ игроками, телефонной системой, MDT, кастомными профессиями и полноценной экономикой. NVMe-хранилище необходимо для серверов с интенсивной работой с базой данных, так как oxmysql-запросы обращаются к диску при сложных соединениях и больших чтениях. Вот разбивка по размеру сервера:",

  • Маленький (1-32 игрока): 4 ядра с частотой 4.0+ ГГц, 8 ГБ ОЗУ, 50 ГБ NVMe SSD, 100 Мбит/с пропускная способность
  • Средний (32-64 игрока): 4-6 ядер с частотой 4.5+ ГГц, 16 ГБ ОЗУ, 100 ГБ NVMe SSD, 250 Мбит/с пропускная способность
  • Большой (64-128 игроков): 6-8 ядер с частотой 5.0+ ГГц, 32 ГБ ОЗУ, 200 ГБ NVMe SSD, 500 Мбит/с пропускная способность
  • Enterprise (128+ игроков): Выделенный i9/Ryzen 9 на 5.5+ ГГц, 64 ГБ DDR5, 500 ГБ NVMe, 1 Гбит/с безлимитный

Защита от DDoS: обязательное требование

Сервера FiveM часто становятся мишенью DDoS-атак. Недовольные забаненные игроки, конкурирующие владельцы серверов и случайные скрипт-кидди рано или поздно попытаются атаковать ваш сервер. Без надлежащей защиты от DDoS одна атака может вывести сервер из строя на часы или даже дни. Ищите хостинг-провайдеров, предлагающих постоянная защита от DDoS Layer 4 специально настроена для трафика игровых серверов. Общая защита от DDoS, ориентированная на веб, часто фильтрует легитимные игровые пакеты, потому что они похожи на трафик атаки. Лучшие провайдеры предлагают фильтрацию с учетом особенностей игры, которая понимает паттерны UDP-трафика FiveM. Некоторые провайдеры также поддерживают GRE-туннелирование или пользовательские правила файрвола, позволяющие в белый список включать IP-диапазоны ретрансляторов Cfx.re, блокируя все остальное. Вот как настроить ваш server.cfg для ограничения доступа и уменьшения поверхности атаки:

# server.cfg: Security hardening
sv_hostname "Your Server Name"
sv_maxclients 64
sv_endpointPrivacy true
sv_scriptHookAllowed 0

# Restrict RCON access
rcon_password "YOUR_STRONG_PASSWORD_HERE"

# Rate limiting
rate_limiter "strict"

# Only allow connections through Cfx.re
sv_forceIndirectListing true

# Firewall rules (Linux iptables example)
# Run these in your server startup script:
# iptables -A INPUT -p udp --dport 30120 -m state --state NEW -m recent --set
# iptables -A INPUT -p udp --dport 30120 -m state --state NEW -m recent \
#   --update --seconds 10 --hitcount 20 -j DROP

Расположение сервера и задержка имеют значение

Физическое расположение вашего сервера определяет задержку, которую испытывают ваши игроки. Для преимущественно европейской аудитории хостинг во Франкфурте, Амстердаме или Париже обеспечивает лучший средний пинг по всему континенту. Для североамериканских серверов хорошие варианты , Даллас, Чикаго или Нью-Йорк. Если ваше сообщество охватывает оба континента, выбирайте регион, где находится большинство игроков, так как нет хорошего способа обеспечить пинг ниже 50 мс одновременно для ЕС и НА с одного места. Задержка ниже 50 мс ощущается как отзывчивая, 50-100 мс заметна, но играбельна, а более 100 мс вызывает видимый рассинхрон в быстрых сценариях, таких как погони полиции или перестрелки. Тестируйте задержку с целевых локаций перед выбором хоста, запуская простой ping-тест или используя looking glass инструмент провайдера.

Хостинг базы данных: на той же машине или внешней?

Большинство серверов FiveM запускают MySQL или MariaDB на той же машине, что и сам сервер FiveM. Это подходит для небольших и средних серверов, так как устраняет сетевую задержку между игровым сервером и базой данных. Однако для больших серверов с 100+ игроками и сложными экономическими системами разделение базы данных на отдельный выделенный сервер может улучшить производительность и игрового сервера, и базы данных. Игровой сервер получает больше ОЗУ и CPU для выполнения скриптов, а база данных , выделенную пропускную способность ввода-вывода. Если вы выберете этот путь, убедитесь, что сервер базы данных находится в том же дата-центре, что и игровой сервер, чтобы задержка запросов была менее 1 мс. Вот пример строки подключения oxmysql для обеих конфигураций:

# server.cfg: Database configuration

# Local database (same machine)
set mysql_connection_string "mysql://fivem:password@localhost/fivem_db?waitForConnections=true&connectionLimit=10&connectTimeout=60000"

# Remote database (separate server, same datacenter)
set mysql_connection_string "mysql://fivem:[email protected]/fivem_db?waitForConnections=true&connectionLimit=20&connectTimeout=10000"

# Performance tuning for oxmysql
set mysql_slow_query_warning 200
set mysql_debug false

# MariaDB recommended settings (my.cnf)
# [mysqld]
# innodb_buffer_pool_size = 4G
# innodb_log_file_size = 256M
# innodb_flush_method = O_DIRECT
# max_connections = 100
# query_cache_type = 1
# query_cache_size = 128M

Настройка сервера на чистом VPS

После выбора хостинг-провайдера настройка сервера FiveM на чистом Linux VPS проходит по повторяемому процессу. Начните с Ubuntu 22.04 или Debian 12, обновите систему, создайте пользователя без root-прав для процесса FiveM и настройте брандмауэр. Никогда не запускайте сервер FiveM от root, так как уязвимость в любом скрипте может скомпрометировать всю машину. Используйте systemd управлять процессом FiveM так, чтобы он автоматически перезапускался при сбоях и запускался при загрузке сервера. Эта настройка занимает около 15 минут и обеспечивает готовую к эксплуатации серверную среду:

#!/bin/bash
# setup-fivem.sh - Fresh VPS setup script

# Update system
apt update && apt upgrade -y

# Create FiveM user
useradd -m -s /bin/bash fivem
mkdir -p /home/fivem/server /home/fivem/server-data

# Download FiveM server artifacts
cd /home/fivem/server
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/LATEST_RECOMMENDED_URL -O fx.tar.xz
tar xf fx.tar.xz
rm fx.tar.xz

# Set permissions
chown -R fivem:fivem /home/fivem

# Configure firewall
ufw allow 30120/tcp
ufw allow 30120/udp
ufw allow 40120/tcp
ufw allow OpenSSH
ufw --force enable

# Create systemd service
cat > /etc/systemd/system/fivem.service << 'EOF'
[Unit]
Description=FiveM Server
After=network.target mariadb.service

[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/server-data
ExecStart=/home/fivem/server/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable fivem
echo "Setup complete! Place your server-data files and run: systemctl start fivem"

Мониторинг и обслуживание вашего сервера

После развертывания крайне важно постоянное наблюдение. Настройте базовый мониторинг ресурсов с помощью таких инструментов, как htop для реального времени использования CPU и RAM, iotop для дисковых операций ввода-вывода, и vnstat для отслеживания пропускной способности. Настройте автоматическое резервное копирование каталога server-data и базы данных сервера, желательно в удалённое место. Хорошая стратегия резервного копирования , ежедневный полный дамп базы данных и почасовое инкрементальное резервное копирование таблиц данных игроков. Отслеживайте тикрейт вашего FiveM сервера через веб-панель txAdmin, которую большинство хостинг-провайдеров устанавливают по умолчанию. Здоровый сервер поддерживает стабильный тикрейт, близкий к заданному значению (обычно 30 или 48 тиков в секунду). Когда тикрейт падает ниже 80% от цели, пора оптимизировать скрипты или обновить оборудование.

Готовы начать?

Возьмите скрипты в нашем магазине или заходите в Discord за поддержкой, обновлениями и анонсами.