Archived
1

feat: Файл конфигурации сервера

This commit is contained in:
2024-05-22 15:53:56 +03:00
parent b13ae0dedf
commit 44130caea4
2 changed files with 419 additions and 0 deletions

View File

@@ -11,3 +11,4 @@
build-for-prod build-for-prod
prod-advenced prod-advenced
metrics metrics
server-config

418
source/server-config.rst Normal file
View File

@@ -0,0 +1,418 @@
Файл конфигурации сервера
#########################
Все настройки игрового сервера производятся в файле ``server_config.toml``,
который обычно располагается в корне папки игрового сервера.
.. note::
Здесь перечисленны не все имеющиеся настройки. Более полную информацию
можно получить почитав исходные файлы:
- `Content.Shared/CCVar/CCVars.cs <https://github.com/space-wizards/space-station-14/blob/master/Content.Shared/CCVar/CCVars.cs>`_
- `RobustToolbox/Robust.Shared/CVars.cs <https://github.com/space-wizards/RobustToolbox/blob/master/Robust.Shared/CVars.cs>`_
Кратко про формат TOML
**********************
Формат конфигурационных файлов TOML очень строг к формату значений полей.
- строки (string) записываются в двойных кавычках (``"value"``)
- целые числа (int) записываются как обычно (``10``, ``270``)
- числа с плавающей точкой (float) записываются с обязательным указанием дробной части (``0.0``, ``10.31``)
- булевы значения (bool) имеют только два формата: ``true`` и ``false``
Секции
******
log
===
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - enabled
- boolean
- ``true`` для включения журналирования
* - path
- string
- путь к папке для хранения логов
* - format
- string
- формат именования файлов логов
net
===
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - port
- int
- сетевой порт, на котором будет работать сервер
* - bindto
- string
- | IP сетевого интерфейса, с которого сервер будет доступен.
| Если не указан, сервер будет доступен со всех имеющихся сетевых интерфейсов
game
====
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - hostname
- string
- название сервера. Отображается в лаунчере
* - maxplayers
- int
- | максимальное количество игроков.
| Больше этого числа сервер не впустит **никого**.
| Рекомендуется устанавливать значение больше, чем ``soft_max_players``,
| что бы игровая администрация могла попасть на сервер
* - soft_max_players
- int
- максимальное количество игроков. Отображается в лаунчере
* - desc
- string
- описание сервера. Отображается в лаунчере
* - lobbyenabled
- boolean
- | ``true`` - подключившиеся игроки появляются в лобби.
| ``false`` - подключившиеся игроки появляются сразу на карте с ролью Пассажир
* - lobbyduration
- int
- время в секундах, сколько продолжиться ожидание игроков в лобби перед запуском раунда
* - disallowlatejoins
- boolean
- ``true`` чтобы запретить игрокам подключаться к начатому раунду (только как призраки)
* - maxcharacterslots
- int
- сколько у игрока может быть персонажей
* - role_timers
- boolean
- ``true`` чтобы выбор роли зависил от отыгранного времени на сервере
hub
===
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - advertise
- boolean
- ``true`` для отображения сервера в общем списке серверов
* - server_url
- string
- адрес подключения к серверу. Начинается с ``ss14://``
auth
====
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - mode
- int
- | режим авторизации:
| ``0`` - не обязательно
| ``1`` - обязательно
| ``2`` - не требуется
database
========
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - engine
- string
- | Реализация базы данных.
| Поддерживаются значения: ``sqlite`` и ``postgres``
* - sqlite_dbpath
- string
- | Только при ``engine = "sqlite"``.
| Путь к файлу базы данных.
* - pg_host
- string
- | Только при ``engine = "postgres"``.
| Адрес базы данных.
* - pg_port
- int
- | Только при ``engine = "postgres"``.
| Порт базы данных.
* - pg_database
- string
- | Только при ``engine = "postgres"``.
| Название базы.
* - pg_username
- string
- | Только при ``engine = "postgres"``.
| Логин к базе данных.
* - pg_password
- string
- | Только при ``engine = "postgres"``.
| Пароль к базе данных.
admin
=====
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - announce_login
- boolean
- информировать о входе в игру игроков
* - announce_logout
- boolean
- информировать о выходе из игры игроков
ooc
===
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - enabled
- boolean
- ``true`` для включения чата OOC в раунде
* - enabled_admin
- boolean
- включен ли чат OOC для администрации
vote
====
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - enabled
- boolean
- включить возможность проведения голосований
* - restart_enabled
- boolean
- возможность проголосовать за перезапуск раунда
* - restart_not_allowed_when_admin_online
- boolean
- отключить голосование за перезапуск раунда, если администрация в сети
* - timerrestart
- int
- сколько секунд отводиться на голосование за перезапуск раунда
* - preset_enabled
- boolean
- возможность проголосовать за определённый режим игры
* - timerpreset
- int
- сколько секунд отводиться на голосование за определённый режим игры
* - map_enabled
- boolean
- возможность проголосовать за определённую карту
* - timermap
- int
- сколько секунд отводиться на голосование за карту
* - timeralone
- int
- сколько секунд отводиться на голосование, если на карте один игрок
ban
===
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - hardware_ids
- boolean
- блокировка игрока по "железу"
shuttle
=======
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - cargo
- boolean
- включает/отключает у "карго" шаттлы
* - emergency_enabled
- boolean
- автоматический вызов эвакуационного шаттла, когда раунд по времени скоро должен быть завершен
* - auto_call_time
- int
- через сколько минут после начала раунда будет автоматически вызван эвакуационный шаттл
* - auto_call_extension_time
- int
- через сколько минут после отзыва эвакуационного шаттла, шаттл будет автоматически выщван повторно
* - emergency_early_launch_allowed
- boolean
- возможность отправить эвакуационный шаттл досрочно
* - emergency_dock_time
- float
- сколько секунд даётся членам экипажа на эвакуацию
afk
===
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - time
- float
- через сколько секунд будет считаться, что игрок AFK
rules
=====
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - time
- float
- сколько секунд кнопка принятия правил будет не доступна
ghost
=====
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - role_time
- int
- сколько секунд кнопка подтверждения принятия роли у призрака будет недоступна
infolinks
=========
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - discord
- string
- ссылка на Дискорд сервера. Отображается в лаунчере
* - forum
- string
- ссылка на Форум сервера. Отображается в лаунчере
* - github
- string
- ссылка на Github сервера. Отображается в лаунчере
* - website
- string
- ссылка на Сайт сервера. Отображается в лаунчере
* - wiki
- string
- ссылка на Wiki сервера. Отображается в лаунчере
* - patreon
- string
- ссылка на Patreon сервера. (Сейчас не отображается в лаунчере)
* - bug_report
- string
- ссылка на страницу "баг репортов"
metrics
=======
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - enabled
- boolean
- включение метрик |Prometheus|
* - host
- string
- IP адрес который |Prometheus| будет отслеживать
* - port
- int
- порт который |Prometheus| будет отслеживать
loki
====
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - enabled
- boolen
- включение отправки логов в |Loki|
* - name
- string
- наименование игрового сервера для |Loki|
* - address
- string
- URL адрес сервера |Loki|
whitelist
=========
.. list-table::
:header-rows: 1
* - Параметр
- Тип
- Описание
* - enabled
- boolean
- включение "белого списка"
* - reason
- string
- строка, которая пишется игроку, который не находится в белом списке
.. -----------------------------------------------------------------------------
.. |Prometheus| raw:: html
<a href="https://prometheus.io" target="_blank">Prometheus</a>
.. |Loki| raw:: html
<a href="https://grafana.com/oss/loki/" target="_blank">Loki</a>