2013-03-18 3 views
0

Я пытаюсь запустить программу запуска обновления Java для своей игры. Подобно тому, как работает minecraft. Тем не менее, у minecraft есть только несколько .jar для загрузки, мне нужно будет перезагрузить все мои игровые ресурсы. Есть ли простой способ для Java проверить файл, для которого необходимо выполнить операции? Одна из моих идей заключалась в использовании файлов .7z, поскольку они могут быть сжаты очень маленькими. Это не сработает, потому что я не могу заставить Java зацепиться за операции 7zip. Еще одна идея, которую я имел, заключалась в том, чтобы определить, требуется ли обновление, он будет читать файл с набором таких команд: удалить активы/модели/malecharacter.obj добавить активы/модели/alien.obj ... и т.д.Java Updater Game Launcher

Но я не уверен, что это очень эффективно, и я также не могу найти много помощи в управлении файлами. Любая помощь и идеи будут оценены.

+0

Вы можете разделить свои бункеры. Оттуда вы можете просто проверить версии на них. Если вы не хотите манипулировать байт-кодами, модификация jar будет очень сложной. Если вы просто делаете контейнеры ресурсов (изображения, анимационные дампы и модели) и модифицируете эти файлы, это может сработать. Еще одна вещь, которую вы могли бы попробовать, это сопоставить jar, чтобы узнать, какие байты меняются и где, а затем сгенерировать серию модификаций, которые необходимо будет использовать, например: 'at byte 184 заменить следующие 26 байтов этими 290 байтами: {list of bytes}' , Просто некоторые идеи, которые вы могли бы попробовать. – 2013-03-18 16:13:28

+0

Спасибо за ответ. Но что, если мои вещи не в JAR? Я использую движок единства для развития этой игры. – Kyle

+0

Не запускается minecraft с использованием [Java Web Start] (http://stackoverflow.com/tags/java-web-start/info)? * «Есть ли простой способ для Java проверить файл, для которого необходимо выполнить операции?» * Операции? Beyond 'проверить обновленный файл и загрузить, если доступно' какие 'операции'? –

ответ

1

В последнее время я создал Game Launcher в Java, у меня все еще есть несколько проблем для решения, например, как обновить само запуска.

Во всяком случае, для обновления/версии игры у меня просто есть папка «версий» с папкой для каждой загруженной версии, она может быть не самым красивым решением, но она работает для нескольких версий и ее легко сделать.

Моя пусковая установка проверяет URL-адрес моего выделенного сервера, который имеет все доступные версии, который я называю его списком версий, а затем, поскольку папка версий на сервере подчиняется порядку пути, я могу вызывать любые версии, которые находятся в списке версий. Я загружаю выбранную версию и извлекаю ее в отдельную папку версии на ПК пользователя.