Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
nexusik1994

проблема с лаунчером

здраствуйте! нашел лаунчер с автообновлением  на просторах гитхаба 
но при запуске возникает проблема с обновлением файлов 

лаунчер просит файл version.xml 
и проблема в том что неизвостно наполнение данного файла чтоб он загружал мой мод клиентам 

файл main.cs прилаживаю

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0
58 минут назад, nexusik1994 сказал:

здраствуйте! нашел лаунчер с автообновлением  на просторах гитхаба 
но при запуске возникает проблема с обновлением файлов 

лаунчер просит файл version.xml 
и проблема в том что неизвостно наполнение данного файла чтоб он загружал мой мод клиентам 

файл main.cs прилаживаю

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 0

Dictionary<string, string> tmp = new Dictionary<string, string>();
                    string innerText = xmlNodeList.Item(index).SelectSingleNode("name").InnerText;
                    tmp["md5"] = xmlNodeList.Item(index).SelectSingleNode("md5").InnerText;
                    tmp["path"] = xmlNodeList.Item(index).SelectSingleNode("path").InnerText;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0
34 минуты назад, r1s1us сказал:

Dictionary<string, string> tmp = new Dictionary<string, string>();
                    string innerText = xmlNodeList.Item(index).SelectSingleNode("name").InnerText;
                    tmp["md5"] = xmlNodeList.Item(index).SelectSingleNode("md5").InnerText;
                    tmp["path"] = xmlNodeList.Item(index).SelectSingleNode("path").InnerText;

ответ лаунчера 

недопустимые данные на корневом уровне строка 1 позиция 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

nexusik1994 смотрим дословно:

 xmlDocument.Load(UpdatesURL + "version.xml");

по указанной URL-ссылке открыть version.xml

XmlNodeList xmlNodeList = xmlDocument.SelectNodes("/updates/data");

в открытом файле выбрать и перейти в раздел xml: updates - data

далее

for (int index = 0; index < xmlNodeList.Count; ++index)

цикл, т.е. для каждого элемента изв data в открывшемся разделе выполнить следующее:

создаем массив (словарь из записей)

Dictionary<string, string> tmp = new Dictionary<string, string>();
string innerText = xmlNodeList.Item(index).SelectSingleNode("name").InnerText;

выбираем первый попавшийся объект по тексту name

 tmp["md5"] = xmlNodeList.Item(index).SelectSingleNode("md5").InnerText;
                    tmp["path"] = xmlNodeList.Item(index).SelectSingleNode("path").InnerText;

выбираем первый попавшийся объект по тексту md5 и path, и записываем в соответствующие блоки нашего словаря(массива)

 versionsList[innerText] = tmp;

присваиваем переменной значение нашего словаря из элементов md5 и patch

 return versionsList;

возвращаем функции корректное значение.
Т.е. чисто в теории нужно что-то типа такого

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<updates>
	<data>
		<name>1</name>
        <md5>1111</md5>
        <path>51</path>
	</data>
	<data>
		<name>2</name>
        <md5>2222</md5>
        <path>52</path>
	</data>
	<data>
		<name>3</name>
        <md5>3333</md5>
        <path>53</path>
	</data>
	<data>
		<name>4</name>
        <md5>4444</md5>
        <path>54</path>
	</data>	
</updates>

P.S. я не знаток, могу ошибаться

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

123new мой пример 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<updates>
    <data>
        <name>dayz.pbo</name>
        <md5>84E1000731B4BE72F8D4046E53AEEB76</md5>
        <path>@dayz_epoch/addons/</path>
    </data>
</updates>

но при запуске визуал начинает ругатся  на  main.cs

                    if (localFiles == null || !localFiles.ContainsKey(srvFile) || serverVersion[srvFile]["md5"] != localFiles[srvFile])

исключение не обработано

 

System.Collections.Generic.KeyNotFoundException: "Данный ключ отсутствует в словаре."
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ну лаунчер собирается без каких либо ошибок, а то что не хватает тебе version в ней должна иметь инфу о обнове для клиента и тд если это лаунчер с автообнов.

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ищи полноценную версию со всеми недостающими деталями конструктора либо сам посмотри гайды и пересобери данный конструктор на своё усмотрение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DimitriPokki то что нашел это все тот недостающий файл был у автора на хостинге и доступа к нему уже нету вот и прошу помощи  как сделать этот недостающий файл(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

nexusik1994 Ну таких файлов по крайней мере должны быть 2, 1 на стороне хостинга в которой будет инфа о новой версии доступной а другой на клиенте что будет информировать что у вас старая версия и вы должны обновится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

действительно сейчас попробую перенести файл в директорию с лаунчером

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

У тебя какими-то данными об обновлениях должен твой version.xml заполняться. Причем не абы какой, а верной, т.е. где-то еще и папки с файлами соответствующие быть для возможности скачивания.
А раз программа работает, но выдает такую ошибку - это говорит об одном - файлы где-то не лежат. Что и где - тут виднее лишь тому, кто лаунчер пишет этот. В идеале это поискать на странице автора лаунчера с инструкцией.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

nexusik1994 не знаю точно в чем дело, но что-то мне подсказывает, что в

<path>@dayz_epoch/addons/</path>

этом вся беда.
тут не просто путь указывается, а путь, содержащий часть фразы из словаря расположений кода программы:

private Dictionary<string, string> ArmaPaths = new Dictionary<string, string>()
        {
          {"main", ArmaBasePath },
          {"mod", ArmaBasePath + "\\@dayzmod" },
          {"addon", ArmaBasePath + "\\@dayzmod\\addons" },
          {"keys", ArmaBasePath + "\\keys" }
        };

возможно, что-то типа такого подойдет

<path>mod/@dayz_epoch/addons/</path>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
18 часов назад, 123new сказал:

nexusik1994 не знаю точно в чем дело, но что-то мне подсказывает, что в

<path>@dayz_epoch/addons/</path>

этом вся беда.
тут не просто путь указывается, а путь, содержащий часть фразы из словаря расположений кода программы:


private Dictionary<string, string> ArmaPaths = new Dictionary<string, string>()
        {
          {"main", ArmaBasePath },
          {"mod", ArmaBasePath + "\\@dayzmod" },
          {"addon", ArmaBasePath + "\\@dayzmod\\addons" },
          {"keys", ArmaBasePath + "\\keys" }
        };

возможно, что-то типа такого подойдет

<path>mod/@dayz_epoch/addons/</path>

та же самая ошибка в визуале if (localFiles == null || !localFiles.ContainsKey(srvFile) || serverVersion[srvFile]["md5"] != localFiles[srvFile]) 

походу не суждено мне сделать этот аптейдер(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

На автоматическое обновление мода, файлы бросать в папку %MODS%
https://anonfile.com/OcR4G7e7n4/TestModUpdater_rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

nexusik1994 суждено, если понять логику работы автора данного лаунчера. Все что надо для понимания есть, осталось допетрить только.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

123new я уже нашел другой лаунчер  и с технической документацией  и прогой для сжатия в Lzma формат теперь то может и приступлю к внедрению сталкера в епотч))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.