← Blog

Настройка server.cfg в FiveM: пошаговое руководство

Par Benjamin Dayan · PDG

· Mis à jour le 3 октября 2026 г. · Lecture 5 min

Содержание

Настройка server.cfg FiveM определяет, как именно загружается игровой сервер, какие ресурсы стартуют, сколько игроков может подключиться и насколько сервер защищён от базовых атак. Этот файл — центральная точка конфигурации, и ошибки в нём чаще всего становятся причиной краша при запуске или падения FPS у всех игроков одновременно.



Что такое server.cfg и как он влияет на сервер FiveM

server.cfg — это текстовый файл конфигурации, который читается движком FXServer при каждом запуске. Он выполняется построчно, сверху вниз, поэтому порядок команд имеет значение: если ресурс пытается использовать convar, который объявлен ниже по файлу, он может получить пустое значение.

Файл обычно лежит в корневой директории сервера, рядом с папками resources и cache. Строки, начинающиеся с символа #, считаются комментариями и игнорируются. Основные типы команд:

  • set — задаёт значение convar (переменной конфигурации);
  • sets — задаёт переменную и делает её видимой для клиентов через NUI;
  • setr — переменная с ограничением доступа (replicated);
  • ensure — запускает ресурс и гарантирует его перезапуск при ошибке зависимости;
  • exec — подключает содержимое другого файла, например permissions.cfg.

Минимальный рабочий server.cfg выглядит так:

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

sv_hostname "Мой игровой сервер FiveM"
sv_maxclients 48

set sv_licenseKey "ваш_ключ_с_portal.cfx.re"

ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap

Без корректного sv_licenseKey сервер вообще не стартует — ключ выдаётся бесплатно на портале Cfx.re и привязывается к IP-адресу. Если вы разворачиваете проект на готовой инфраструктуре, подробности есть на странице хостинг FiveM, где уже учтены типичные требования к ресурсам и сети для этого движка.



Загрузка ресурсов в server.cfg: порядок и зависимости

Ресурсы — это папки с кодом в директории resources, каждая со своим fxmanifest.lua. Чтобы ресурс заработал, его нужно явно подключить командой ensure или устаревшей start (ensure предпочтительнее, так как перезапускает ресурс при сбое зависимостей).

Группировка ресурсов через каталоги

Хорошая практика — не перечислять десятки ensure вручную, а использовать структуру папок и conVar set_resource_path_cache, либо простым способом: разложить ресурсы по подпапкам (например, [core], [maps], [jobs]) и подключать их через отдельные .cfg файлы:

# server.cfg
exec cfg/resources_core.cfg
exec cfg/resources_maps.cfg
exec cfg/resources_jobs.cfg
exec cfg/resources_custom.cfg

Это упрощает отладку: если после обновления один из modpack'ов начал конфликтовать, достаточно закомментировать строку exec, а не искать нужный ensure среди сотни строк.

Порядок зависимостей

Фреймворки вроде ESX или QBCore требуют строгого порядка запуска: сначала базовые библиотеки (oxmysql, ox_lib), затем core-ресурс фреймворка, затем job-ресурсы и интерфейсы. Нарушение порядка приводит к ошибкам в консоли вида Error loading script... attempt to index a nil value.

ensure oxmysql
ensure ox_lib
ensure es_extended
ensure esx_menu_default
ensure esx_menu_dialog
ensure esx_society
ensure esx_jobs

Проверяйте лог запуска в консоли панели управления — там видно, какой именно ресурс завершился с ошибкой и на каком этапе зависимости не загрузились.



Настройка параметров OneSync в server.cfg FiveM

OneSync — технология синхронизации сущностей (NPC, машины, объекты) между клиентами, которая позволяет держать на сервере FiveM больше 32 игроков одновременно. Без корректно включённого OneSync сервер ограничен старым лимитом в 32 слота, а при превышении начинаются рассинхронизации машин и исчезающие объекты.

РежимConvarМаксимум игроков
Legacy (выключен)onesync offдо 32
On (стандартный)onesync onдо 128
Infinity (большие проекты)onesync on + onesync_population true128+

Базовая настройка server.cfg FiveM с OneSync выглядит так:

set onesync on
set onesync_population true
set onesync_forceMigration true

sv_maxclients 128
set sv_enforceGameBuild 2944

Параметр sv_enforceGameBuild фиксирует билд игры, под который написаны скрипты и машины — это защищает от краша при автоматическом обновлении GTA Online, которое FiveM иногда подхватывает раньше, чем ресурсы успевают адаптироваться.

Как проверить, что OneSync действительно работает

В консоли сервера после старта должна появиться строка о включённом режиме синхронизации. Если её нет, проверьте, что convar задан командой set до строки ensure ресурсов, которые от него зависят — OneSync должен объявляться в самом начале server.cfg, до загрузки фреймворка.

Для проектов с большим количеством одновременных сущностей (кастомные дорожные сети, NPC-патрули, экономика на сотни машин) стоит заранее рассчитывать нагрузку на CPU — частота процессора влияет на тики синхронизации сильнее, чем количество ядер, поэтому для FiveM критична именно высокая тактовая частота, а не число потоков.



Лимит слотов и базовая защита сервера в server.cfg

Количество слотов задаётся convar'ом sv_maxclients, но реальный лимит также зависит от лицензии Cfx.re и от нагрузки, которую создают запущенные ресурсы. Увеличение слотов без запаса по CPU приводит к падению тикрейта и лагам у всех игроков одновременно, а не только у тех, кто подключился последним.

sv_maxclients 64
sv_scriptHookAllowed 0
sets sv_projectName "Мой проект FiveM"
sets sv_projectDesc "RP сервер, OneSync on"

Базовые меры защиты в server.cfg

Прежде чем открывать подключения публично, настройте минимальный набор защиты:

  • замените пароль rcon на длинный случайный, не используйте значение по умолчанию:
rcon_password "Xk7#mQ92vLpZ!9rT"
  • отключите выполнение script hook для клиентов, если проект не требует его явно (sv_scriptHookAllowed 0);
  • настройте систему прав через add_ace/add_principal вместо выдачи rcon всем модераторам:
add_ace group.admin command allow
add_ace group.moderator command.kick allow
add_principal identifier.steam:1100001xxxxxx group.admin
  • подключите whitelist-ресурс или steam_webApiKey для проверки подлинности Steam-аккаунтов;
  • настройте регулярные автоматические резервные копии базы данных и папки resources, чтобы откатиться после неудачного обновления скриптов;
  • обновляйте артефакты FXServer регулярно — часть уязвимостей закрывается именно в билдах, а не в ресурсах.

Анти-DDoS защита на уровне сети — отдельный уровень безопасности, который не прописывается в server.cfg: он работает на инфраструктуре до того, как трафик вообще дойдёт до процесса сервера. Настройки в файле конфигурации отвечают только за логику доступа внутри самого FiveM.

Если вы администрируете несколько проектов одновременно, удобно держать базовые ресурсы и шаблон server.cfg отдельно и подключать их через панель управления — это ускоряет развёртывание нового инстанса без повторного набора всех convar вручную. Полный список поддерживаемых игр и движков можно посмотреть в разделе Все наши игровые серверы, а для проектов на самостоятельной инфраструктуре подойдёт VPS Linux с полным root-доступом.



Заключение

Корректный server.cfg — это основа стабильной работы FiveM: правильный порядок загрузки ресурсов исключает ошибки зависимостей, верные параметры OneSync дают запас по слотам без рассинхронизаций, а базовая защита снижает риск взлома административной панели. Проверяйте изменения на тестовом инстансе перед применением на боевом проекте.



FAQ

Почему сервер FiveM не запускается после изменения server.cfg?

Чаще всего причина — опечатка в convar, отсутствующий sv_licenseKey или ensure ресурса, которого нет в папке resources. Проверьте консоль запуска: там указывается точная строка файла, на которой произошла ошибка.

Сколько слотов можно задать через sv_maxclients без потери производительности?

Жёсткого лимита нет, но реальная граница зависит от частоты CPU и количества синхронизируемых сущностей. При OneSync on комфортный диапазон для большинства RP-проектов — 64–128 слотов при достаточном запасе по тактовой частоте процессора.

Нужно ли включать onesync_population вместе с onesync on?

Да, если вы используете спавн NPC и трафика через стандартные системы игры. Без onesync_population population-скрипты не синхронизируются корректно между клиентами на серверах с числом игроков выше 32.

Читайте также