← Blog

Свой сервер FiveM или чужой: в чём разница для игрока

Par Benjamin D. · PDG

· Mis à jour le 6 сентября 2026 г. · Lecture 8 min

Содержание

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



Свой сервер FiveM против игры на публичном проекте: что переходит под ваш контроль

Когда вы подключаетесь к чужому проекту, вы получаете готовый продукт: фиксированный фреймворк, заранее собранный список ресурсов, чужую экономику и чужую модерацию. Никаких рычагов, кроме жалобы в Discord. Управляя площадкой самостоятельно, вы получаете полный список рычагов — от версии игровой сборки до порядка запуска скриптов.

Если возиться с обновлением артефактов и настройкой Linux-окружения не хочется, а нужен только доступ к конфигурации и файлам, подойдёт готовая платформа с панелью Pterodactyl: хостинг FiveM от Fly-Serv даёт консоль, файловый менеджер и автоматические резервные копии сразу после установки.

Список того, что настраивается только на своей площадке

  • Версия артефактов (FXServer build) — можно закрепить стабильную сборку и не ловить регрессии свежих релизов.
  • Игровая сборка GTA V через sv_enforceGameBuild — доступ к DLC-транспорту, оружию и интерьерам.
  • Набор ресурсов: фреймворк, инвентарь, работы, кастомные машины, MLO-интерьеры, ymap-объекты.
  • Права: ACE-принципалы, группы модераторов, доступ к отдельным командам.
  • Whitelist и правила входа: закрытая площадка для сообщества или открытые двери.
  • Синхронизация: OneSync, лимит слотов, поведение сущностей и маршрутизация игроков.
  • База данных: своя схема MySQL, свои таблицы персонажей, своя экономика и свои бэкапы.
  • Логи и мониторинг: полный доступ к консоли, к resmon и к статистике производительности.

Где проходят границы

Контроль не безграничен. Площадка обязана быть зарегистрирована в Cfx.re и работать с валидным ключом, а правила платформы запрещают продажу игровых преимуществ вне разрешённых рамок. Технические лимиты тоже никуда не деваются: без OneSync потолок — 32 игрока, с OneSync Infinity — заметно выше, но за каждый лишний слот платит процессор. Актуальные ограничения всегда стоит сверять с официальной документацией FiveM.



server.cfg: конфигурация под собственные правила

Файл server.cfg лежит в корне рабочей директории и читается при каждом старте. Это единственная точка входа: порты, ключ, ресурсы, права, лимиты — всё здесь.

Минимальный рабочий конфиг

# Сетевые точки входа
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# Базовые ресурсы платформы
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap

# Идентификация проекта
sv_hostname "Roleplay Community | RU"
sv_projectName "RP Community"
sv_projectDesc "Приватный ролевой проект"
sets tags "roleplay, russian, esx"
sets locale "ru-RU"

# Слоты и синхронизация
sv_maxclients 48
set onesync on
sv_enforceGameBuild 3258

# Служебное
sv_licenseKey "cfxk_XXXXXXXXXXXXXXXXXXXX"
set steam_webApiKey "none"
rcon_password "длинный_случайный_пароль"
sv_scriptHookAllowed 0

Ключевые директивы и что они реально меняют

ПараметрНазначениеПрактический совет
sv_maxclientsЛимит одновременных подключенийСчитайте по нагрузке на ядро, а не по амбициям: 48 слотов на тяжёлом фреймворке требуют больше, чем 64 на лёгком
set onesyncРежим серверной синхронизации сущностейon для Infinity, legacy — устаревший режим, нужен только старым скриптам
sv_enforceGameBuildПринудительная сборка GTA V у клиентаМеняйте только вместе с проверкой всех ресурсов: старые MLO часто ломаются на новых билдах
sv_scriptHookAllowedРазрешение ScriptHook на клиентеВсегда 0 на ролевом проекте — иначе читы через нативы
rcon_passwordПароль удалённой консолиДлинный случайный пароль либо полное отключение, если управление идёт через панель
sv_endpointPrivacyСкрытие IP игроков в спискеtrue — базовая гигиена приватности сообщества
sv_authMaxVariance / sv_authMinTrustПорог доверия Cfx.re при входеПовышение отсекает часть одноразовых аккаунтов

Права: ACE вместо «доверия на слово»

Система прав FiveM строится на принципалах и ACE-разрешениях. Идентификатор игрока привязывается к группе, группа получает доступ к командам. Это переносится в отдельный файл, чтобы не раздувать основной конфиг:

# permissions.cfg
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow

add_principal identifier.fivem:1234567 group.admin
add_principal identifier.discord:987654321098765432 group.moderator
add_principal group.admin group.moderator

Подключается строкой exec permissions.cfg в конце server.cfg. Держать права отдельно удобно: файл можно менять и перечитывать через refresh без полного рестарта.

Whitelist и закрытый вход

Приватность — одна из главных причин уходить с публичных площадок. Простейший вариант — ACE-проверка при подключении, серьёзный — Discord-роль через API или таблица в базе. Начните с малого:

add_ace group.whitelisted whitelist.join allow
add_principal identifier.discord:987654321098765432 group.whitelisted
set sv_whitelist true


Ресурсы, фреймворки и моды: полная свобода сборки

Именно здесь разница ощущается сильнее всего. На чужом проекте вы получаете один инвентарь, один набор работ и одну экономику. У себя вы собираете стек с нуля.

Порядок запуска решает всё

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

# 1. Драйвер БД
ensure oxmysql
set mysql_connection_string "mysql://fivem:пароль@127.0.0.1:3306/es_extended?charset=utf8mb4"

# 2. Ядро фреймворка
ensure es_extended

# 3. Общие библиотеки
ensure ox_lib
ensure ox_inventory

# 4. Прикладные скрипты
ensure esx_menu_default
ensure esx_jobs
ensure esx_policejob

# 5. Стриминг ассетов последним
ensure [maps]
ensure [vehicles]

Квадратные скобки — это категории: папка resources/[vehicles] запускается одной строкой, а внутри может лежать сорок аддон-машин. Никаких start по одному ресурсу — ensure перезапускает уже работающий скрипт и потому безопаснее при обновлении.

Фреймворк: ESX, QBCore или голый сервер

  • ESX — самый распространённый ролевой стек, огромная библиотека готовых скриптов, но много легаси-кода.
  • QBCore — модульнее, чище структура, требует внимательности при миграции чужих скриптов.
  • Чистая сборка на базе cfx-server-data — для deathmatch, дрифт-площадок и мини-игр, где ролевая обвязка только мешает.

Смена фреймворка на публичном проекте невозможна в принципе. У себя это вопрос новой базы данных и вечера тестов на пустом мире.

Стриминг кастомного контента

Аддон-машины, MLO-интерьеры, кастомная одежда и ymap-объекты кладутся в ресурс со структурой stream/. Три правила, которые экономят часы отладки:

  1. Кастомный транспорт требует записи в vehicles.meta, carvariations.meta и handling.meta, иначе машина спавнится без физики.
  2. Каждый гигабайт стриминга — это загрузка на входе игрока. Держите ассеты сжатыми и убирайте неиспользуемое.
  3. После добавления MLO обязательна проверка коллизий на живом мире: некоторые интерьеры конфликтуют с ванильными зонами.

Обновления и откат

Артефакты FXServer выходят часто. Стабильная схема: обновляться на тестовой копии, прогонять полный старт, смотреть консоль на предмет ошибок нативов, только потом переносить на боевую площадку. Автоматические резервные копии панели плюс дамп базы перед каждым обновлением решают 90% проблем:

mysqldump -u fivem -p es_extended > backup_$(date +%F).sql


Администрирование, производительность и защита

txAdmin как центр управления

txAdmin идёт в комплекте с артефактами и закрывает большую часть рутины: веб-интерфейс, живая консоль, кики и баны с историей, планировщик рестартов, мониторинг производительности и рецепты развёртывания готовых сборок. Плановый рестарт раз в 6–12 часов — не признак кривых рук, а нормальная практика: он сбрасывает утечки памяти в скриптах и держит tick стабильным.

Диагностика нагрузки

Главный инструмент — команда resmon 1 в клиентской консоли (F8) и серверный монитор в txAdmin. Ориентиры простые:

  • Ресурс стабильно выше 0.5 ms на клиенте — повод заглянуть в его код, обычно там цикл без Wait.
  • Серверный tick растёт при полном онлайне — чаще всего виноваты частые запросы к базе без индексов.
  • Резкие фризы у всех одновременно — почти всегда синхронизация сущностей: слишком много спавнящихся объектов или мусор от старых машин.

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

Базовая безопасность площадки

  • Длинный случайный rcon_password, а лучше — управление только через панель и отключённый RCON.
  • sv_scriptHookAllowed 0 и запрет клиентских инжекторов на уровне правил.
  • Резервные копии базы и папки resources по расписанию, а не «когда вспомню».
  • Проверка чужих скриптов перед запуском: обфусцированный код с сетевыми запросами наружу — красный флаг.
  • Whitelist на этапе роста сообщества: меньше случайных игроков — меньше инцидентов.

Если вы администрируете Linux-машину самостоятельно, добавьте стандартный минимум: вход по SSH-ключам вместо пароля, fail2ban на журнал авторизации и закрытые лишние порты в ufw.

ssh-keygen -t ed25519 -C "fivem-admin"
sudo ufw allow 22/tcp
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo systemctl enable --now fail2ban

Волюметрические атаки на игровые проекты — отдельная история: фильтрация трафика решается на уровне сетевой инфраструктуры, у Fly-Serv анти-DDoS включён по умолчанию на всех машинах. Полный список поддерживаемых платформ смотрите в разделе Все наши игровые серверы, а тем, кто параллельно ведёт проект по «Дикому Западу», пригодится Сервер RedM — логика конфигурации там почти идентична.

Чек-лист перед открытием дверей сообществу

  1. Конфиг стартует без ошибок в консоли — ни одного красного сообщения.
  2. ACE-права выданы, тестовый модератор реально может кикнуть тестового игрока.
  3. База данных проиндексирована, дамп снимается по расписанию.
  4. Плановый рестарт настроен в txAdmin с предупреждением за 5 минут.
  5. Стриминг-ассеты проверены: машины спавнятся, интерьеры не проваливаются.
  6. Правила проекта опубликованы, шаблон апелляции по бану готов.

Больше практических материалов по настройке игровых платформ — в разделе Блог Fly-Serv.



Итог

Самостоятельное управление FiveM — это работа с server.cfg, ACE-правами, порядком запуска ресурсов и базой данных. Взамен вы получаете площадку, которая ведёт себя ровно так, как задумано: нужный набор модов, свои правила входа, предсказуемый tick и полный доступ к логам. Начните с минимального конфига, добавляйте ресурсы по одному и следите за resmon — так отладка занимает часы, а не недели.



FAQ

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

Проверьте три вещи: имя папки в resources должно точно совпадать со строкой ensure, включая регистр; в ресурсе обязан лежать корректный fxmanifest.lua с указанием fx_version и game 'gta5'; ресурс должен идти после своих зависимостей (драйвер MySQL и ядро фреймворка — всегда выше). Точная причина почти всегда есть в консоли при старте — читайте первые красные строки, а не последние.

Как понять, какой скрипт тормозит проект?

В игре нажмите F8 и введите resmon 1 — появится таблица нагрузки по каждому ресурсу в миллисекундах. Всё, что стабильно держится выше 0.5 ms в покое, стоит проверить: обычно это цикл while true do без адекватного Wait(). Серверную часть смотрите через монитор производительности txAdmin: скачки tick при полном онлайне чаще всего означают тяжёлые запросы к MySQL без индексов.

Стоит ли менять sv_enforceGameBuild на самую свежую сборку?

Только после теста. Новые билды открывают доступ к свежему DLC-контенту, но ломают часть старых MLO-интерьеров, кастомных машин и скриптов, завязанных на конкретные нативы. Правильный порядок: копия проекта на тестовой площадке, смена билда, полный прогон всех ключевых сценариев, проверка консоли на ошибки, и только затем перенос на боевую. Дамп базы и резервная копия папки resources — обязательны до начала.