Моды для Don't Starve Together на выделенном сервере устанавливаются в два шага: сначала ты даёшь серверу скачать нужные Workshop-моды по их ID, а затем включаешь и настраиваешь их в подходящем файле modoverrides.lua. Важно обрабатывать шарды Master и Caves раздельно и после каждого изменения проверять перезапуск.
Требования
Тебе нужен доступ к конфигурационным файлам твоего сервера Don't Starve Together, а перед внесением изменений сервер нужно остановить. На game-serverhosting разумный порядок действий такой: отредактировать файлы, сохранить изменения, перезапустить сервер, проверить лог и только потом добавлять новые моды. Так будет понятно, какой мод отвечает за проблемы.
Официальный источник по работе выделенного сервера — руководство Klei на форуме разработчика: документация на forums.kleientertainment.com. Для модов также важна страница соответствующего мода в Steam Workshop, потому что там указаны автор мода, Workshop-ID, зависимости и пометки об использовании на сервере или клиенте.
Если ты только настраиваешь сам сервер, тебе подойдёт наше внутреннее руководство Аренда и настройка сервера Don't Starve Together. Для похожих процессов работы с модами в других играх хорошими примерами служат Установка модов Factorio на сервер и Установка модов V Rising с BepInEx.
Поиск Workshop-ID
У каждого мода из Steam Workshop есть числовой ID. Ты найдёшь его в URL страницы Workshop, обычно в значении после id=. Пример: в URL вида steamcommunity.com/sharedfiles/filedetails/?id=378160973 Workshop-ID — это 378160973.
Записывай только те моды, которые ты действительно хочешь использовать на сервере. Многие удобные моды чисто клиентские и не относятся к конфигурации сервера. Другие моды меняют мир, баланс, интерфейс или инвентарь и должны быть включены на стороне сервера. Поэтому всегда проверяй описание мода и примечания автора.
Настройка модов через Workshop
Впиши моды, которые должен скачать сервер, в файл dedicated_server_mods_setup.lua. Этот файл — список загрузки. Он ещё не включает моды в твоём мире, а лишь обеспечивает, чтобы выделенный сервер знал о содержимом Workshop.
-- Моды, которые нужно скачать
ServerModSetup("378160973") -- Global Positions
ServerModSetup("462434129") -- Wormhole Marks
ServerModSetup("458587300") -- Season Clock
ServerModSetup("375850593") -- Extra Equip Slots
Следи за корректными кавычками, лишними пробелами в ID и дублирующимися записями. Комментарии после строк полезны: так позже сразу видно, какой ID принадлежит какому моду.
Включение и настройка модов
Моды включаются в modoverrides.lua. Этот файл определяет, какие скачанные Workshop-моды активны в мире. Если на сервере есть Caves, конфигурация нужна и для Master, и для Caves, так как у обоих шардов могут быть свои настройки.
В modoverrides.lua (для Master и Caves):
return {
["workshop-378160973"] = { enabled = true },
["workshop-462434129"] = { enabled = true }
}
Добавляй configuration_options только с заведомо допустимыми ключами из мода или из конфигурации, созданной игрой; выдуманное название опции никакую функцию не включит.
Ключ состоит из workshop- и Workshop-ID. enabled = true включает мод. Если мод поддерживает собственные опции, их нужно указывать в configuration_options. Какие опции допустимы, в общем виде не определено и зависит от конкретного мода. Поэтому используй только те опции, которые встречаются в описании Workshop, в имеющихся примерах конфигурации или в конфигурации, созданной игрой.
Популярные моды
В следующей таблице сохранены имеющиеся примеры модов. Это не список рекомендаций с обещаниями по производительности или стабильности, а практичная отправная точка для часто используемых типов модов.
| Мод | Workshop-ID | Описание |
|---|---|---|
| Global Positions | 378160973 | Видеть игроков на карте |
| Wormhole Marks | 462434129 | Отметки на червоточинах |
| Geometric Placement | 351325790 | Точное размещение |
| Extra Equip Slots | 375850593 | Больше слотов экипировки |
| Health Info | 375859599 | Отображение HP мобов |
Добавляй новые моды по одному и тестируй после каждого перезапуска. Особенно моды, которые меняют инвентарь, бой, генерацию мира или интерфейс, могут влиять друг на друга. Поэтапный подход при конфликтах заметно экономит время.
Клиентские и серверные моды
- Серверные моды: должны быть установлены на сервере
- Клиентские моды: должны быть установлены у игрока
- Двусторонние: должны быть установлены и там, и там
При двусторонних модах клиент может загрузить необходимое содержимое при подключении. По популярности или названию мода нельзя определить, где его нужно устанавливать. Тем не менее не стоит считать, что любой мод заработает без дополнительных действий. Некоторым модам требуются определённые настройки клиента, а другие предназначены только для локальных удобств и не должны попадать в файлы сервера.
Проверка результата
Перезапусти сервер после изменений и понаблюдай за процессом запуска. Чистая проверка состоит из трёх частей: сервер запускается без ошибок Lua, мир доступен, и игрок может подключиться, не застревая в цикле загрузки модов или ошибок.
Затем проверь в игре, действительно ли нужная функция активна. Например, для Global Positions посмотри, отображаются ли позиции игроков на карте, как ожидалось. Для Caves дополнительно проверь переход между поверхностью и пещерами, так как ошибка часто видна только в одном шарде.
Устранение неполадок
- Моды не загружаются: проверь Workshop-ID
- Сбой: отключай моды по одному
- Моды для Caves:
modoverrides.luaв ОБЕИХ папках шардов!
При ошибках запуска сохрани состояние кластера и конфигурации обоих шардов. Проверяй отключение последних изменённых контентных модов на копии мира, чтобы последующее сохранение не перезаписало отсутствующие данные модов безвозвратно. Прочитай первое сообщение об ошибке Lua в логах Master и Caves. Руководство Klei по сбору данных об ошибках поможет тебе сохранить подходящие логи для диагностики. Если ошибка остаётся, проверь также dedicated_server_mods_setup.lua, особенно скобки, кавычки и запятые в таблицах Lua.
Если игроки зависают при подключении, возможно, мод устарел, отсутствует зависимость или требуется клиентский компонент. Тогда открой страницу мода в Workshop и проверь примечания автора. Если новых модов несколько, не отключай их все навсегда, а в ходе теста делй список пополам, пока не определишь виновника.
При проблемах с Caves самая частая причина — разная конфигурация шардов Master и Caves. Не копируй настройки вслепую, а проверь, предназначен ли мод для обоих шардов. Моды генерации мира часто относятся к другой категории, чем чисто интерфейсные или удобные моды.
FAQ
Нужно ли перезапускать сервер после каждого изменения модов?
Да. Изменения в dedicated_server_mods_setup.lua и modoverrides.lua надёжно вступают в силу только после перезапуска сервера.
Куда вписывать Workshop-ID?
Чистый список загрузки идёт в dedicated_server_mods_setup.lua. Включается мод затем в modoverrides.lua через ключ workshop-ID, например workshop-378160973.
Нужен ли такой же modoverrides.lua для Caves?
Если на твоём сервере используется Caves, нужно учитывать конфигурацию модов для обоих шардов. Во многих настройках требуется один modoverrides.lua в папке Master и ещё один в папке Caves.
Скачивают ли игроки серверные моды автоматически?
При многих двусторонних модах клиент автоматически загружает нужное содержимое при подключении. Но это не заменяет проверку того, актуален ли мод, подходит ли он серверу и нет ли дополнительных указаний автора мода.
Что делать, если мод приводит к сбою сервера?
Сначала проверь последний добавленный мод на копии мира, имея прежнюю конфигурацию как путь отката. Если одновременно было изменено несколько модов, проверяй их по одному или небольшими группами, пока не станет ясен конфликт.