Страница 1 из 1

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

Добавлено: 19 сен 2015, 15:08
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.
Спойлер
Изображение
Надеюсь, кому-нибудь это будет полезно :)

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

Добавлено: 19 сен 2015, 16:57
Sherlok
Я тоже сталкивался с такой проблемой, если не ошибаюсь, после обновления до TS2013. Долго не мог найти решения, но потом разобрался вручную, взяв за ориентир скачанные при обновлении сценарии. Вот тогда бы мне этот скрипт :)

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

Добавлено: 19 сен 2015, 17:16
AlexSheFF
Sherlok, да, как раз в TS2013 и ввели уникальность GUID-ов, а вот скрипт выложили всего месяц назад :)

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

Добавлено: 20 сен 2015, 02:08
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"

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

Добавлено: 20 сен 2015, 10:48
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"

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

Добавлено: 20 сен 2015, 11:25
oldman777
AlexSheFF
Забыл уточнить, что игра лицензия. steam клиент установлен: C:\Program Files (x86)\Steam.
В steamapps вообще нет папки railworks и соответственно файла serz.exe тоже нет.
Игра установлена: D:\SteamLibrary\steamapps\common\RailWorks.
Где взять serz.exe не совсем понял.

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

Добавлено: 20 сен 2015, 12:36
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. Скрипт должен заработать.

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

Добавлено: 20 сен 2015, 13:09
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--------------------------------------------------------

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

Добавлено: 20 сен 2015, 13:58
peret
для нормальной работы serz.exe нужны еще файлы zlibwapi.dll и stlport_vc10.5.2.dll

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

Добавлено: 20 сен 2015, 14:00
Cross
oldman777
очевидно же, что нужно добавить к приложению serz.exe библиотеку zlibwapi.dll. Вроде там ещё что-то потребуется, но ошибка скажет дальше, чего не хватает для работы. Ещё можно просто создать ярлык serz в требуемой папке, тоже может помочь.

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

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

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