We chose LiveUpdate to store static or rarely changing content that has a large volume.
We’re interested in two cases:
We have made one LiveUpdate and within a week we are programming without any problems, without reassembling LiveUpdate.
We made a small game loader (< 20 mb) that loads the whole game from LiveUpdate every time. This loader works for six months without having to download the game from the store. At the same time, we change and add a lot of everything to the game, putting it all in LiveUpdate.
Based on your post above this is still a problem. If non-live update content is changed the system currently doesn’t accept the live update content, even if it is unchanged. I’m not sure how to deal with this. Now that I think of it it feels like something we should handle. But I’m worried about complexity. What if a change in non-liveupdate content is made that affects the live update content (I’m not exactly sure what kind of change that would be though)? What about content that is shared between live update and non live update content?
This case should be covered by the ability to update the manifest, reboot and load missing resources. This should be working as long as the loader is unchanged.
ERROR:RESOURCE: Resource ‘/main/debug.guic’ is expected to be in the bundle was not found. Resource was modified between publishing the bundle and publishing the manifest?
ERROR:GAMESYS: Manifest verification failed. Manifest was not stored.
Okay, i changed one gui node in the main project. But this node has nothing to do with LIVEUPDATE. None!
Well, as the feature is right now, the live update is supposed to be updated together with the main app. This was part of the MVP of the feature.
We have always intended to add more features to the live update, and being able to upload a completely new manifest was among those features. We’ve just haven’t had time (nor enough users requesting it).
And one more observation.
If a certain collection is excluded (to get into liveupdate), then all other proxy collections inside are excluded too, even if they do not have the “exclude” checkbox.
Is this how it’s supposed to be?
As for what resources are excluded, any resources that are not directly referenced by the main app, will be excluded if their parent is excluded. Think of it as cutting off a tree branch.
On the whole, it’s clear.
We have a couple more options for solving our tasks with liveupdate.
We tried to take the whole project to the liveupdate (thousands of files)
And while downloading liveupdate already in the application encountered an error::
ERROR:RESOURCE: Could not calculate valid resource insertion index, resource probably already stored in index.
What is it?
Hello, everyone!
We’ve hit a big problem.
Starting with version 173 (and up to 178) LiveUpdate does NOT work correctly.
In particular, LiveUpdate from version 172 works perfectly.
What are the errors? Doesn’t want to save the manifest, says there are no resources (which are actually present). In short, there is very strange behavior.
possibly the game will start normally, or possibly it will complain that some resources are missing and crash. (this happens with one and the same build, so it’s not clear what it depends)
if the game is started, you can stably play!
after leaving the game, if you run it again, it immediately crashes because it does not find the manifest.
if you run it again once more, the game again loads the entire LiveUpdate, but this time it does not start normally, but stops forever.
All of the above is repeated in 100% of cases.
second start (p.5)
INFO:DLIB: Log server started on port 43469
INFO:ENGINE: Target listening with name: samsung-SM-N970F - 192.168.1.36 - Android
INFO:ENGINE: Engine service started on port 8001
INFO:ENGINE: Defold Engine 1.2.178 (af6a29c)
INFO:ENGINE: Loading data from: dmanif:game.dmanifest
INFO:LIVEUPDATE: Found /data/user/0/.../files/liveupdate.arci.tmp
WARNING:LIVEUPDATE: Loading LiveUpdate manifest: /data/user/0/.../files/liveupdate.dmanifest
ERROR:RESOURCE: Failed to read manifest /data/user/0/.../files/liveupdate.dmanifest (-2)
ERROR:RESOURCE: Failed to create factory game.dmanifest with result -2
third start (p.6)
INFO:DLIB: Log server started on port 44899
INFO:ENGINE: Target listening with name: samsung-SM-N970F - 192.168.1.36 - Android
INFO:ENGINE: Engine service started on port 8001
INFO:ENGINE: Defold Engine 1.2.178 (af6a29c)
INFO:ENGINE: Loading data from: dmanif:game.dmanifest
INFO:ENGINE: Initialised sound device 'default'
INFO:LIVEUPDATE: Found /data/user/0/.../files/liveupdate.arci.tmp
INFO:LIVEUPDATE: Renamed '/data/user/0/.../files/liveupdate.arci.tmp' to '/data/user/0/.../files/liveupdate.arci'
You need to set the SERVER_URL global variable in launcher.gui_script to play. Then create android build apk and liveupdate in zip mod. Extract the liveupdate to the folder path: {http server root}/{debug or release folder}/{build architecture, here android}/{there are many unzipped files}. After that you should also create a file named ‘liveupdate_version’ here without an extension with one line {“value”: “1.1.1.3”} - to compare whether you need to re-download liveupdate if different. Run the http server from root folder. Now the android app should download the liveupdate successfully, BUT the second and subsequent launches will have random errors.