Большинство игровых серверов масштабируются по числу игроков. Palworld масштабируется по палам. Каждое существо на каждой базе, работающее или простаивающее, пойманное или хранящееся, симулируется независимо от того, стоит ли кто-нибудь рядом, - и поэтому сервер Palworld на четырёх игроков может использовать больше памяти, чем сервер Minecraft на двадцать, и поэтому подбор по числу игроков каждый раз даёт неверный ответ.
Коротко: 8 ГБ - честный минимум для небольшой группы после первых часов игры, 10-12 ГБ хватает развитому серверу на четверых-восьмерых, а полному лобби со зрелыми базами нужно 14 ГБ и больше. Ниже 8 ГБ сервер Palworld не работает плохо. Он прекрасно работает вечер, а потом останавливается, и это хуже, потому что выглядит так, будто сломалось что-то другое.
Почему Palworld масштабируется по палам, а не по игрокам#
Выделенный сервер Palworld - это сборка на Unreal Engine 5, которая держит в памяти весь обитаемый мир. Аналога выгрузки чанков, как в Minecraft, для тех вещей, что имеют значение, нет: лагерь базы с пятнадцатью палами, работающими непрерывно, - это пятнадцать активных ИИ-агентов с инвентарями, выносливостью, рассудком, назначенными работами и поиском пути, и они остаются всем этим, пока их владелец спит, не в сети или не заходил две недели.
Ранжируя по реальной стоимости:
- Палы на базах. Самое крупное слагаемое. В каждой гильдии может быть несколько лагерей, в каждом лагере - состав рабочих, и каждый из этих палов симулируется по производству, голоду и состоянию круглые сутки.
- Хранилище палов. Хранимые палы не бесплатны. В хранилище лежит всё, что игрок когда-либо поймал, а не рабочее подмножество, и игроки ничего не удаляют.
- Постройки. Каждая стена, конвейер, сундук и производственное здание - это объект с состоянием. Большие базы обходятся дороже, чем предполагает их площадь, потому что производственные цепочки тикают.
- Выпавшие предметы. На загруженном сервере слагаемое на удивление большое. Предметы на земле сохраняются, пока не истечёт срок, а лимит по умолчанию исчисляется тысячами.
- Игроки. Самое маленькое слагаемое в уравнении, с большим отрывом.
Если ваш сервер замедляется за недели, а не за минуты, смотрите на то, сколько существует палов, а не на то, сколько людей онлайн.
Это же объясняет, как проблема выглядит во времени. Новый мир дёшев. Тот же мир после месяца серьёзной игры четверых - три гильдии, десяток лагерей, несколько сотен хранимых палов - это другой сервер с тем же названием, и памяти ему нужно больше, чем в первый день, хотя ни один новый игрок не зашёл.
Сколько памяти на самом деле нужно серверу Palworld#
| Сервер | RAM | vCPU | Примечания |
|---|---|---|---|
| 2-4 игрока, первая неделя | 8 ГБ | 2 | Комфортно, пока базы небольшие |
| 4-8 игроков, развитые базы | 10-12 ГБ | 2-3 | Типичный долгоживущий случай |
| 8-16 игроков, несколько гильдий | 12-16 ГБ | 3+ | Число лагерей важнее числа людей |
| 20-32 игрока | 16 ГБ и больше | 4+ | Больше, чем рассчитан общий игровой тариф |
Два ориентира к этой таблице. Собственные рекомендации Pocketpair по выделенному серверу требуют заметно больше, чем продаёт большинство хостеров, - порядка 16 ГБ, - и это показывает направление, хотя на практике 8-12 ГБ вполне справляются с настоящим сервером. А значение 32 в ServerPlayerMaxNum - это жёсткий предел, а не рекомендация: по-настоящему полный мир на 32 игрока с базами на тридцать два человека - работа для отдельной машины, а не для общего тарифа. Если вы движетесь туда, то честный ответ - наши выделенные серверы, а не старший игровой тариф.
Тарифы Palworld у RE:NODE начинаются с 8 ГБ и доходят до 14 ГБ, от $19 в месяц, потому что всё, что меньше 8 ГБ, - это сервер, который работает, пока не перестанет. Переход на тариф выше меняет лимит на уже имеющемся сервере, так что мир остаётся на месте; графики, по которым видно, что пора, разобраны в статье когда пора менять тариф.
Настройки, которые задают потолок памяти#
Конфигурация Palworld - это один файл: Pal/Saved/Config/LinuxServer/PalWorldSettings.ini на Linux, а на Windows WindowsServer вместо LinuxServer. При первом запуске он создаётся пустым, и рабочий метод - скопировать в него содержимое DefaultPalWorldSettings.ini из корня установки и править оттуда.
[/Script/Pal.PalGameWorldSettings]OptionSettings=(Difficulty=None,ServerPlayerMaxNum=16,GuildPlayerMaxNum=8,BaseCampMaxNumInGuild=3,BaseCampWorkerMaxNum=12,DropItemMaxNum=1500,DropItemAliveMaxHours=1.000000,AutoSaveSpan=180.000000,AutoResetGuildNoOnlinePlayers=True,AutoResetGuildTimeNoOnlinePlayers=168.000000,ServerName="Longship",AdminPassword="...",RCONEnabled=True,RCONPort=25575)Настройки, которые действительно меняют потребление памяти, в отличие от десятков тех, что меняют ощущение от игры:
| Настройка | По умолчанию | Влияние на память |
|---|---|---|
ServerPlayerMaxNum | 32 | Предел, а не цель. Снизьте до того числа, которое реально будет |
GuildPlayerMaxNum | 20 | Размер гильдии; большие гильдии концентрируют базы |
BaseCampMaxNumInGuild | 4 | Лагерей на гильдию. Самый большой отдельный рычаг |
BaseCampWorkerMaxNum | 15 | Палов на лагерь. Умножайте на строку выше |
DropItemMaxNum | 3000 | Предметов на земле одновременно. Сокращение вдвое - бесплатная производительность |
DropItemAliveMaxHours | 1 | Как долго выпавшие предметы сохраняются |
AutoResetGuildNoOnlinePlayers | False | Удаляет базы гильдий, в которые никто не заходил |
AutoResetGuildTimeNoOnlinePlayers | 72 | Часов до этого |
Арифметику стоит проделать один раз. При значениях по умолчанию гильдия из двадцати игроков может держать четыре лагеря по пятнадцать рабочих, то есть шестьдесят постоянно симулируемых палов на гильдию, ещё до того, как кто-то откроет хранилище палов. Три такие гильдии - это 180 палов, и это сервер, а не игроки. Если снизить BaseCampMaxNumInGuild до трёх, а BaseCampWorkerMaxNum до двенадцати, те же три гильдии дадут 108 - на треть меньше работы, и большинство игроков этого не заметят, потому что четвёртый лагерь обычно заброшен.
AutoResetGuildNoOnlinePlayers - настройка, которую никто не включает и которую стоит рассмотреть всем. Публичный сервер накапливает гильдии, которые поиграли один вечер в марте и оставили лагерь, который с тех пор симулируется. Поставьте щедрый таймер - неделю вместо трёх суток по умолчанию, - и сервер будет убирать за теми, кто не вернётся. На частном сервере для друзей оставьте выключенным и смиритесь с расходом.
Учтите, что названия ключей и значения по умолчанию менялись от сборки к сборке, а поздние патчи добавили серверные лимиты, которых не было в ранних. Авторитетный список для вашей версии - это DefaultPalWorldSettings.ini в вашей установке, а не руководство. Остальную часть файла - множители, сложность, штраф за смерть, разведение, то есть всё, что определяет, как игра ощущается, а не сколько она стоит, - разбирает руководство по настройкам Palworld.
Параметры запуска и что они делают#
$ ./PalServer.sh -port=8211 -queryport=27015 -players=16 \ -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDSПоследние три аргумента - это стандартная тройка, и их стоит понимать, а не копировать. -useperfthreads и -UseMultithreadForDS переносят больше работы выделенного сервера на дополнительные потоки, а -NoAsyncLoadingThread переносит загрузку ресурсов в основной поток вместо фонового. Вместе они обычно улучшают ровность кадров на сервере, у которого есть несколько ядер, а у большинства они есть. Потребление памяти они не снижают, и ничто в строке запуска не снизит: память - функция того, сколько мира существует.
На установке под Linux вы также встретите проблему steamclient.so, когда сервер запускается и сразу завершается с ошибкой инициализации Steam:
$ mkdir -p ~/.steam/sdk64$ cp ./linux64/steamclient.so ~/.steam/sdk64/Выделенный сервер - это app id 2394010 в SteamCMD, и скачивается он анонимно. На панельном хостинге оба эти шага уже выполнены, а аргументы запуска - это поля на вкладке Startup.
| Порт | Протокол | Назначение |
|---|---|---|
8211 | UDP | Игровой трафик |
27015 | UDP | Запрос Steam, чтобы сервер появлялся в списке |
25575 | TCP | RCON, при RCONEnabled=True |
8212 | TCP | REST API, при RESTAPIEnabled=True |
RCON и REST API стоит включить на сервере, который вам дорог, потому что именно через них вы сохраняете мир, делаете объявления и выгоняете игроков без клиента: см. админ-команды Palworld и RCON.
Сохранения, раздувание сейва и медленный упадок#
Мир живёт в Pal/Saved/SaveGames/0/<WorldID>/. Level.sav - это весь мир в одном файле, и именно он важен: каждая база, каждый пал, каждый сундук. В Players/ лежит по небольшому файлу на игрока, а LevelMeta.sav и WorldOption.sav хранят метаданные.
Level.sav растёт, и растёт быстрее, чем кажется по росту мира, потому что хранит то, чего мир вам уже не показывает. Долго работающий сервер может дойти до сотен мегабайт, и от этого зависят и время запуска, и резидентная память. Когда сервер, который в первый месяц был в порядке, на третий месяц запускается четыре минуты, причина - файл сохранения.
- `AutoSaveSpan` по умолчанию равен 30 секундам. В большом мире такая частая запись
Level.savвызывает заметный рывок каждые полминуты. Повышение до 180 или 300 сглаживает игру ценой потери до стольких секунд при сбое. На сервере с частыми перезапусками держите значение низким; на стабильном - повышайте. - `bIsUseBackupSaveData` хранит скользящие копии рядом с сохранением. Они защищают от повреждённой записи, а не от удалённого сервера: они лежат на том же диске, что и то, что защищают.
- `WorldOption.sav` - ловушка при переносе мира из кооперативной сессии. Если он есть, он может переопределить ваш
PalWorldSettings.ini, и поэтому перенесённый мир игнорирует все настройки, которые вы старательно вписали. Удалите его и настраивайте сервер только через ini.
Другая половина упадка - аптайм. Потребление памяти сервером Palworld росло при долгой работе почти всю его жизнь: патч за патчем становилось лучше, но так и не исправлялось. Перезапуск каждые двенадцать-двадцать четыре часа - обычная практика, и он ничего не стоит в игре, где никто не играет двадцать четыре часа подряд. Как сделать это, не раздражая тех, кто в этот момент на сервере, описано в статье расписания перезапусков, которые помогают.
CPU, диск и остальная картина подбора ресурсов#
Память привлекает внимание, но это не единственное, что нужно выбрать правильно.
- CPU. У сервера один тяжёлый поток и рабочие. Тактовая частота важнее числа ядер, но два ядра - настоящий минимум, а три - комфорт на шестнадцати игроках, потому что потокам, которые включают флаги запуска, нужно где-то работать. Сервер, упёршийся в лимит CPU, медленный, а не сломанный; как понять, какое из двух реально является ограничением, прежде чем платить за любое, разобрано в статье CPU или RAM для игровых серверов.
- Диск. Установка скромная, а сохранение рядом с ней невелико. Важно то, что сохранения частые и крупные, поэтому медленное хранилище проявляется рывком каждые
AutoSaveSpanсекунд, а не нехваткой места. - Сеть. При таких числах игроков не ограничение. Трафик Palworld на игрока ничем не примечателен; если сервер работает плохо, причина в памяти или CPU.
- Число игроков как показатель. Плохой показатель. Общий довод приведён в статье сколько игроков помещается на сервер; Palworld - самый яркий пример этого в каталоге.
Перезапуски, backup и нехватка памяти#
Нехватка памяти в контейнере ведёт себя не так, как на ПК. На RE:NODE сервер, достигший лимита, останавливается ядром и чисто перезапускается, а не уходит в swap, что сохраняет здоровье ноды и не даёт одному серверу тянуть вниз остальные. Для Palworld отсюда следует конкретное: остановка не является корректным завершением, поэтому вы теряете всё, что произошло после последнего автосохранения. Это ещё один довод не держать зрелый мир на самом маленьком тарифе, на котором он технически загружается.
Наблюдатель, который это замечает, тоже стоит того, чтобы о нём знать. Сервер, который несколько раз падает и поднимается, вызывает предупреждение и автоматический тикет, а не тихо крутится в цикле: как читать этот шаблон, описано в статье почему ваш игровой сервер постоянно перезапускается, а как увидеть его заранее - в статье как читать график нагрузки сервера.
Делайте backup мира перед каждым обновлением игры и перед любым изменением ini, в котором вы не уверены. Слоты backup входят в каждый тариф, копии хранятся вне машины, которую защищают, а восстановление - одна кнопка. Мир Palworld - это один большой файл и одна папка мелких, поэтому восстановление быстрое, а повреждение полное: частичного восстановления Level.sav нет. Довод в пользу того, чтобы проверить восстановление до того, как оно понадобится, приведён в статье бэкапы, которые действительно восстанавливаются.
Устранение неполадок#
Сервер останавливается через несколько часов, а в логе ничего нет. Память. Контейнер на лимите убивают, а не предупреждают, поэтому лог обрывается на середине строки. Посмотрите на график памяти: рост, оканчивающийся вертикальным падением.
Память на 90%, и всё в порядке. Это может быть нормой. Важна динамика за дни и то, возвращается ли она вниз после перезапуска. Ровные 90% - это тариф, который подходит; 90%, которые неделю назад были 60%, - это тариф, которому вот-вот перестанет хватать.
Настройки в ini ничего не делают. Либо в OptionSettings есть перенос строки, либо их переопределяет WorldOption.sav, либо вы правили файл в корне установки, а не тот, что лежит в Pal/Saved/Config/. Именно в таком порядке вероятности.
Сервер запускается минутами. Вырос Level.sav. Для зрелого мира это ожидаемо, для нового - тревожно, и обычно означает, что сохранение читается с медленного хранилища.
Игроки видят сервер, но не могут зайти. Query-порт открыт, а игровой нет. Оба порта, 8211 и 27015, - UDP, и нужны оба.
Всё дёргается каждые тридцать секунд. AutoSaveSpan остался по умолчанию в мире, который его перерос. Увеличьте его.
FAQ#
Сколько RAM нужно серверу Palworld?
Восемь гигабайт - рабочий минимум для небольшой группы, 10-12 ГБ - для развитого сервера на четверых-восьмерых игроков, а 14 ГБ и больше - когда есть несколько гильдий со зрелыми базами. Ниже 8 ГБ он запустится, а потом остановится, и это худший вид отказа.
Почему моему серверу нужно больше памяти, чем серверу Minecraft с пятикратным числом игроков?
Потому что Palworld непрерывно симулирует палов, есть ли кто-то рядом с ними или нет. Шестьдесят работающих палов на лагерях гильдии существуют весь день; шестьдесят мобов Minecraft в выгруженных чанках - нет.
Снижает ли ограничение числа игроков потребление памяти?
Косвенно. Меньше игроков со временем означает меньше гильдий, меньше лагерей и меньше хранимых палов, а именно туда и уходит память. Снижение ServerPlayerMaxNum само по себе ничего не меняет, пока мир от этого не станет меньше.
Исправит ли дополнительный CPU лагающий сервер Palworld?
Иногда. Проверьте, в какой лимит вы упираетесь первым. Если память у потолка, больше CPU ничего не изменит; если память в порядке, а график CPU ровно прижат к лимиту, больше CPU - именно то, что нужно.
Нужно ли перезапускать сервер по расписанию?
Да. Каждые двенадцать-двадцать четыре часа, в час, когда никто не играет. Потребление памяти Palworld растёт с аптаймом, и запланированный перезапуск держит его ровным бесплатно.
Важно ли число палов в хранилище, или только работающие?
И те и другие, хотя работающие обходятся дороже. Хранимые палы тоже занимают память и записываются в Level.sav при каждом сохранении, и это часть причины, почему файл сохранения растёт, а запуск замедляется на долгоживущем сервере.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.