server_config.toml рядом с исполняемым файлом. Клиент загружает его из GameControllerOptions.ConfigFileName (по умолчанию client_config.toml) в User Data Directory.
Конфигурационные файлы хранят «CVars», что является сокращением от «console variable» (консольная переменная), но также может означать «config variable» (переменная конфигурации) в зависимости от того, насколько вам важно быть точным по отношению к Quake или чему-то подобному. Это не имеет большого значения. В любом случае, это кратко для написания.
Краткий курс TOML
TOML — это, по сути, просто INI, но несколько лучше специфицированный и более хипстерский. Вы помещаете заголовки в квадратные скобки и ключи под ними. Мы не используем более продвинутые функции TOML, чем показано здесь (потому что они отстой):net.port, это означает, что нужно поместить port = foo под заголовок [net]. В случаях, когда вы напрямую ссылаетесь на cvar полностью (например, команда cvar), вы пишете полное имя (например, cvar net.port).
Справочник CVar
Если вы хотите найти справочник всех CVar, доступных в игре/движке, лучше всего проверить код игры и движка:CCVars.<category>.cs for Space Station 14, CVars.cs for Robust. Читать их довольно легко.
Способы указания CVars
- Вы можете поместить их в конфигурационный файл сервера или клиента, и они будут загружены автоматически.
- Вы можете использовать команду
cvarдля просмотра и установки CVar во время выполнения. Обратите внимание, что не все CVar поддерживают изменение «на лету»: эффекты могут варьироваться от нормальной работы до взрыва сервера или отсутствия эффекта. - Вы можете передать
--cvar foo.bar=123как аргумент командной строки клиенту или серверу, чтобы переопределить CVar при запуске. Это также переопределяет любые значения, установленные в конфигурационных файлах. - Вы можете использовать переменную окружения
ROBUST_CVARS, которая использует точку с запятой в качестве разделителя:ROBUST_CVARS=foo.bar=1234;foo.baz=hello there. Вероятно, вы не хотите принимать небезопасный ввод в это, так как это довольно примитивно и не может быть правильно экранировано. - Вы можете указать CVars через несколько переменных окружения с префиксом
ROBUST_CVAR_(обратите внимание на отсутствие множественного числа). Например,ROBUST_CVAR_game__hostname=foobar. Двойное подчёркивание (__) заменяется на..