Решение проблемы со сценариями с одинаковым GUID

Непосредственное обсуждение подвижного состава, маршрутов, сценариев, геймплея и прочей игровой концепции. Руководство для начинающих: вопрос-ответ.
Ответить
Аватара пользователя
AlexSheFF
Мастер
Мастер
Сообщения: 382
Зарегистрирован: 02 окт 2011
Откуда: Псковская обл.
Репутация: 393

Решение проблемы со сценариями с одинаковым GUID

Сообщение AlexSheFF »

После обновления до TS2016 я столкнулся с вылетами при запуске игры, а иногда и при её выключении. В LogMate я увидел строчку

Код: Выделить всё

Duplicate Scenario GUID in SerializeDatabase

Это означает, что в папке Routes есть как минимум два сценария с одинаковым GUID (GUID - это уникальный идентификатор сценария, например 2c563242-c602-4d79-ada6-67d50f0279d9). Решением этой проблемы является удаление дубликата или его редактирование в RWTools. Загвоздка в том, что в отчёте LogMate не указано, какой сценарий имеет дубликат, а найти его вручную практически невозможно.
И вот я обнаружил на сайте railworksamerica.com скрипт, который анализирует файл кэша сценариев (railworks/Content/SDBCache.bin) и выводит список сценариев с одинаковым GUID.
Называется он RWDBFDup.
Спойлер
RWDBFDup.zip
Скачиваете архив, распаковываете его в любое место, запускаете RWDBFDup.vbs, указываете папку с игрой.
Спойлер
Изображение
В зависимости от количества установленных сценариев ждёте 1-2 минуты (или даже меньше).
Спойлер
Изображение
Затем откроется окошко со списком сценариев с одинаковым GUID.
Спойлер
Изображение
Теперь можно или удалить один из сценариев, или переименовать папку одного из них и отредактировать его scenarioProperties.bin.

Важно:
1)скрипт может не сработать, если прошлый запуск или выход из игры сопровождался вылетом (попытайтесь запустить и выключить игру без вылета, может помочь совет ниже - у меня получилось на 3-4 раз),
2) после устранения проблемы рекомендую удалить все файлы кэша в папке railworks/Content.
Спойлер
Изображение
Надеюсь, кому-нибудь это будет полезно :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Intel Core i5-3570K 4.2GHz
MSI Z77A-G45
ASUS GeForce GTX 770 OC
Kingston KVR16N11S8/4 (4x4Gb)
SSD Plextor PX-128M5S (128Gb)
Chieftec APS-650CB (650W)
Аватара пользователя
Sherlok
Ветеран
Сообщения: 2840
Зарегистрирован: 18 авг 2011
Откуда: Черкесск
Репутация: 1923

Решение проблемы со сценариями с одинаковым GUID

Сообщение Sherlok »

Я тоже сталкивался с такой проблемой, если не ошибаюсь, после обновления до TS2013. Долго не мог найти решения, но потом разобрался вручную, взяв за ориентир скачанные при обновлении сценарии. Вот тогда бы мне этот скрипт :)
Аватара пользователя
AlexSheFF
Мастер
Мастер
Сообщения: 382
Зарегистрирован: 02 окт 2011
Откуда: Псковская обл.
Репутация: 393

Решение проблемы со сценариями с одинаковым GUID

Сообщение AlexSheFF »

Sherlok, да, как раз в TS2013 и ввели уникальность GUID-ов, а вот скрипт выложили всего месяц назад :)
Intel Core i5-3570K 4.2GHz
MSI Z77A-G45
ASUS GeForce GTX 770 OC
Kingston KVR16N11S8/4 (4x4Gb)
SSD Plextor PX-128M5S (128Gb)
Chieftec APS-650CB (650W)
Аватара пользователя
oldman777
Профессор
Профессор
Сообщения: 1661
Зарегистрирован: 18 авг 2015
Откуда: Москва
Репутация: 1258

Решение проблемы со сценариями с одинаковым GUID

Сообщение oldman777 »

Не хочет запускаться. Подскажите что не так?

Изображение

Вот строка 322:
intResult = WshShell.Run (command, 0, TRUE)

Лог:
Спойлер
20.09.2015 2:01:42 RWDBFdup: Start -----------------------------------------------------------------
20.09.2015 2:01:42 GetUserConfig: reading user configuration
20.09.2015 2:01:42 GetXmlDoc: Error - The xml file RWLibConfig.xml doesn't exist!
20.09.2015 2:01:42 CreateConfig: reading Steam path from registry
20.09.2015 2:01:42 CreateConfig: Steam path is c:\program files (x86)\steam
20.09.2015 2:01:42 CreateConfig: Start creating config xml file
20.09.2015 2:01:42 DeleteFile: File not found: RWLibConfig.xml
20.09.2015 2:01:42 CreateConfig: End creating config xml file
20.09.2015 2:01:42 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 2:02:09 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 2:02:09 DeleteFile: File not found: RWDBFDup.txt
20.09.2015 2:02:09 ProcessDB: Start processing scenario database
20.09.2015 2:02:09 Decompile: Trying "c:\program files (x86)\steam\steamapps\common\railworks\serz.exe" "D:\SteamLibrary\steamapps\common\RailWorks\Content\SDBCache.bin"
20.09.2015 2:03:08 RWDBFdup: Start -----------------------------------------------------------------
20.09.2015 2:03:08 GetUserConfig: reading user configuration
20.09.2015 2:03:08 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 2:03:09 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 2:03:09 DeleteFile: File not found: RWDBFDup.txt
20.09.2015 2:03:09 ProcessDB: Start processing scenario database
20.09.2015 2:03:09 Decompile: Trying "c:\program files (x86)\steam\steamapps\common\railworks\serz.exe" "D:\SteamLibrary\steamapps\common\RailWorks\Content\SDBCache.bin"
20.09.2015 2:03:24 RWDBFdup: Start -----------------------------------------------------------------
20.09.2015 2:03:24 GetUserConfig: reading user configuration
20.09.2015 2:03:24 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 2:03:31 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 2:03:31 DeleteFile: File not found: RWDBFDup.txt
20.09.2015 2:03:31 ProcessDB: Start processing scenario database
20.09.2015 2:03:31 Decompile: Trying "c:\program files (x86)\steam\steamapps\common\railworks\serz.exe" "D:\SteamLibrary\steamapps\common\RailWorks\Content\SDBCache.bin"
Аватара пользователя
AlexSheFF
Мастер
Мастер
Сообщения: 382
Зарегистрирован: 02 окт 2011
Откуда: Псковская обл.
Репутация: 393

Решение проблемы со сценариями с одинаковым GUID

Сообщение AlexSheFF »

oldman777, такое ощущение, что скрипт не может найти serz.exe, чтобы декомпилировать файл кэша сценариев SDBCache.bin для анализа. Обратите внимание на последнюю строку лога:

Код: Выделить всё

20.09.2015 2:03:31 Decompile: Trying "c:\program files (x86)\steam\steamapps\common\railworks\serz.exe" "D:\SteamLibrary\steamapps\common\RailWorks\Content\SDBCache.bin"
У Вас есть по указанному адресу (c:\program files (x86)\steam\steamapps\common\railworks) файл serz.exe? Если нет, то можно попробовать вручную воссоздать путь и положить туда serz.exe. Просто, насколько я понимаю, скрипт автоматически ищет место, куда установлен Steam (а, значит, по идее скрипта и игра), и даже если указать другое расположение папки с игрой, то файл serz.exe (декомпилятор) скрипт всё равно ищет там, где должна быть игра по умолчанию. А если его там нет, то выскакивает указанная Вами ошибка.
P.S. Сейчас попробовал удалить у себя serz.exe из папки g:\steam\steamapps\common\railworks (лицензионная игра) и при работе скрипта по анализу кэша пиратки по адресу e:\Cracked Steam\steamapps\common\railworks вылезло то же окошко с ошибкой, и лог закончился такой же строкой:

Код: Выделить всё

Decompile: Trying "g:\steam\steamapps\common\railworks\serz.exe" "E:\Cracked Steam\steamapps\common\railworks\Content\SDBCache.bin"
Intel Core i5-3570K 4.2GHz
MSI Z77A-G45
ASUS GeForce GTX 770 OC
Kingston KVR16N11S8/4 (4x4Gb)
SSD Plextor PX-128M5S (128Gb)
Chieftec APS-650CB (650W)
Аватара пользователя
oldman777
Профессор
Профессор
Сообщения: 1661
Зарегистрирован: 18 авг 2015
Откуда: Москва
Репутация: 1258

Решение проблемы со сценариями с одинаковым GUID

Сообщение oldman777 »

AlexSheFF
Забыл уточнить, что игра лицензия. steam клиент установлен: C:\Program Files (x86)\Steam.
В steamapps вообще нет папки railworks и соответственно файла serz.exe тоже нет.
Игра установлена: D:\SteamLibrary\steamapps\common\RailWorks.
Где взять serz.exe не совсем понял.
Аватара пользователя
AlexSheFF
Мастер
Мастер
Сообщения: 382
Зарегистрирован: 02 окт 2011
Откуда: Псковская обл.
Репутация: 393

Решение проблемы со сценариями с одинаковым GUID

Сообщение AlexSheFF »

oldman777, скрипт ищет файл serz.exe по адресу Steam\steamapps\common\railworks, даже если игра установлена в другое место, и даже если ему указать правильное расположение папки с игрой. Это недоработка самого скрипта.
oldman777 писал(а):Где взять serz.exe не совсем понял.
Этот файл лежит в папке railworks (у Вас D:\SteamLibrary\steamapps\common\RailWorks).
Создайте у себя в папке C:\Program Files (x86)\Steam\steamapps папку common, в ней папку railworks и скопируйте в последнюю файл serz.exe. Скрипт должен заработать.
Intel Core i5-3570K 4.2GHz
MSI Z77A-G45
ASUS GeForce GTX 770 OC
Kingston KVR16N11S8/4 (4x4Gb)
SSD Plextor PX-128M5S (128Gb)
Chieftec APS-650CB (650W)
Аватара пользователя
oldman777
Профессор
Профессор
Сообщения: 1661
Зарегистрирован: 18 авг 2015
Откуда: Москва
Репутация: 1258

Решение проблемы со сценариями с одинаковым GUID

Сообщение oldman777 »

AlexSheFF

Все папки и файл добавил, и теперь другая ошибка:

Изображение

ЛОГ:
Спойлер
20.09.2015 13:02:32 RWDBFdup: Start -----------------------------------------------------------------
20.09.2015 13:02:32 GetUserConfig: reading user configuration
20.09.2015 13:02:32 GetXmlDoc: Error - The xml file RWLibConfig.xml doesn't exist!
20.09.2015 13:02:32 CreateConfig: reading Steam path from registry
20.09.2015 13:02:32 CreateConfig: Steam path is c:\program files (x86)\steam
20.09.2015 13:02:32 CreateConfig: Start creating config xml file
20.09.2015 13:02:32 DeleteFile: File not found: RWLibConfig.xml
20.09.2015 13:02:32 CreateConfig: End creating config xml file
20.09.2015 13:02:32 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 13:02:34 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 13:02:34 DeleteFile: File not found: RWDBFDup.txt
20.09.2015 13:02:34 ProcessDB: Start processing scenario database
20.09.2015 13:02:34 Decompile: Trying "c:\program files (x86)\steam\steamapps\common\railworks\serz.exe" "c:\program files (x86)\steam\steamapps\common\railworks\Content\SDBCache.bin"
20.09.2015 13:09:49 RWDBFdup: Start -----------------------------------------------------------------
20.09.2015 13:09:49 GetUserConfig: reading user configuration
20.09.2015 13:09:49 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 13:09:53 GetXmlDoc: reading xml file RWLibConfig.xml
20.09.2015 13:09:53 DeleteFile: File not found: RWDBFDup.txt
20.09.2015 13:09:53 ProcessDB: Start processing scenario database
20.09.2015 13:09:53 Decompile: Trying "c:\program files (x86)\steam\steamapps\common\railworks\serz.exe" "c:\program files (x86)\steam\steamapps\common\railworks\Content\SDBCache.bin"
20.09.2015 13:10:23 Decompile: Error - Decompile returned -1073741515
20.09.2015 13:10:23 ProcessDB: ERROR can't get database, aborting
20.09.2015 13:10:23 DeleteFile: File not found:
20.09.2015 13:10:23 DeleteFile: File not found:
20.09.2015 13:10:23 RWDBFDup: Aborted--------------------------------------------------------
20.09.2015 13:10:25 Decompile: Error - Decompile returned -1073741515
20.09.2015 13:10:25 ProcessDB: ERROR can't get database, aborting
20.09.2015 13:10:25 DeleteFile: File not found:
20.09.2015 13:10:25 DeleteFile: File not found:
20.09.2015 13:10:25 RWDBFDup: Aborted--------------------------------------------------------
peret
Специалист
Специалист
Сообщения: 262
Зарегистрирован: 17 янв 2012
Репутация: 252

Решение проблемы со сценариями с одинаковым GUID

Сообщение peret »

для нормальной работы serz.exe нужны еще файлы zlibwapi.dll и stlport_vc10.5.2.dll
Аватара пользователя
Cross
Разработчик
Сообщения: 6330
Зарегистрирован: 14 дек 2011
Откуда: Москва
Репутация: 2985

Решение проблемы со сценариями с одинаковым GUID

Сообщение Cross »

oldman777
очевидно же, что нужно добавить к приложению serz.exe библиотеку zlibwapi.dll. Вроде там ещё что-то потребуется, но ошибка скажет дальше, чего не хватает для работы. Ещё можно просто создать ярлык serz в требуемой папке, тоже может помочь.
*Train Simulator 2018*
Изображение
Аватара пользователя
oldman777
Профессор
Профессор
Сообщения: 1661
Зарегистрирован: 18 авг 2015
Откуда: Москва
Репутация: 1258

Решение проблемы со сценариями с одинаковым GUID

Сообщение oldman777 »

peret писал(а):для нормальной работы serz.exe нужны еще файлы zlibwapi.dll и stlport_vc10.5.2.dll

Спасибо, именно в таком виде заработала.
Ответить