Сервер RimWorld Together - это одна небольшая программа на .NET, один TCP-порт (по умолчанию 25555) и папка с JSON-файлами. Вы скачиваете сборку сервера для своей операционной системы со страницы релизов проекта на GitHub, запускаете её один раз, чтобы она записала конфигурации, а затем первый игрок, который подключится с подходящим клиентским модом, сгенерирует планету и автоматически станет администратором. Моды не прописываются вручную в файле: администратор загружает список прямо из игры, и каждый следующий игрок проверяется по нему при входе. Две вещи, на которых спотыкаются чаще всего, - это строгие проверки на равенство: версии клиента и сервера должны совпадать точно, как и список модов. Есть и ещё одна особенность безопасности, которая важнее: пустой сервер достаётся тому, кто зашёл первым.
В этом руководстве настройка разобрана от начала до конца. Если вы ещё выбираете между RimWorld Together и модом Multiplayer от Zetrith либо вам нужен полный справочник консольных команд и ротация резервных копий, всё это уже описано в руководстве по мультиплееру RimWorld; здесь же мы подробнее разбираем, как собрать, настроить, опубликовать в списке и подключиться к серверу Together.
Чем RimWorld Together отличается от мода Multiplayer#
Коротко, потому что от этого выбора зависит всё остальное:
| RimWorld Together | Multiplayer (Zetrith / rwmt) | |
|---|---|---|
| Колонии | По одной у каждого, общая планета | Одна на всех |
| Сервер | Отдельная консольная программа | Нет - игрок хостит в игре |
| Правило для модов | Список на сервере, проверка при входе | Одинаковые на каждой машине |
Мод Multiplayer запускает одну и ту же симуляцию на машине каждого игрока синхронно, поэтому серверу делать нечего и хостить нечего. RimWorld Together устроен наоборот. Каждый игрок запускает свою колонию локально и в своём темпе, а сервер хранит общее: карту мира, поселения, сохранения, рынок, гильдии, площадки, дороги и очередь событий, которые игроки отправляют друг другу. Он никогда не симулирует ни одной пешки. Поэтому ему нужно так мало ресурсов, и поэтому он продолжает работать, когда в сети никого нет.
Цена этого - то, что взаимодействие по умолчанию асинхронное. Вы торгуете с колониями других игроков, дарите им подарки, шпионите за ними и устраиваете налёты, а налёт на игрока, которого нет в сети, проходит против сохранённой копии его карты. Визиты и налёты в реальном времени тоже есть - клиент называет это синхронным режимом, и пока вы в нём, игра не сохраняется, - но обычный ритм здесь такой: отдельные колонии, которые влияют друг на друга, а не одна колония, в которую играют вместе. Если вашей группе нужно сидеть в одной базе, вам нужен другой мод.
Клиентский мод - это RimWorld Together в Steam Workshop (идентификатор пакета nova.rimworldtogether). На момент написания он рассчитан на RimWorld 1.6, зависит от Harmony и заявляет о несовместимости с RimSaves.
Какую сборку сервера скачать#
Файлы сервера лежат на странице релизов проекта на GitHub, а не в Steam. В каждом релизе есть два семейства архивов, и выбрать не тот - первая проблема, которой легко избежать.
| Архив | Что это |
|---|---|
Server-<os>-<arch>.zip | Самодостаточный, около 30 МБ. Запускается где угодно |
Slim-<os>-<arch>.zip | Меньше 1 МБ. Нужен установленный runtime .NET 8 |
Сборки есть для win-x64, win-x86, linux-x64, linux-arm и linux-arm64. Сервера для macOS нет. Если вы не поддерживаете .NET 8 на этой машине специально, берите сборку Server-: она включает runtime в единый исполняемый файл RTServer (RTServer.exe в Windows), так что ничего больше ставить не нужно и ничего под ним не устареет. Raspberry Pi или ARM-инстанс в облаке - вполне разумное место для небольшого мира, для этого ARM-сборки и существуют.
Названия релизов - это даты: 26.10.4.1 - сборка от 4 октября 2026 года, а суффикс _(1) в конце означает повторный выпуск той же версии. Именно эту строку версии сервер сравнивает с каждым клиентом символ в символ, поэтому важно, какую именно сборку вы скачали. Правило простое: сервер и все игроки должны запускать один и тот же релиз.
Распакуйте архив в отдельную папку. При первом запуске сервер создаёт рядом с собой десяток подпапок, а проект предостерегает от размещения в местах, где нужны права администратора: Program Files - плохая идея, как и запуск от root в Linux.
$ mkdir -p ~/rwt && cd ~/rwt$ unzip ~/Downloads/Server-linux-x64.zip$ chmod 755 RTServer$ ./RTServerОфициальный образ контейнера собирается из тех же исходников при каждом релизе и помечается тегами latest и версией релиза. Закрепляйте тег версии, а не latest, чтобы перезапуск контейнера никогда не обновлял сервер за спиной у игроков:
$ mkdir -p RWTData$ docker run -it -v "$PWD/RWTData:/Data" -p 25555:25555 \ ghcr.io/rimworld-together/rimworld-together:26.10.4.1Флаг -it важен. Сервер читает команды администратора из стандартного ввода, и без подключённого терминала у вас будет работающий сервер, с которым нельзя поговорить. В примере compose-файла проекта по той же причине заданы stdin_open: true и tty: true, так что docker attach даёт вам консоль.
Первый запуск и первый вход#
При первом запуске создаётся дерево папок, записываются все файлы конфигурации со значениями по умолчанию, а затем сервер ждёт подключений и ввода в консоли. В свежем сервере мира ещё нет. Так сделано намеренно: планету генерирует клиент игры игрока, а не сервер.
- Остановите сервер и отредактируйте
Configs/ServerConfig.jsonиConfigs/PasswordConfig.json(оба описаны ниже). Как минимум задайте имя и пароль. - Запустите его снова.
- В RimWorld включите Harmony и RimWorld Together, а также все моды, которые будут использоваться в мире, и перезапустите игру.
- В главном меню откройте RimWorld Together и воспользуйтесь Direct Connect, указав адрес и порт сервера. На той же машине это
127.0.0.1и25555. - Выберите имя пользователя и пароль. Отдельного шага регистрации нет: первый вход с новым именем создаёт учётную запись.
- Сервер видит, что мира нет, и запрашивает его у вашего клиента. Создайте планету так же, как в одиночной игре - зерно, покрытие, осадки, температура, фракции - и основайте поселение.
- Сервер сохраняет планету и делает вас администратором. В консоли появляется строка о том, что серверу выдаётся право администратора первого входа вашему имени пользователя.
Из этой схемы следуют ещё две вещи. Параметры планеты фиксируются первым входом, поэтому решайте вопрос с покрытием и списком модов до создания мира, а не после - собственный совет проекта состоит в том, чтобы к моменту создания были включены все запланированные моды. Рассказчика, сложность и сценарий можно изменить и позже. А пока мир настраивается, всем остальным, кто подключается, отказывают с сообщением попробовать позже.
Учётные записи - это имя пользователя и пароль, хранящиеся на сервере, а не идентификатор Steam. Если игрок забыл пароль, его колония по-прежнему лежит на диске, но сброса пароля нет - решать вопрос должен администратор, а это обычно означает resetplayer и новый старт для игрока. Скажите игрокам относиться к паролю как к любому другому.
Файлы конфигурации, которые важны#
Всё лежит в Configs/, и каждый файл перезаписывается при запуске с добавлением недостающих ключей, так что старый файл подхватывает новые параметры после обновления. Редактируйте при остановленном сервере: несколько файлов сервер сохраняет и сам во время работы, и он перезапишет ваше изменение тем, что у него в памяти.
{ "Name": "RimWorld Together Server", "Description": "", "DiscordURL": "", "SteamWorkshopURL": "", "ServerImageURL": "", "IP": "0.0.0.0", "Port": 25555, "MaxPlayers": 100, "Verbosity": 0, "DisplayChatInConsole": false, "UseUPnP": false, "UseClientSave": true, "EnableServerBrowser": true, "EnableServerTelemetry": true}Name, Description, DiscordURL, SteamWorkshopURL и ServerImageURL - это то, что показывает браузер серверов, так что заполните их, если хотите, чтобы вас находили незнакомые люди, и оставьте пустыми, если нет. Port должен быть тем портом, до которого игроки действительно могут достучаться, потому что именно этот порт сервер сообщает браузеру. UseUPnP просит домашний роутер открыть порт за вас; на хостинге он ничего не делает, а в домашней сети, которую вы бережёте, его тоже лучше держать выключенным. UseClientSave определяет, доверять ли копии колонии на машине самого игрока, когда он снова входит, - оставьте значение по умолчанию, если только вы не разбираете конкретную проблему с сохранением вместе с проектом.
Остальное содержимое папки:
| Файл | Что в нём |
|---|---|
PasswordConfig.json | Password - пусто означает отсутствие пароля |
BackupConfig.json | Автоматические резервные копии, интервал, сколько хранить |
ChatConfig.json | Сообщение дня, уведомления о входе и выходе |
ModConfig.json | Список модов, по которому проверяются игроки |
DifficultyConfig.json | Пользовательские значения сложности |
StorytellerConfig.json | Принудительный рассказчик |
ScenarioConfig.json | Принудительный сценарий |
В Configs/Actions/ лежит по одному файлу на каждое взаимодействие игроков - Raid.json, Trade.json, Caravan.json, Aid.json, Event.json, Market.json, Guild.json, Site.json, Road.json, River.json, Pollution.json, Scenario.json и ещё несколько. Здесь можно отключить механику или сделать её дороже, а также здесь находятся таймеры защиты, не дающие снова и снова устраивать налёты на одного игрока или заваливать его событиями. Прочитайте их до открытия сервера: значения по умолчанию подходят дружеской группе, а публичному серверу обычно нужны более долгая защита и более высокие цены.
Сам мир лежит не в Configs/. Планета - это Assets/WorldValuesFile.json, а общее состояние находится рядом: Market.json, Roads.json, Rivers.json, Leaderboard.json, IPBans.json, а также папки для пользователей, сохранений, карт, поселений, площадок, гильдий и событий. Именно папку Assets/ и нужно бэкапить. Потеряете Configs/ - потеряете вечер; потеряете Assets/ - потеряете мир.
Порты, файрвол и подключение#
| Порт | Протокол | Направление |
|---|---|---|
25555 | TCP | Входящий, к нему подключаются игроки |
| Служба браузера | TCP | Исходящий, только если включена телеметрия |
Это весь список. UDP нет, порта запросов нет и RCON нет. При необходимости измените Port в ServerConfig.json, а затем убедитесь, что файрвол, проброс в контейнере и то, что вводят игроки, называют одно и то же число - в статье порты игровых серверов простыми словами объясняется, почему «процесс запущен» и «порт доступен» нужно проверять отдельно.
В домашней сети вам нужен проброс порта с роутера на машину с сервером и публичный адрес, который действительно принадлежит вам; NAT уровня провайдера делает входящие подключения невозможными, что бы вы ни пробрасывали. Честное сравнение - в статье проброс портов или хостинг сервера. В Linux откройте порт явно:
$ sudo ufw allow 25555/tcpИгроки подключаются из меню RimWorld Together через Direct Connect по адресу и порту, через Server Browser или по коду присоединения. Клиент запоминает последний сервер и при следующем запуске предлагает переподключиться к нему. В диалоге подключения есть отдельное поле для пароля сервера, который запрашивается раньше входа в учётную запись.
На RE:NODE тариф RimWorld включает одно выделение порта, а это именно то, что нужно этому серверу: задайте в Port выделенный порт, и игроки подключаются по адресу, который показывает панель. Starter - это 1 ГБ памяти и 0,75 ядра от $5 в месяц, чего для этого сервера более чем достаточно: он не запускает игру. Остальные тарифы смотрите на странице тарифы для сервера RimWorld.
Синхронизация модов: как сервер проверяет моды игрока#
Именно здесь RimWorld Together понимают неправильно чаще всего, потому что всё изменилось. Старые руководства описывают три столбца в файле конфигурации - обязательные, необязательные, запрещённые. В текущих релизах ModConfig.json записывает игра, а не вы, и правила такие:
- Обязательные моды должны быть у клиента.
- Необязательные моды могут быть, а могут и не быть.
- Всё, чего нет в списке, отклоняется. Отдельного столбца запрещённых больше нет; мод, о котором сервер никогда не слышал, по умолчанию запрещён.
- Настройки модов можно принудительно проверять: когда администратор включает это, настройки каждого обязательного мода сравниваются по хэшу, и игрок с другими настройками получает отказ.
- Порядок загрузки можно проверять так же - по хэшу всего порядка. Клиенту, получившему отказ, предлагают порядок сервера и спрашивают, применить ли его.
- Администраторы обходят все проверки, что удобно для тестирования, а также именно так администратор оказывается в ситуации, когда «доказывает», что сломанный список работает у всех.
- Пока мира нет, ничего не проверяется, так что первый вход никогда не отклоняется из-за модов.
Список задаётся изнутри игры. Администратор загружает моды, которые хочет использовать на сервере, открывает внутриигровые инструменты администратора (режим разработчика, затем меню администратора в правом верхнем углу при подключении) и загружает список, выбирая, какие моды обязательные, а какие необязательные, и нужно ли принудительно проверять конфигурации. Сервер сохраняет его и рассылает всем, кто в сети. Не-администратор, которому удастся отправить список модов после появления мира, немедленно банится.
Когда игроку отказывают, его клиент показывает «Your mod list conflicts with the server» вместе со списком сервера, а в последних версиях может подписаться на недостающие моды Steam Workshop и скачать их, если запущен Steam. Эта автоматическая загрузка нова, и в примечаниях к релизу её всё ещё называют первой реализацией, поэтому для закрытой группы надёжный способ остаётся прежним: опубликуйте одну коллекцию Steam Workshop, укажите её URL в SteamWorkshopURL и скажите всем подписаться на неё и ни на что другое. Почему коллекция лучше списка в сообщении, объясняет статья моды Steam Workshop на выделенных серверах.
Практические правила, которые спасают миры:
- Определитесь со списком до создания планеты. Моды, добавляющие биомы, фракции или особенности мира, меняют генерацию, а планета генерируется один раз.
- Оставляйте необязательными то, что затрагивает только экран самого игрока - интерфейс, сортировку, удобства. Всё, что добавляет предметы, пешек, фракции или события, относится к обязательным, потому что это переходит между колониями при торговле, подарках и налётах.
- Включайте принудительный порядок загрузки, когда группа больше нескольких человек. RimWorld очень чувствителен к порядку; почему так, объясняет статья порядок загрузки модов.
- Меняйте список осознанно. Добавление обязательного мода блокирует всех, пока они не обновятся; удаление оставляет его предметы в колониях и на рынке. Предупредите игроков, сделайте резервную копию, затем загружайте.
Если нужно, чтобы все смогли войти, пока вы разбираетесь со списком, команда togglemodbypass в консоли выключает все проверки модов и включает их снова. Это диагностический переключатель, а не настройка, которую стоит оставлять включённой.
Поиск публичных серверов RimWorld Together#
Каталог - это встроенный в игру Server Browser. Сервер с включённым EnableServerBrowser отображается с именем, описанием, изображением, ссылками на Discord и Workshop, версией, числом игроков относительно MaxPlayers, признаком наличия пароля, списком модов и именами игроков в сети. В последних релизах к спискам добавили оценку репутации и возможность пожаловаться на сервер.
На что смотреть перед тем, как зайти на такой сервер:
- Версия. Она должна точно совпадать с вашим клиентом. В клиенте для Windows есть переключатель версий, так что вы можете перейти на релиз сервера, не дожидаясь, пока владелец обновится.
- Список модов. Он есть в листинге, так что вы видите, не собираетесь ли подписаться на восемьдесят модов.
- Ссылка на Workshop. Сервер, публикующий коллекцию, ведёт тот, кто думал о синхронизации модов.
- Discord. Публичный мир - это сообщество, и его правила о налётах, гриферстве и вайпах живут там, а не в игре.
Вне игры большинство сообществ рекламируется в Discord проекта, а списки серверов на сайтах хостинг-компаний - в основном их собственные клиенты. Официального веб-каталога нет.
У браузера для вашего собственного сервера есть цена, о которой стоит знать. При включённом EnableServerTelemetry сервер устанавливает исходящее соединение со службой браузера проекта, узнаёт свой публичный IPv4 через api.ipify.org и отправляет этот адрес и порт вместе с перечисленными выше сведениями, включая имена подключённых игроков. Если EnableServerBrowser выключен, а телеметрия включена, сервер всё равно отправляет данные, но помечается как приватный и в списке не показывается. Выключите оба параметра, если хотите, чтобы сервер вообще не отправлял исходящих сведений; команды togglebrowser и toggletelemetry делают это из консоли. Адрес, который получает браузер, - это то, что видит ipify, поэтому сервер за VPN или прокси может объявлять адрес, до которого игроки не доберутся.
Повседневная работа#
Консоль - это интерфейс администратора, а полный список команд есть в руководстве по мультиплееру. Несколько новых команд стоит знать:
| Команда | Что она делает |
|---|---|
banip <ip> | Банит адрес и отключает всех, кто его использует |
pardonip <ip> | Снимает бан по IP |
getip | Выводит публичный IPv4 сервера |
togglebrowser | Включает или выключает листинг в браузере |
toggletelemetry | Включает или выключает отчёты браузеру |
togglemodbypass | Включает или выключает все проверки модов |
toggleclientsave | Переключает UseClientSave |
Чтобы сделать администратором кого-то ещё, используйте op <username>. В старых релизах команда принимала ID пользователя, найденный через deeplist; в текущих принимается имя пользователя. Администраторы видят в игре кнопку администратора и пропускают проверки модов.
Резервные копии по умолчанию делаются раз в час, хранятся шесть штук и записываются в виде архивов Assets/, Configs/ и Logs/ в Backups/Servers, а для каждого игрока - в Backups/Users. Они лежат на том же диске, что и мир, поэтому копируйте их ещё и в другое место - почему это важно, объясняет статья резервные копии, которые действительно восстанавливаются. На RE:NODE каждый тариф RimWorld включает слоты резервных копий, хранящиеся вне машины и восстанавливаемые кнопкой, а файлы конфигурации редактируются в файловом менеджере в браузере или по SFTP.
Обновление - это событие для всей группы. Остановите сервер, сделайте резервную копию, замените RTServer новой сборкой (ваши Configs/ и Assets/ останутся на месте), запустите его и скажите всем обновить клиентский мод, потому что пока они этого не сделают, каждый вход будет отклоняться по версии.
Разбор ошибок, с которыми сталкиваются на самом деле#
«This server requires version ...» Релизы клиента и сервера различаются. Обновите тот, который отстаёт, или воспользуйтесь переключателем версий клиента. Steam обновляет клиентский мод по своему графику, так что после любого релиза это самая частая ошибка.
«Handshake failed! Verify client version» Та же семья проблем, только на более раннем этапе соединения. Сначала проверьте версии.
«Your mod list conflicts with the server» Нет обязательного мода, или у игрока есть мод, который не является ни обязательным, ни необязательным. Список сервера показан в диалоге; сравните его, включая моды, о которых игроки забывают, например локальную копию мода из Workshop.
Отказ из-за конфигураций или порядка модов Принудительная проверка включена, а настройки или порядок у игрока отличаются. Примените порядок сервера, когда его предложат. С настройками сложнее: игроку нужны те же файлы настроек для обязательных модов, а на практике это значит, что ими делится администратор.
Тайм-аут подключения Порт недоступен: процесс остановлен, файрвол, не тот порт, нет проброса порта или NAT уровня провайдера. Проверьте снаружи вашей сети.
«Server is currently being set up! Join again later!» Первый игрок подключился, а планеты ещё нет. Подождите, пока он закончит её создавать.
Администратор - посторонний человек Он зашёл первым. Остановите сервер, удалите Assets/WorldValuesFile.json и сгенерированные папки в Assets/ (или восстановите резервную копию, сделанную до его входа), задайте пароль и запустите снова.
FAQ#
Можно ли хостить RimWorld Together бесплатно?
Да. Сервер бесплатный, его исходный код лежит на GitHub, и ему не нужны ни лицензия, ни вход в Steam. У каждого игрока должна быть своя копия RimWorld и клиентский мод; у машины с сервером - нет.
Можно ли играть в RimWorld Together и с модом Multiplayer одновременно?
Нет. Это отдельные системы с разной сетевой частью, и вы подключаетесь либо к одной, либо к другой. Включайте только ту, которой пользуется ваша группа, потому что обе сильно патчат игру.
Нужна ли серверу мощная машина?
Нет. Он не запускает симуляцию, так что 1 ГБ памяти и доли ядра с запасом хватает небольшой группе. Пропускная способность сети и диск для сохранений и резервных копий важнее процессора.
Можно ли перенести существующий мир RimWorld Together на другую машину?
Да. Остановите сервер, скопируйте всю папку - Assets/ и Configs/ вместе - на новую машину, запустите там тот же релиз и направьте игроков на новый адрес. Учётные записи и колонии переезжают вместе с Assets/.
Почему мой сервер не появляется в браузере?
Либо выключен EnableServerBrowser или EnableServerTelemetry, либо сервер не может устанавливать исходящие соединения, либо объявленный порт недоступен снаружи. Консоль при запуске сообщает, включено ли обнаружение.
Нужны ли игрокам DLC, чтобы подключиться?
Только то, что нужно миру сервера и его модам. У игрока с меньшим числом дополнений, чем у хоста, могут возникнуть проблемы с контентом, переходящим между колониями, а клиент при подключении предупреждает о необязательных DLC. Согласуйте набор DLC так же, как вы согласуете список модов.


