Skip to content

Руководство по сетевой игре ​

Стратегия совместимости версий ​

jrpm — это tagged-версия (jrpm-0.1.0), рукопожатие требует полного совпадения строки ревизии:

СценарийПоведение
Клиент jrpm ↔ Сервер jrpm✅ Нормальная игра (версии совпадают)
Клиент jrpm ↔ Сервер оригинальный jgrpp / pulsexlb❌ Отказ (изоляция версий)
Клиент оригинальный jgrpp → Сервер jrpm✅ Разрешено (сервер принимает ревизии jgrpp-*)
Клиент pulsexlb → Сервер jrpm✅ Разрешено (принимает ревизии pxp)

Версии NewGRF

Независимо от версии клиента, номер версии NewGRF должен полностью совпадать с серверным (строгая проверка _openttd_newgrf_version), это основа детерминированного симулятора.

Создание сервера ​

bash
# Выделенный сервер (без GUI)
openttd-jrpm -D -c server.cfg

Рекомендуемая конфигурация server.cfg (подробнее в настройке производительности сервера):

ini
[network]
server_name = My JRPM Server
server_port = 3979
max_clients = 32
max_companies = 15
frame_freq = 3
sync_freq = 50
commands_per_frame = 8
bytes_per_frame = 16
bytes_per_frame_burst = 512
max_join_time = 1000
max_download_time = 2000
max_lag_time = 1200

Подключение к серверу ​

  • В игре: «Многопользовательская игра → Подключиться к интернет-серверу / Добавить сервер», или
  • Из командной строки: openttd-jrpm -n <host>:<port>

Загрузка контента (NewGRF/Сценарии) ​

jrpm поддерживает несколько зеркал + параллельную загрузку:

ini
[network]
content_server = content.openttd.org        ; Сервер метаданных
content_mirrors = https://binaries.openttd.org/bananas,https://your-mirror.example/bananas
content_download_parallel = 4               ; Количество параллельных загрузок (1-8)
  • Список зеркал через запятую, используются по порядку; при сбое одного зеркала автоматически переключается на следующее;
  • Переменные окружения OTTD_CONTENT_MIRROR_URI / OTTD_CONTENT_SERVER_CS имеют приоритет над настройками;
  • При сбое всех зеркал автоматический откат к старому протоколу TCP.

Управление сервером ​

  • Консольные команды: status, clients, kick, ban, save, reset_company, autogroup (автоматическая группировка ТС) и т.д.;
  • RCON: установите rcon_password на сервере для удалённой отправки консольных команд.