Сервер Eco - это бесплатная выделенная программа (Steam app 739590, анонимная загрузка, Windows и Linux), которая круглосуточно ведёт один мир, его экосистему и экономику. Настраивается он набором JSON-файлов с расширением .eco в папке Configs: Network.eco отвечает за имя, пароль и порты, WorldGenerator.eco - за карту, Difficulty.eco - за темп игры, Disasters.eco - за метеорит, Users.eco - за админов. Открывает сервер два порта: UDP 3000 для игры и TCP 3001 для встроенного веб-интерфейса, где видны карта, экономика и законы. Eco тяжелее, чем кажется: сервер симулирует каждое растение и каждое животное на карте, независимо от того, смотрит на них кто-нибудь или нет. Закладывайте память под выбранный размер мира, правьте конфиги только при остановленном сервере и решите вопрос с таймером метеорита до того, как кто-то зайдёт.
Что такое сервер Eco и как живёт мир#
Eco - не та игра на выживание, которую можно оставить настроенной наполовину. У мира есть жизненный цикл, и настройки сервера задают его с первого дня:
- Метеорит: по умолчанию через несколько недель после старта мира в планету должен врезаться метеорит. Игрокам нужно исследовать технологии, сотрудничать и построить лазерную установку, чтобы его остановить. Таймер и само наличие метеорита - это настройки сервера.
- Экосистема: популяции растений и животных расселяются, конкурируют и вымирают. Загрязнение, отходы добычи и чрезмерный сбор их подрывают. Сервер ведёт эту симуляцию непрерывно.
- Экономика и власть: игроки заводят валюты, магазины, контракты, законы и выборные должности. Всё это хранится в сохранении мира.
- Навыки и специализация: игроки со временем набирают опыт (а также за счёт хорошего питания и хорошего жилья) и тратят его на специальности. Скорость - это настройка сервера, и именно она решает, за сколько недель мир дойдёт до высоких технологий.
Для планирования важнее всего последний пункт. Мир, настроенный на метеорит через 30 дней при маленькой группе, требует либо ускоренного роста навыков, либо группа не успеет к лазерам. На приватных серверах метеорит часто отключают совсем и ведут мир месяцами; публичные серверы обычно играют «сезон» в несколько недель, а затем делают сброс.
Как и любая игра, которая работает постоянно, Eco лучше всего чувствует себя на машине, которая не является чьим-то домашним ПК, - если это различие для вас новое, загляните в статью что такое выделенный игровой сервер.
Требования и расход ресурсов#
Потребление памяти растёт с размером мира, с числом игроков и объёмом построенного, а также со временем: в старом мире больше объектов, магазинов и истории, чем в новом.
| Мир | RAM | CPU | Примечания |
|---|---|---|---|
| Стандартный размер, 2-6 игроков | 4-6 GB | 2 ядра | Первый мир приватной группы |
| Стандартный размер, 10-20 игроков | 6-8 GB | 2-3 ядра | Типичный сервер сообщества |
| Увеличенный мир, 20-40 игроков | 10-16 GB | 3-4 ядра | Экосистема и объекты накапливаются |
| Большой публичный сезон, моды | 16 GB+ | 4 ядра | Закладывайте рост на несколько недель |
- CPU: симуляция экосистемы и тик мира делят нагрузку с сетью и веб-сервером. Eco больше ядер помогает сильнее, чем большинству однопоточных игр на выживание, но частота всё равно важна.
- Диск: сам сервер занимает несколько гигабайт. Сохранение растёт за время жизни мира, а backup-копии умножают этот объём; 20-30 GB - комфортный запас.
- Размер мира - главный рычаг: площадь растёт как квадрат стороны. Если удвоить ширину и длину, площадь, которую покрывает симуляция, вырастет вчетверо, и память вслед за ней.
Эти диапазоны - отправная точка, взятая с типичных серверов, а не официальный минимум. Значение имеют только графики в панели после недели реальной игры; статья CPU или RAM для игровых серверов объясняет, как понять, какой ресурс на самом деле упирается в потолок.
Установка и первый запуск#
Через SteamCMD в Linux:
$ steamcmd +force_install_dir /home/eco/server +login anonymous +app_update 739590 validate +quit$ cd /home/eco/server$ chmod +x EcoServer$ ./EcoServerВ Windows исполняемый файл называется EcoServer.exe и открывает окно управления с вкладками для конфигов, игроков и мира. В Linux сервер - консольный процесс, и вся настройка делается через файлы. Про validate и скрипты обновления рассказано в статье SteamCMD простыми словами.
Первый запуск генерирует мир, что на большой карте занимает время, а затем записывает полный набор конфигов в Configs. Поэтому порядок действий для нового сервера такой:
- Запустите сервер один раз, чтобы он записал все конфиги со значениями по умолчанию.
- Корректно остановите его.
- Отредактируйте конфиги - размер мира, метеорит, сложность, сеть.
- Если вы меняли генерацию мира, удалите сгенерированный мир из
Storage, чтобы он создался заново с вашими настройками. - Запустите сервер снова и следите за логом, пока он не сообщит, что сервер готов.
Файлы конфигурации#
Каждый файл - это JSON с расширением .eco. Открывайте их в файловом редакторе панели или по SFTP; следите, чтобы кавычки и запятые оставались корректными, потому что сломанный файл обычно сбрасывается к значениям по умолчанию.
| Файл | Что он задаёт |
|---|---|
Network.eco | Имя и описание сервера, пароль, публичный список, порты, лимит подключений |
WorldGenerator.eco | Размеры мира, сид, параметры биомов и рельефа |
Difficulty.eco | Рост навыков, стоимость специальностей, совместная игра и другие множители темпа |
Disasters.eco | Есть ли метеорит и когда он упадёт |
Users.eco | Админы, whitelist и blacklist |
Network.eco
Значения по умолчанию выглядят так (в сокращении):
{ "PublicServer": true, "Password": "", "Description": "SERVERNAME", "DetailedDescription": "", "Playtime": "", "DiscordAddress": "", "IPAddress": "Any", "GameServerPort": 3000, "WebServerPort": 3001, "MaxConnections": -1, "UPnPEnabled": true}Большинство параметров понятны без пояснений; вот те, в которых чаще всего ошибаются:
Description- это имя, которое показывается в браузере серверов, несмотря на название ключа.PublicServerвыводит сервер в браузер; для приватной группы, которая подключается по адресу, поставьтеfalse.Passwordзакрывает вход паролем. Оставляйте его пустым только на публичном сервере.PlaytimeиDiscordAddressпоказываются в браузере, чтобы игроки знали, когда группа в сети и где вас найти.GameServerPortиWebServerPortдолжны совпадать с портами, которые открыл ваш хостинг.MaxConnectionsсо значением-1означает отсутствие лимита сверх того, что выдержит сервер.UPnPEnabledимеет смысл только в домашней сети; на арендованном сервере отключите его.
Генерация мира
В WorldGenerator.eco хранятся размеры мира и параметры генерации. Стандартный мир намеренно маленький - Eco рассчитана на то, что игроки живут достаточно близко, чтобы зависеть друг от друга. Для больших групп мир можно увеличить, но помните о квадратичной стоимости, описанной выше. Если нужна известная карта, задайте сид; сид 0 означает случайный.
Сложность и метеорит
В Difficulty.eco лежат множители, задающие темп: как быстро начисляются очки навыков, сколько стоят специальности, а также настройки совместной игры, которые подталкивают игроков зависеть друг от друга. В свежих версиях есть пресеты и пользовательский режим; точные имена ключей менялись между крупными релизами, поэтому читайте файл, который записала ваша версия, а не копируйте значения из старого гайда.
В Disasters.eco настраивается метеорит: создаётся ли он и через сколько дней упадёт. Если его отключить, получится спокойный долгоиграющий мир. Если оставить со слишком коротким таймером для вашей группы, получится мир, который только раздражает. Грубый ориентир: неспешная группа из пяти человек, играющая по вечерам, при стандартном росте навыков за 30 дней до лазера не дойдёт.
Порты и веб-интерфейс#
| Порт | Протокол | Назначение |
|---|---|---|
3000 | UDP | Игровой трафик |
3001 | TCP | Веб-сервер: карта, экономика, законы, статистика |
Веб-интерфейс - часть игры, а не дополнение. Игроки открывают его из игры или в браузере по адресу http://<address>:3001, чтобы посмотреть карту мира, списки товаров в магазинах, контракты, законы, выборы и статистику вроде загрязнения и численности видов. Кроме того, он отдаёт данные, нужные клиенту для некоторых экранов, поэтому сервер с закрытым веб-портом работает, но выглядит сломанным - карты и экраны экономики не загружаются.
Оба порта должны быть доступны. Если хостинг выдал вам другие номера портов, измените GameServerPort и WebServerPort соответственно и перезапустите сервер. Почему игровой и веб-порт по-разному ведут себя за файрволом, объясняет статья порты игровых серверов простыми словами.
Игроки подключаются через браузер серверов в игре или напрямую по адресу и игровому порту, если сервер не публичный. Для ссылки на веб-интерфейс пригодится доменное имя - про A-запись рассказано в статье как подключить домен к игровому серверу.
Админы и модерация#
Админы перечислены в Users.eco вместе с whitelist и blacklist. Игроки определяются по ID аккаунта Strange Loop или Steam; проще всего получить верное значение, если игрок один раз зайдёт, а вы скопируете ID из списка пользователей сервера или из лога. Правьте файл при остановленном сервере, как и любой другой конфиг.
В игре команды вводятся в чат и начинаются с /. Аргументы разделяются запятыми, а не пробелами, потому что в названиях предметов и именах игроков бывают пробелы. /help показывает команды, доступные на вашем уровне прав; админам доступны команды модерации (кик, бан, мут) и инструменты мира вроде телепортации и выдачи предметов. Точные названия команд менялись от релиза к релизу, поэтому доверяйте /help вашей версии, а не напечатанным спискам.
Власть в Eco - это система игроков, и админам стоит удерживаться от соблазна решать политические споры своими инструментами. На самых здоровых серверах политика админов записана: в каких случаях админы вмешиваются (гриферство, эксплойты, травля), а что остаётся на откуп законам и выборам. Основу для такого документа даёт статья правила сервера, модерация и команда.
Моды и UserCode#
Игровая логика Eco поставляется в виде исходников на C# в папке Mods, и сервер компилирует их при запуске. Именно поэтому Eco так хорошо поддаётся модам:
- В
Mods/__core__лежит собственный код игры. Не правьте его - обновление его заменит. - В
Mods/UserCodeкладутся моды и ваши переопределения. Файлы отсюда компилируются вместе с ядром, и переопределения вUserCodeимеют приоритет над файлами ядра, которые они заменяют.
Установка мода обычно сводится к копированию его файлов в UserCode с сохранением структуры папок, которую описал автор, и перезапуску. Большинство модов с контентом должны быть и на клиенте, потому что новым блокам и предметам нужны ассеты; чисто серверные правки (значения рецептов, скорость навыков) этого не требуют.
Отсюда два следствия. Запуск после добавления мода занимает больше времени, потому что сервер всё компилирует. А обновление игры может сломать скомпилированные моды: если сервер падает при старте с ошибками компиляции, указывающими на UserCode, мод нужно обновить. Уберите его, запустите ванильную версию и дождитесь автора. Общий порядок действий описан в статье что делать, когда обновление мода всё сломало.
Сохранения, backup и сбросы#
Сохранение мира лежит в папке Storage, в текущих версиях это Game.eco, и сервер записывает его периодически и при корректной остановке. Кроме того, сервер хранит скользящие резервные копии сохранения; сколько их и как часто они делаются, зависит от версии и её настроек хранения.
Правила те же, что и для любого игрового мира:
- Останавливайте корректно. Остановка через консоль или панель сначала сохраняет мир. Убитый процесс теряет всё, что было после последнего сохранения.
- Держите backup вне машины. Скользящие копии рядом с сохранением не переживут удалённый сервер или ошибочную операцию с файлами. Почему настоящая проверка - это восстановление, объясняет статья backup, которые действительно восстанавливаются.
- Делайте backup перед обновлениями и перед добавлением модов. Крупные обновления Eco часто вообще не переносят миры.
Последний пункт - особенность именно Eco. Крупные версии нередко требуют нового мира; прежде чем обновлять давно работающий сервер, прочитайте патчноуты, а если старый мир важен, оставайтесь на старой версии сервера до конца сезона.
Сброс делается просто: остановите сервер, переместите Storage в сторону (сохраните на всякий случай), поправьте конфиги и запустите заново - получите новый мир.
В RE:NODE слоты для backup есть на каждом игровом тарифе: по расписанию или по запросу, с хранением вне машины и восстановлением одной кнопкой; вкладка Schedules может сделать backup и перезапуск друг за другом перед еженедельным окном обновлений. Самой Eco в каталоге нет.
Устранение неполадок#
Изменения в конфигах не сохраняются. Вы правили файл на работающем сервере, и при выключении он записал свою версию. Остановите, отредактируйте, запустите.
Игроки подключаются, но экраны карты и экономики пустые. Веб-порт (по умолчанию 3001 TCP) закрыт или не совпадает с WebServerPort.
Сервер не появляется в браузере. PublicServer выключен, или указан неверный игровой порт. Попробуйте подключиться напрямую по адресу, чтобы отделить проблему со списком от проблемы с сетью.
Сервер падает при запуске с ошибками компиляции. Мод в UserCode не соответствует версии игры. Убирайте моды, пока сервер не запустится, затем обновляйте их по одному.
Память неделями растёт. Это нормально: мир наполняется объектами. Еженедельный перезапуск в тихий час держит её в рамках - см. статью расписания перезапусков, которые помогают.
FAQ#
Нужна ли игрокам своя копия Eco, чтобы зайти на мой сервер?
Да. Игрокам нужна игра; сам сервер скачивается анонимно и лицензии не требует.
Можно ли отключить метеорит?
Да, в Disasters.eco. Многие приватные серверы так и делают, чтобы мир мог жить месяцами без дедлайна. Решите это до старта мира, чтобы никто не строил планы исследований под таймер, который потом исчезнет.
Почему Eco потребляет так много памяти для маленькой группы?
Потому что сервер симулирует экосистему на всей карте, а не только вокруг игроков. Размер мира важнее числа игроков; маленькой группе на большом мире может понадобиться больше памяти, чем большой группе на стандартном.
Можно ли изменить размер уже существующего мира?
Нет. Размер - это параметр генерации мира. Чтобы его изменить, нужно сгенерировать новый мир, поэтому выбирайте размер до того, как кто-то начнёт строить.
Зачем нужен веб-интерфейс и стоит ли открывать его наружу?
Он показывает карту, экономику, законы и статистику, и игра использует его для некоторых экранов. Оставьте его доступным на своём порту; это часть обычной игры, а не админ-панель.




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