Palworld — PalWorldSettings.ini подробно
Базовый конфиг Palworld вы наверняка уже трогали — сменили имя сервера, пароль, может, подняли ExpRate до двойки. Но стоит копнуть глубже, и внутри PalWorldSettings.ini обнаруживается десятки параметров, свалленных в одну строку без переносов, где одна лишняя запятая роняет парсинг всего файла молча, без внятной ошибки в логе. Разбираем этот конфиг подробно: что реально делают множители, как работает время суток, и на чём чаще всего спотыкаются при ручном редактировании.
Содержание
Структура файла: как устроена строка OptionSettings
Формат PalWorldSettings.ini непривычен тем, кто ждёт классический ini с параметром на каждой строке. По факту весь конфиг сервера — один блок:
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,ServerName="Мой сервер",ServerPassword="",PublicPort=8211,ServerPlayerMaxNum=8,DeathPenalty=All,bIsMultiplay=True,bIsPvP=False,AutoSaveSpan=30.000000,BaseCampWorkerMaxNum=15,GuildPlayerMaxNum=20)
Ключевые вещи, которые важно понимать до правки:
- Всё содержимое живёт внутри одной пары круглых скобок
(...)послеOptionSettings=. Параметры разделены запятыми — пропущенная запятая ломает парсинг сильнее, чем лишний пробел. - Строковые значения (
ServerName,ServerPassword,AdminPassword) — в двойных кавычках. Числовые — без кавычек. Булевы —True/False, без кавычек, с заглавной буквы. - Дробные множители в дефолтном конфиге пишутся с шестью знаками после точки (
1.000000). Короткая запись1.5обычно тоже съедается парсером, но лучше держать формат как в оригинале — так меньше шансов словить каприз конкретной сборки движка. - Файл лежит по пути
Pal/Saved/Config/LinuxServer/PalWorldSettings.iniна Linux иPal\Saved\Config\WindowsServer\PalWorldSettings.iniна Windows. Если правите не тот файл (например, случайно открылиDefaultPalWorldSettings.ini-шаблон) — изменения просто не применятся.
Если сервер ещё не поднимали и файла нет — запустите его один раз, чтобы конфиг сгенерировался сам, и только потом редактируйте (подробно про первый запуск — в статье про установку сервера Palworld).
Множители опыта, сбора и приручения
Основные параметры, которыми задаётся темп прогресса:
ExpRate=1.000000
PalCaptureRate=1.000000
PalSpawnNumRate=1.000000
CollectionDropRate=1.000000
CollectionObjectRespawnSpeedRate=1.000000
EnemyDropItemRate=1.000000
WorkSpeedRate=1.000000
ItemWeightRate=1.000000
ExpRate— множитель опыта за любое действие, дающее XP.PalCaptureRate— множитель шанса поймать пала в сферу. Это множитель к базовой вероятности, а не гарантия поимки — на боссах и редких палах эффект от повышения заметен сильнее, чем на рядовых.PalSpawnNumRate— плотность спавна диких палов на карте. Ниже значение — меньше нагрузка на CPU и меньше "мусорных" спавнов рядом с базами, но и добывать редких палов дольше.CollectionDropRate— количество ресурсов с одного объекта сбора (дерево, камень, руда).CollectionObjectRespawnSpeedRate— скорость, с которой респавнятся вырубленные деревья и выбитые залежи. Полезно поднять на маленьком сервере, где ресурсы вычищают быстрее, чем они успевают восстановиться.EnemyDropItemRate— множитель лута с убитых врагов.WorkSpeedRate— скорость выполнения рабочих задач палами на базе.ItemWeightRate— множитель веса предметов в инвентаре: чем ниже значение, тем меньше "весят" вещи и тем больше можно унести до перегруза.
Три ориентировочные комбинации (не официальные пресеты, а рабочая практика — подстраивайте под свою группу):
| Профиль | ExpRate | PalCaptureRate | CollectionDropRate |
|---|---|---|---|
| Ванильный | 1.0 | 1.0 | 1.0 |
| Казуальный для друзей | 2.0-3.0 | 2.0 | 2.0 |
| Марафон / хардкор | 0.5-0.8 | 1.0 | 1.0 |
Не задирайте ExpRate выше 5-8 без причины — на некоторых билдах игры это ломает баланс уровней так, что противники позднего этапа становятся тривиальными уже через пару часов, и часть контента теряет смысл.
Поднять сервер Palworld за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверDayTimeSpeedRate и течение времени суток
DayTimeSpeedRate=1.000000
NightTimeSpeedRate=1.000000
Оба параметра — множители к скорости течения игрового времени, отдельно для дня и для ночи. Логика обратная интуиции новичков: чем выше значение, тем быстрее летит время — то есть день или ночь длится короче.
Практический смысл разделения дня и ночи на два параметра:
NightTimeSpeedRateвышеDayTimeSpeedRate(например, день0.8, ночь2.0) — классическая связка для PvE-серверов: ночь короче и проходит быстрее, меньше времени игроки проводят в темноте с урезанной видимостью и более опасными спавнами, а дневная часть, где идёт основная стройка, остаётся комфортно длинной.- Оба ниже 1.0 — замедленный, более атмосферный цикл суток.
- Оба выше 1.0 — ускоренный цикл, подходит серверам, где важна частая смена дня и ночи.
Слишком высокое значение (выше 3-4) может сделать смену освещения резкой и странно выглядящей визуально — это не баг конфига, а следствие того, что переход освещения не масштабируется вместе со скоростью тика времени. Тестируйте перед тем, как зафиксировать нестандартные значения надолго.
Урон, голод и восстановление
PlayerDamageRateAttack=1.000000
PlayerDamageRateDefense=1.000000
PalDamageRateAttack=1.000000
PalDamageRateDefense=1.000000
PlayerStomachDecreaceRate=1.000000
PlayerStaminaDecreaceRate=1.000000
PlayerAutoHPRegeneRate=1.000000
PlayerDamageRateAttack— множитель урона, который наносит игрок.PlayerDamageRateDefense— множитель урона, который получает игрок (несмотря на слово "Defense", это множитель входящего урона, а не защиты). Та же логика зеркально уPalDamageRateAttack/PalDamageRateDefense, только применительно к палам.PlayerStomachDecreaceRateиPlayerStaminaDecreaceRate— скорость истощения голода и стамины. Ниже значения — реже нужно есть и отдыхать, их часто снижают на казуальных серверах, чтобы механика выживания не мешала основному геймплею.PlayerAutoHPRegeneRate— скорость естественной регенерации здоровья.
Отдельно — штраф за смерть:
DeathPenalty=All
Варианты: None (ничего не теряется), Item (только предметы из инвентаря), ItemAndEquipment (плюс экипировка) и All (плюс палы на руках в момент смерти). Для нового сервера с друзьями Item или None заходят мягче — All довольно быстро выбешивает тех, кто ещё не привык к боевой системе. Для честного PvP связку Attack/Defense обычно оставляют на 1.0 с обеих сторон и настраивают баланс другими средствами, а не искажением урона.
Лимиты баз, гильдий и типичные опечатки в синтаксисе
BaseCampMaxNum=128
BaseCampWorkerMaxNum=15
GuildPlayerMaxNum=20
PalEggDefaultHatchingTime=72.000000
BaseCampMaxNum — максимум баз одновременно на всём сервере (суммарно, не на игрока). BaseCampWorkerMaxNum — максимум палов-работников на одной базе; прямо влияет на нагрузку ИИ-симуляции и уже разбирался как рычаг снижения RAM в статье про чрезмерное потребление памяти сервером. GuildPlayerMaxNum — максимальный размер гильдии; на сервере для друзей часто ставят равным ServerPlayerMaxNum. PalEggDefaultHatchingTime — время вылупления яйца в игровых часах при дефолтной скорости времени.
Сломанный OptionSettings=(...) — самая частая причина, по которой правки "не применились": при ошибке синтаксиса сервер тихо откатывается к дефолту, без явной ошибки в консоли. Где чаще всего теряют скобку или запятую:
- Лишняя или пропущенная запятая между параметрами — классика при вставке скопированной строки в середину блока.
- Незакрытая или лишняя скобка
)— ломает парсинг всей строки целиком, теряются все настройки разом, не одна. - Строка без кавычек там, где они нужны.
ServerName=Мой сервербез кавычек парсится некорректно, если в названии есть пробел — обязательноServerName="Мой сервер". - Неверный регистр в булевых значениях. Правильно
True/Falseс заглавной буквы —true/TRUEне всегда корректно распознаётся парсером Unreal Engine. - Правка файла на запущенном сервере. Останавливайте сервис перед правкой — иначе есть риск, что изменения потеряются при внутренней перезаписи процесса.
- Кодировка с BOM. Если редактируете через Windows-редактор, сохраняйте в UTF-8 без BOM — невидимый символ в начале файла иногда ломает парсинг.
Практика для безопасной правки: перед редактированием сделайте копию (cp PalWorldSettings.ini PalWorldSettings.ini.bak), меняйте параметры по одному при первой настройке, после сохранения перезапускайте сервер и сразу смотрите журнал:
sudo systemctl restart palworld
journalctl -u palworld -f
Если после рестарта настройки в игре выглядят как дефолтные, хотя вы их меняли — почти наверняка синтаксическая ошибка откатила парсинг. Сверьте файл построчно с резервной копией .bak, чтобы найти разницу. Регулярные бэкапы самого конфига (а не только сейвов мира) стоит включить в общую схему резервного копирования — подробнее в статье про автобэкапы игрового сервера.
Поднять сервер Palworld за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Применяются ли изменения конфига без перезапуска сервера?
Нет, PalWorldSettings.ini читается один раз при старте процесса. Любая правка требует полного рестарта сервиса — горячей подгрузки конфига в игре нет.
Как узнать полный актуальный список параметров OptionSettings?
Надёжнее всего смотреть сгенерированный сервером файл после первого запуска: там перечислены все доступные на текущей версии игры параметры со значениями по умолчанию. Список меняется от патча к патчу, ориентируйтесь на свой файл, а не на устаревший гайд.
Можно ли ставить множители дробными числами меньше 0.1 или больше 10?
Парсер не запрещает экстремальные значения, но очень низкие или очень высокие множители часто ломают внутренний баланс игры непредсказуемо. Двигайтесь небольшими шагами и проверяйте результат перед следующим повышением.
Почему после правки конфига сервер стал падать чаще?
Если это совпало с изменением параметров лимитов (BaseCampWorkerMaxNum, PalSpawnNumRate), дело скорее в возросшей нагрузке на CPU/RAM, а не в самой правке ini — если похоже на нехватку памяти, смотрите чрезмерное потребление памяти сервером.
Разные значения DeathPenalty можно задать для разных игроков?
Нет, это глобальная настройка сервера на всех сразу — персональных исключений через конфиг не предусмотрено.