Руководство для пользователей RRS
Версия симулятора: 1.6.0
Содержание
- Введение
- 1. Установка симулятора
- 2. Обзор архитектуры симулятора
- 3. Launcher симулятора. Настройка и запуск поездки
- 4. Клавиатурные комбинации. Горячие клавиши
- 5. Установка дополнений для симулятора
- 6. Конвертация маршрутов формата ZDS
- 7. Маршрут RRS. Обзор папки с маршрутом формата RRS
- 8. Создание конфигурации поезда
- 9. Управление стрелочными переводами. Сигнализация
- 10. Игра по сети
Введение
Уважаемые пользователи RRS! Вот вы и решили скачать проект свободного кроссплатформенного железнодорожного симулятора с открытым исходным кодом. Настало время подробнее ознакомиться с проектом, освоить его возможности, а также разобраться в архитектуре симулятора, и, возможно принять участие в дальнейшем развитии!
В данном руководстве рассмотрим архитектуру проекта, установку дополнений, конфигурирование поезда, конвертацию маршрутов формата ZDS и многое другое.
Добро пожаловать в RRS!
1. Установка симулятора
Запускаем скачанный файл установщика «RRS-x86_64-(номер.версии)-setup.exe». Хотя инсталлятор RRS и не отличается от других типичных установочных пакетов, важно отметить, что симулятор необходимо установить в директорию, путь к которой содержит только латинские символы. Именно поэтому по умолчанию инсталлятор предлагает установить симулятор непосредственно в каталог диска «C:».

2. Обзор архитектуры симулятора
Главной особенностью проекта является его модульность. Симулятор представляет собой не одну программу, как может показаться, а комплекс взаимосвязанных программ. Рядовому пользователю не рекомендуется вносить каких-либо изменений в файлы симулятора, помимо установки дополнений и некоторых настроек в конфигурационных файлах, о чём будет рассказано ниже. Тем не менее, считаем необходимым хотя бы поверхностно ознакомить пользователя с архитектурой симулятора. Рассмотрим содержимое каталога RRS подробнее:

Первая и самая главная папка – «bin». Здесь находятся исполняемые файлы и библиотеки движка игры:

Непосредственно в штатной работе симулятора участвуют четыре исполняемых файла:
- launcher.exe – лаунчер. Именно его и запускает ярлык на рабочем столе, созданный инсталлятором. Служит для создания и запуска сессии поездки;
- simulator.exe – физический движок игры, выполняющий симуляцию путевой инфраструктуры и всего подвижного состава;
- viewer.exe – графическая подсистема, реализующая функции трехмерной визуализации и звуковое окружение;
- route-map.exe – диспетчерская подсистема, отображает карту путевой инфраструктуры и позволяет управлять стрелочными переводами и светофорами.
Следующая папка «cfg»:

Тут находятся все конфигурационные файлы для детальной настройки симулятора. Сюда мы ещё вернёмся в следующих разделах.
Перейдем к обзору папки «data». Основная папка для хранения контента, в том числе дополнительного. Рассмотрим подробнее:

Все очень логично. Папки с настройками анимаций 3D-моделей, далее собственно модели, и звуки. Например, в папке «models» обнаружим папки с моделями конкретных единиц подвижного состава (на скриншоте установлены дополнения), а также светофоров:

Внутри этих папок находятся файлы 3d-моделей в формате «.osgt» – это специальный формат для графического движка OpenSceneGraph, на котором построена визуализация в RRS. Экспорт в формат «.osgt» поддерживается плагинами для программ 3Ds max или Blender. Рядом с моделями обычно присутствует папка «images» (либо «textures» и т.п.) с текстурами для моделей.

По большей части вмешиваться в данные папки незачем, если вы не собираетесь создавать перекраски подвижных единиц или заменять звуки. Все необходимое в данных каталогах настраивают разработчики дополнительного контента.
Папка «docs» содержит инструкции к симулятору. Тут находится как это руководство, так и инструкции по управлению и использованию конкретного подвижного состава.
Каталог «fonts» хранит несколько необходимых шрифтов.
Папки «lib», «modules» и «plugins» – та самая модульность симулятора: содержащиеся здесь dll-библиотеки содержат подключаемые в симуляцию модули подвижного состава или его оборудования, различные расширения функционала симулятора.
В каталог «logs» записываются текстовые log-файлы двух последних запусков симулятора. Это позволяет отследить некоторые ошибки, возникшие в работе движка симуляции (journal.log) или графической и звуковой подсистем (viewer.log и asound.log).

Папка «routes» содержит маршруты для поездок в симуляторе. Сюда мы тоже ещё вернёмся.
Созданные нами скриншоты в поездке сохраняются в папке «screenshots».
Каталог «sdk» – заголовочные файлы и библиотеки для тех, кто желает разрабатывать программную часть нового подвижного состава в RRS.
Наконец, папка «themes» хранит цветовую схему для лаунчера.
Помимо рассмотренных папок непосредственно в каталоге ещё и несколько файлов. Это текстовые файлы с лицензиями GNUv2, оригинальная и в переводе на русский язык. Также здесь есть деинсталлятор «unins000.exe», с его помощью вы можете удалить симулятор с вашего ПК. Надеемся, что вам симулятор понравился, и вы так делать не будете.
Перейдем к запуску симулятора.
3. Launcher симулятора. Настройка и запуск поездки
После установки симулятора на рабочем столе создаётся ярлык launcher-а. Если из каких-либо побуждений во время установки вы не захотели создавать ярлык, то запустить launcher можно из папки с симулятором по пути: …\RRS\bin\launcher.exe.
Запустив launcher, увидим следующее окно:

Разберем каждый элемент окна подробнее:
1 – вкладка «Local server» – настройки сессии поездки для симулятора;
2 – вкладка «Connect to server» – подключение к другой сессии по сети;
3 – вкладка «Graphics settings» – настройки графики;
4 – выбор маршрута поездки из списка установленных;
5 – поле для краткого описания выбранного маршрута;
6 – выбор состава/поезда;
7 – поле для краткого описания выбранного состава или поезда;
8 – кнопки добавления и удаления поезда из создаваемой сессии поездки;
9 – выбор стартовых конфигураций поездов из сохранённых в маршруте;
10 – сохранение текущей стартовой конфигурации поездов в маршрут;
11 – поле для настроек поездов в создаваемой сессии. Рассмотрим ниже;
12 – кнопка запуска/остановки сервера с симуляцией поездки (simulator.exe), с текущей стартовой конфигурацией поездов. Кнопка доступна, если выбран маршрут и корректно настроена стартовая конфигурация хотя бы одного поезда;
13 – кнопка для запуска/перезапуска графической подсистемы (viewer.exe), а также настройка автоматического запуска вместе с сервером;
14 – кнопка для запуска/перезапуска диспетчерской карты (route-map.exe), а также настройка автоматического запуска вместе с сервером.
Итак, выберем маршрут, кнопкой «Add» (8) добавим несколько поездов в поле (11) и рассмотрим настройку их стартовой конфигурации:

15 – добавленное поле настроек поезда, но собственно настройка не сделана, о чём нас уведомляет предупреждающий значок – жёлтый треугольник. Поля с таким предупреждением не будут добавлены в сессию при запуске. Этот поезд выбран в данный момент, ниже мы видим возможность его настройки (см.18-23);
16 – добавленное поле настроек второго поезда, и в нём уже выбран поезд «ВЛ60пк с поездом №65», но ему не выбрана стартовая позиция, поэтому тоже виден предупреждающий значок;
17 – добавленное поле настроек третьего поезда, выбран поезд «ВЛ60к с порожним грузовым поездом», и ему задана корректная стартовая позиция. Значок в виде зелёной галочки означает, что всё в порядке и поезд будет добавлен в сессию при запуске симулятора;
18 – выбор/замена поезда из списка. Если в списке поездов слева (4) выбран поезд, то при нажатии Add здесь будет автоматически выбран он же;
19 – возможность выбора предустановленных стартовых точек маршрута.
В маршрутах от ZDSimulator после конвертации для RRS здесь будут точки из start_kilometers.dat, а также точки за 15 метров перед станционными светофорами;
20 – настройка произвольной стартовой точки вручную (либо, при выборе стартовой точки в поле 19, поля 21-23 заполняются автоматически):
21 – название траектории в топологии маршрута;
22 – направление поезда на траектории;
23 – смещение от начала траектории.
Выберем в первом поле настроек поезда один из составов, и одну из предустановленных стартовых позиций (для примера – в направлении обратно):

Теперь все настройки отмечены зелёной галочкой – этот поезд будет добавлен в симуляцию при запуске. Запускаем игру! Нажимаем «Start server» (12):

Запускается сервер с симуляцией, и при наличии соответствующих галочек, вьювер и карта. В нашем примере на сервере появилось два поезда – первый и третий, так как второй остался ненастроенным.
Для завершения работы сервера нужно нажать на ту же кнопку (12) – которая теперь красная, с надписью «Stop server».
Кратко посмотрим на вторую вкладку «Connect to server»:

Отсюда можно запустить вьювер и/или карту, присоединившись к другой игре по сети. По умолчанию здесь настроен локальный сетевой ip-адрес 127.0.0.1, позволяя запустить второй, третий и т.д. экземпляр вьювера/карты для своей игры.
Вкладка «Graphics settings» (настройки для графической подсистемы):

1 – размер окна вьювера при старте симуляции;
2 – запуск вьювера в полноэкранном режиме;
3 – запуск вьювера в оконном режиме с рамкой / без рамки;
4 – режим двойной буферизации (повышает производительность);
5 – выбор монитора или экрана отображения вьювера;
6 – регулировка угла обзора;
7 – расстояние ближней плоскости отсечения камеры;
8 – расстояние дальней плоскости отсечения камеры;
9 – дальность загрузки объектов маршрута;
10 – кнопка применения изменений;
11 – кнопка сброса изменений.
4. Клавиатурные комбинации. Горячие клавиши
После запуска симуляции каждый пользователь наверняка задастся вопросом касаемо управления симулятором и поездом. Клавиатурные комбинации для каждого типа подвижного состава в данной инструкции публиковать не будем. Их можно скачать с данного сайта, а так же они находятся в папке «docs» симулятора.
Изучим основные горячие клавиши и клавиатурные комбинации симулятора:
F1 | Вывод основной информации о запущенной поездке: |

F2 | Камера в кабине текущей подвижной единицы: ● Клик левой клавишей мыши – возврат в исходную точку обзора; ● Движения мышью с зажатой правой клавишей – вращение камеры; ● Колесо мыши – увеличение/уменьшение угла обзора; ● Стрелки – перемещение по кабине; ● Ctrl + колесо мыши – перемещение точки обзора вверх/вниз; |
F3 | Внешняя камера, сопровождающая поезд: ● Вращение камеры – мышью с зажатой правой клавишей; ● Колесо мыши – приближение и удаление от текущей ПЕ. С зажатым Shift – увеличение скорости в 10 раз; ● Ctrl + колесо мыши — перемещение точки обзора вверх/вниз: |

F4 | Свободная камера: ● Вращение камеры – мышью с зажатой правой клавишей; ● Клик левой клавишей мыши – возврат в исходную точку обзора; ● Колесо мыши – увеличение/уменьшение угла обзора; ● Ctrl + колесо мыши – перемещение точки обзора вверх/вниз; ● Стрелки – перемещение в соответствующем направлении; ● Shift – ускорение перемещения в 10 раз; |
F5/F6 | Камера, сопровождающая первую ПЕ, расположена справа (или слева) от путей по ходу движения. Камера не управляется пользователем. |
Обращаем внимание на то, что вращение камерой осуществляется с зажатой клавишей ПКМ.
F11 | Вывод монитора статистики. Монитор отображает параметры работы графического движка и содержит несколько кадров, например, отображение FPS (frames per second – кадры в секунду). Повторное нажатие F11 переключает эти кадры. |
Монитор статистики отображает параметры графического движка, содержащий несколько кадров. Повторное нажатие переключает эти кадры.
Page Up / Page Down | Переключение текущей подвижной единицы; |
Home / End | Переключение между поездами (при нахождении двух и более поездов в сессии); |
Enter | Взять управление текущей подвижной единицей. |
Обращаем внимание на то, что после переключения на подвижную единицу или другой поезд, чтобы взять управление им, необходимо нажать «Enter».

F12 | Сделать скриншот. Скриншот с временной отметкой в названии файла сохраняется в папку /screenshots симулятора в формате JPEG; |
Esc | Вызов меню выхода из режима поездки: |

5. Установка дополнений для симулятора
Ввиду модульности симулятора дополнительный контент с ним вместе не поставляется и его необходимо скачать и установить самостоятельно. Все наши дополнения, будь то подвижной состав или маршрут RRS, на данный момент поставляются в формате архивов «.zip» и «.7z».
После загрузки архива с нашего сайта вам необходимо содержимое архива распаковать в корневую папку симулятора по пути «…\RRS\». Если при распаковке система просит подтвердить замену файлов, то подтверждаем. Это может случаться с некоторыми дополнениями, в которых отличаются конфигурации поездов, модели, текстуры, анимации, а dll подвижной единицы остается прежней.
6. Конвертация маршрутов формата ZDS
На данный момент наш симулятор еще поддерживает совместимость с маршрутами формата ZDS. Некоторые из них вы можете скачать у нас на официальном сайте или из стороннего источника любого автора.
Чтобы маршрут стал доступным для выбора в launcher симулятора и запустился в поездке, вам необходимо выполнить его конвертацию в формат RRS. Для этого скачанный маршрут копируем по пути «…\RRS\routes». Обращаем ваше внимание на то, что не допускается использование кириллицы и пробелов в имени папки с маршрутом! После копирования маршрута запускаем конвертер формата маршрутов, расположенный в «…\RRS\bin\routeconv.exe»:

Изучим его подробнее:
1 – кнопка добавления маршрута. После нажатия система предложить выбрать вам папку с маршрутом в директории «…\RRS\routes»;
2 – поле для ввода названия маршрута. Тут пишем его название в любом формате, т.к. именно это имя будет отображаться в launcher;
3 – поле для ввода описания маршрута, которое будет отображаться в launcher;
4 – кнопка для выполнения конвертации после внесения вышеуказанных данных;
5 – поле генерации дополнительных параллельных путей (тестовая функция);
6 – поле генерации дополнительных сплайнов-съездов к сгенерированным параллельным путям (тестовая функция);
7 – поле состояния конвертации. После нажатия кнопки выполнения конвертации и после успешного ее завершения появится информация «OK: conversion complete».
Обращаем ваше внимание на то, что выполнение действий, описанных в пунктах 6 и 7, не обязательно. После проведения конвертации маршрут появится в launcher и будет доступен для выбора. Если по каким-либо причинами маршрут не запускается после конвертации рекомендуем выполнить повторную конвертацию. Если это не помогает, то маршрут скорее всего написан с ошибкой и не подлежит конвертации в формат RRS.
7. Маршрут RRS. Обзор папки с маршрутом RRS
В данном разделе речь пойдет только об оригинальных маршрутах команды RRS. Рассмотрим папку с маршрутом:

1 – «models» — папка с файлами моделей объектов, использованных в маршруте;
2 – «textures» — папка хранит текстурные изображения для моделей;
3 – «topology» — папка, хранящая топологию участка. Простым языком все пути, куда мы можем заехать в RRS, допустимые скорости движения, железнодорожные координаты, расстановку светофоров и т.п.;
4 – «description.xml» — файл описания маршрута, отображаемое в в launcher;
5 – «objects.ref» — файл, описывающий связь модели и текстуры;
6 – «route-type» — файл, описывающий связь модели и текстуры.
Рассмотрим подробнее папку «topology»:

1 – «map» — папка с файлами координат каждого объекта маршрута в пространстве;
2 – «trajectories» — папка с файлами всех траекторий участков путей, которые позже соединяются в общую топологию с помощью так называемых коннекторов, описанных в файле topology.xml:

Рассмотрим одну из них:

Каждая строка представляет собой координаты точки сплайна, из которой и формируется данная траектория. Первые три числа, разделенные табуляцией, это координаты точки по осям x, y, z, а четвертое значение – железнодорожная координата данной точки в метрах от начала маршрута.
3 – «trajectory-ALSN» — папка с файлами привязки траекторий к конкретной частоте канала АЛСН (no_signal, 25 и 50 Гц). Все траектории, где не кодируется путь, вносятся в файл no_signal.xml с частотой 0 Гц. Это могут быть как стрелки, так и не кодируемые участки пути. Рассмотрим на данном примере:

В строках name указываются имена файлов траекторий, где необходимо задать данное значение частоты канала АЛСН.
4 – «trajectory-speedmap» — папка, аналогичная строению папки с траекториями АЛСН. Тут прописываются скоростные ограничения для каждого участка пути. Показывать наглядно не будем, все аналогично заданию канала АЛСН;
5 – «models-config.xml» — конфиг, в котором прописывается директория расположения папки с моделями и папки с анимацией светофоров, используемых в данном маршруте:

Первой строкой указываем папку модели, а второй – анимации. Подробнее о строении папок в симуляторе рассмотрим позже.
6 – «stations.conf» — в данном файле генерируются пространственные координаты всех станций. Преимущественно нужен данный файл для отображения информации в устройствах безопасности подвижного состава;
7 – «topology.xml» — один из самых интересных файлов в маршруте. Он объединяет все наши участки траекторий в единую топологию путей:

Одной из самых важных частей топологии является коннектор. Бывают такие коннекторы, как коннектор светофора, коннектор стрелочного перевода. Рассмотрим подробнее каждый из них:

Первой строкой указывается имя коннектора. Обратим лишь внимание на то, что не допускается одинаковых имен для разных коннекторов. Второй строкой указывается участок траектории, приходящий сзади (об этом сигнализирует в строке параметр bwd), а третьей строкой, уходящий вперед (fwd). Далее указывается литера светофора и его имя модели в папке с моделями. Так же не забываем о направлении светофора по пути движения Fwd или Bwd. Тут же указываем в пятой строке расположение светофора относительно оси пути и в шестой строке угол его поворота.
Теперь рассмотрим устройство коннектора стрелки:

В первой строке также как и у коннектора светофора указываем имя коннектора стрелки. Далее аналогично имена приходящей и уходящей траекторий. В четвертой строке прописываем траекторию отклонения. Параметр fwd означает, что траектория уходит вперед по ходу движения, значит это стрелка на отклонение. При параметре bwd – стрелка приходит к коннектору, значит стрелка примыкания.

8 – «waypoints.conf» — В данном файле прописываются так называемые точки расстановки поездов по станции, которые мы выбираем в launcher при создании сессии поездки:

В строке первый параметр – имя станции с литерой светофора, где устанавливается поезд. Далее имя участка траектории, на которой расположен подвижной состав. Третьим параметром задается направление движения подвижного состава прямо (1) или обратно (-1). После этого прописывается расстояние в метрах от начальной точки участка данной траектории. В конце указываем железнодорожную координату старта.
Собственно, о всех необходимых деталях папки с маршрутом мы рассмотрели. Возможно, в следующих версиях симулятора она будет изменяться и дополняться, об этих изменениях напишем в данной инструкции. Перейдем к устройству файла конфига поезда и его созданию.
8. Создание конфигурации поезда
Если вам недостаточно предустановленных конфигураций поездов, вы всегда можете создать необходимые именно себе состав поезда. Файлы конфигураций находятся по пути «…\RRS\cfg\trains». Рассмотрим файл подробнее:

В шапке файла задаем указанные параметры, такие, как зарядное давление, начальное давление, параметр установки поезда без или с воздухом. В строках «title» и «description» указываем название состава и его описание для отображения в launcher. Далее переходим к прописыванию подвижных единиц. В основном первой подвижно единицей в составе поезда является локомотив:

Указывается его директория модуля, библиотеки dll, директория конфигурации подвижной единицы и ее имя. Любой поезд собирается из подвижных единиц, конфиги которых разработчик прописывает в директории «…\RRS\cfg\vehicles» и далее в папке конкретной модели локомотива, вагона или МВПС. Рассмотрим на примере локомотива, рассматриваемого поезда:

Собственно говоря, на рисунке выше обозначен файл конфигурации подвижной единицы, имя которой указываем в конфиге поезда при указании подвижной единицы.
Указав конфиг подвижной единицы, указываем далее ориентацию модели подвижной единицы и их количество. Если у нас идет повторение нескольких моделей вагонов подряд, нет необходимости указывать для каждого вагона класс Vehicle, а просто указать их количество в параметре «count». Сохраняем получившийся конфиг и поезд готов к установке в launcher при настройке сессии.
9. Управление стрелочными переводами. Сигнализация
Начиная с версии 1.4.0 при появлении топологии участка появилась возможность управления движением поезда по участку. Для этого служит так называемая карта маршрута. Запустить ее можно при включенной поездке после загрузки всех поездов. Расположено данное приложение по пути «…\RRS\bin\ route-map.exe».

Тут достаточно все просто. Карта содержит в себе всю топологию участка, коннекторы стрелочных переводов и светофоры. Навигация по карте осуществляется с зажатой клавишей ЛКМ. Фокусировка карты на управляемой подвижной единице – нажатие на колесо мыши. Управление каждым элементом происходит при клике на конкретный клавишей ПКМ.

Кликнули по стрелке и жмем в выпавшем контекстном меню команду на ее перевод и стрелка переведется. Стрелку невозможно перевести если участок пути на ней занят подвижным составом.
После перевода стрелок и построении маршрута настало время открыть нашему поезду светофоры. Это выполняется так же нажатием на светофор клавишей ПКМ и в контекстном меню прожимаем необходимую команду на открытие или закрытие сигнала:

После открытия сигнала и отработки путевых реле сигнал откроется и поезду можно отправиться.


Важно отметить, если нам необходимо построить маршрут на сквозной проход по станции и если станция имеет несколько парков и разделена маршрутными сигналами, то открытие каждого светофора по пути происходит в ручном режиме.
10. Игра по сети
Как уже было рассмотрено в главе про лаунчер, графическую (viewer.exe) и диспетчерскую (route-map.exe) подсистемы возможно подключить по сети к другому серверу-симулятору. Для этого требуется запустить симулятор на компьютере с белым ip-адресом. После этого можно вводить этот ip-адрес на второй вкладке лаунчера («Connect to server») и запускать viewer – если хотим подключиться в роли машиниста, route-map – если хотим подключиться в роли диспетчера.
Для корректной работы viewer-а необходимо наличие у клиента установленного того же маршрута и того же набора дополнений подвижного состава, что и на сервере.