NeoForge и MinecraftForge синхронизируют всё содержимое всех «серверных конфигураций» с клиентом. Поскольку это не очевидно из названия, некоторые моды начали помещать в эти конфиги секретные значения, например, токены Discord-ботов. Если вы запускаете сервер с использованием мода, имеющего эту проблему, это позволяет любому пользователю, который может присоединиться к вашему серверу, получить доступ к этим значениям. Данный мод предотвращает это, удаляя чувствительные значения перед отправкой конфигурации клиенту.
Версии
Поскольку этот мод охватывает широкий спектр версий Minecraft и два загрузчика модов, схема версионирования несколько сложна. Используйте таблицу ниже, чтобы определить правильную версию для вашего загрузчика и версии Minecraft.
| Загрузчик | Версия Minecraft | Суффикс версии мода |
|---|---|---|
| MinecraftForge | 1.13.2 - 1.16.5 | -1.13.2 |
| MinecraftForge | 1.17.x - 1.20.1 | -1.17.1 |
| NeoForge | 1.20.1 | -1.17.1 |
| MinecraftForge | 1.20.2+ | -1.20.2-mcf |
| NeoForge | 1.20.2 - 1.20.5 | -1.20.2-neo |
| NeoForge | 1.21.0+ | -1.21.0-neo |
Как это работает
Этот мод работает в два этапа: Сначала, во время запуска, он обнаруживает параметры конфигурации, которые потенциально содержат конфиденциальную информацию. Поскольку это делается с помощью очень грубой эвристики, найденные параметры должны быть вручную классифицированы в файле конфигурации config/serverconfigcleaner-common.toml:
- Большинство из них будут ложными срабатываниями — безобидными параметрами, которые случайно соответствуют эвристике. Например, параметр
logistics.seatHostileMobsв моде Create будет помечен как потенциально чувствительный, поскольку он содержит строкуHost. Эти значения конфигурации должны быть добавлены в списокfalsePositives. - Некоторые из них могут быть параметрами, содержащими реальные конфиденциальные значения. Эти параметры должны быть добавлены в список
doNotSyncв том же формате, например:doNotSync = ["mymod:discord.token"].
Для продолжения запуска все найденные значения должны быть классифицированы в конфигурации ServerConfigCleaner. Мод поставляется со списком известных ложных срабатываний и известных «проблемных» параметров (последние — не в открытом виде). Поэтому обычно на этом этапе вам не нужно ничего делать. Если вам нужно добавить значения вручную, см. ниже информацию о том, как добавить их в списки по умолчанию.
На втором этапе мод перехватывает синхронизацию конфигурации на сервере. Если параметр был помечен как чувствительный в конфигурации после первого этапа, его значение будет заменено значением по умолчанию перед синхронизацией с клиентом. Поскольку значение по умолчанию для чувствительных параметров обычно является бессмысленной константой, предоставленной разработчиком (например, INSERT BOT TOKEN HERE), его можно отправить клиенту, не раскрывая секретной информации.
Сообщение о пропущенных значениях
Если вы столкнулись с ложными срабатываниями, которых нет в списке по умолчанию в конфигурации, создайте issue, перечислив их.
Если вы найдете какие-либо параметры серверной конфигурации, которые содержат конфиденциальную информацию и не входят в набор чувствительных параметров по умолчанию, пожалуйста, не создавайте issue с этими параметрами. Вместо этого, пожалуйста, свяжитесь с malte0811 (Discord: malte0811; электронная почта доступна в профиле GitHub) или ThatGravyBoat (Discord: thatgravyboat).
