Перейти к содержимому

Дата-файлы ​

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

Где хранятся дата-файлы? ​

Дата-файлы плагинов лежат в папке carbon/data. Обычно плагин создаёт там свой файл в формате .json. Сложные плагины могут создавать несколько файлов, отдельную папку или даже отдельный файл для каждого игрока.

Файлы прав

В этой же папке Carbon хранит группы и права игроков: файлы oxide.users.data и oxide.groups.data. Это не JSON, открывать и редактировать их вручную нельзя. Для работы с правами используйте команды из статьи разрешения.

Какие бывают структуры ​

  1. Простой дата-файл, например у плагина Vanish:
txt
carbon
 ├── configs
 ├── data
 │   └── VanishPlayers.json
 ├── lang
 ├── logs
 └── plugins
  1. Дата-файлы в отдельной папке. Например, плагин IQChat из набора IQSystem хранит данные игроков и модераторов в своей папке:
txt
carbon
 └── data
     └── IQSystem
         └── IQChat
             ├── UserInfo.json
             └── Moderators.json
  1. Дата-файлы вместе с другими файлами, например изображениями:
txt
carbon
 └── data
     └── IQSystem
         └── IQChat
             ├── Images
             │   ├── Icon.png
             │   └── Background.png
             ├── UserInfo.json
             └── Moderators.json

Это самые распространённые варианты.

Что внутри дата-файла? ​

Дата-файл - это хранилище плагина. Обычно администратор его не трогает: одна ошибка в синтаксисе, и можно потерять все сохранённые данные.

Дата-файлы бывают разными. Простой дата-файл:

json
{
  "76561198000000000": 5,
  "76561198000000001": 12
}

Более сложная структура:

json
{
  "76561198000000000": {
    "Info": {
      "Prefix": "<color=#CC99FF>[PLAYER]</color>",
      "ColorNick": "#0099FF",
      "ColorMessage": "#eee",
      "Rank": "",
      "CustomColorNick": null,
      "CustomColorMessage": null,
      "PrefixList": []
    },
    "Settings": {
      "TurnPM": true,
      "TurnAlert": true,
      "TurnBroadcast": true,
      "TurnSound": true,
      "IgnoreUsers": []
    },
    "MuteInfo": {
      "TimeMuteChat": 0.0,
      "TimeMuteVoice": 0.0
    }
  }
}

Как изменить или очистить дата-файл ​

Если вы всё же решили изменить данные или удалить один или несколько файлов, обязательно выполните шаги по порядку:

  1. Выгрузите плагин: c.unload PluginName
  2. Сделайте резервную копию дата-файлов.
  3. Внесите изменения, проверьте синтаксис JSON и сохраните файл.
  4. Загрузите плагин: c.load PluginName

Очень важно!

Перед правкой плагин должен быть выгружен. Пока плагин работает, он держит данные в памяти и при сохранении записывает их в файл. Если править файл при работающем плагине, он перезапишет ваши изменения или вернёт удалённый файл.

TIP

Резервная копия дата-файлов сэкономит много времени и сохранит данные ваших игроков!

Опубликовано под лицензией MIT.
Данный проект не является официальной документацией Facepunch/Rust.
Это общественная база знаний, созданная для удобства администраторов и игроков.