server.cfg объяснен: каждая строка FiveM server.cfg, одна за другой
Что делает каждая строка в FiveM server.cfg: endpoints, sv_hostname, projectName, tags, locale, icon, sv_maxclients, license key, OneSync, ensure, ACE и exec.
Вы открыли server.cfg, и это глухая стена строк, скопированных из рецепта. Этот гайд проходит через строки, которые вы найдете в большинстве серверов, в порядке, в котором они обычно появляются, с коротким объяснением и ссылкой, где есть более длинный гайд.
Endpoints
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"Это адрес и порт, на котором слушает сервер. 0.0.0.0 означает все сетевые интерфейсы, а 30120 - стандартный порт. Игроки подключаются через UDP и используют TCP для HTTP и прокси txAdmin, поэтому вы открываете оба в вашем файерволле. С txAdmin интерфейс и порт обычно управляются для вас, и настройки txAdmin могут пожаловаться, если они не совпадают. Если игроки не могут присоединиться извне, смотрите проброс портов.
Имя и список
sv_hostname "My Server"
sets sv_projectName "My Server"
sets sv_projectDesc "A friendly roleplay server"
sets tags "roleplay, esx, english"
sets locale "en-US"
load_server_icon myLogo.pngsv_hostname- старое имя сервера.sv_projectNameиsv_projectDesc- имя и описание в списке серверов. Формаsetsих публикует.tags- это ключевые слова, по которым люди фильтруют, аlocale- это язык.load_server_iconзагружает небольшой PNG из папки сервера.
Цвета, баннеры и размер значка рассматриваются в значок сервера, баннер и теги.
Игроки
sv_maxclients 48Количество слотов игроков. Превышение 48 требует OneSync и поддерживающего уровня на стороне Cfx.re. Подробности в OneSync и лимит игроков.
Ключи
sv_licenseKey "cfxk_xxxxxxxxxxxxxxxxxxxx_xxxxx"
set steam_webApiKey "none"sv_licenseKey - это ключ из портала Cfx.re, и сервер не запустится без действительного. Смотрите ошибка лицензионного ключа сервера. steam_webApiKey требуется только если вы хотите идентификаторы Steam, и none принимается, когда вы этого не хотите. Обе строки - это секреты: не делитесь вашим server.cfg в скриншотах.
База данных
set mysql_connection_string "mysql://user:password@localhost/dbname?charset=utf8mb4"Строка подключения, которую читает oxmysql. Неправильные значения дают ошибки в ошибке подключения oxmysql. Используйте set, а не setr или sets, чтобы пароль остался на сервере.
OneSync и игровая сборка
set onesync on
sv_enforceGameBuild 3258onesync on включает OneSync, который является стандартом для современных серверов и необходим для многих слотов. sv_enforceGameBuild заставляет клиентов использовать игровую сборку, и автомобили DLC, одежда и карты нуждаются в недавней. Номера сборок и то, что они разблокируют, находятся в sv_enforceGameBuild и DLC. Используйте номер сборки, поддерживаемый вашими артефактами, а не просто тот, что в этом примере.
Ресурсы: ensure
ensure oxmysql
ensure ox_lib
ensure es_extended
ensure [standalone]Каждый ensure запускает ресурс или целую папку с кронштейном. Порядок имеет значение: базы данных, библиотеки и фреймворк в первую очередь. Смотрите порядок ensure в server.cfg. Если один не удается, couldn't start resource объясняет сообщение.
Permissions: add_ace и add_principal
add_ace group.admin command allow
add_principal identifier.fivem:1234567 group.adminadd_ace дает разрешение группе, здесь каждую команду. add_principal помещает игрока (по идентификатору) в эту группу. Замените идентификатор своим собственным. Полное объяснение с разницей между ACE и собственными группами вашего фреймворка находится в ACE permissions.
Включение других файлов: exec
exec permissions.cfg
exec resources.cfgexec запускает другой cfg файл так, как если бы его строки были здесь. Разделение permissions или resources в свои собственные файлы делает server.cfg читаемым, и вы можете хранить секреты в одном файле, который вы никогда не делитесь.
Минимальный пример
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
sv_licenseKey "cfxk_..."
sv_hostname "My Server"
sets sv_projectName "My Server"
sets sv_projectDesc "A friendly roleplay server"
sets tags "roleplay"
sets locale "en-US"
load_server_icon myLogo.png
sv_maxclients 48
set onesync on
set mysql_connection_string "mysql://user:password@localhost/dbname?charset=utf8mb4"
ensure oxmysql
ensure ox_lib
ensure es_extendedВнимание: опечатка в строке не всегда останавливает сервер. Неправильно написанная переменная конвара создается молча и ничего не делает. Когда настройка кажется проигнорированной, сначала проверьте орфографию.
Контрольный список
| Симптом | Решение |
|---|---|
| Игроки не могут присоединиться извне | Откройте TCP и UDP на порту, смотрите проброс портов |
| Сервер не запускается | Проверьте sv_licenseKey |
| Имя или теги не отображаются | Используйте sets, перезагрузитесь и дождитесь обновления списка |
| Более 48 слотов отклонены | Включите OneSync и проверьте ваш уровень Cfx.re |
| Ошибки базы данных | Проверьте mysql_connection_string |
| Контент DLC отсутствует | Поднимите sv_enforceGameBuild |
| Не администратор | Исправьте add_principal со своим собственным идентификатором |
Короткие ответы
Где находится server.cfg?
В папке данных вашего сервера, рядом с папкой resources. С помощью txAdmin вы также можете открыть и отредактировать его на странице CFG Editor в веб-панели.
Нужно ли перезагружать сервер после редактирования server.cfg?
Да. Файл читается при запуске сервера. Перезагрузите сервер для применения изменений endpoints, convars и permissions. Новые строки ensure можно также запустить в live console.
В чем разница между set, sets и setr?
set создает переменную конвара, которую может читать только сервер. sets также публикует ее в списке серверов. setr также репликирует ее на клиентов, поэтому никогда не помещайте секреты в setr или sets.

