Technical support > Linux

Debian: compiling maps and producing identical files

(1/5) > >>

apo:
The last technical challenge.

I would like to build all maps from source and I also have to. I already know that those maps must be identical to the official maps to ensure compatibility between client and servers of different architectures.

The maps need to be compiled only once on my own computer but the build process should be reproducible for others.

Simply spoken: What is necessary to create an always identical 0maps.pk3 that will be recognized by all clients and servers? Any ideas welcome.

geever:
As far as I know mostly (if not only) floating-point weirdness can create different maps, so possibly they need to be compiled on the same CPU arch (but the compiled maps are not arch-dependent then.)

To check they're the same as we share I think the best is comparing to http://ufoai.org/maps/2.5/MAPS . I believe this is the list that is used by map-get (maps-sync make target) to update local maps. And it contains
--- Code: ---<bsp-path> <bsp-md5> <map-md5>
--- End code ---
lines of all current maps. This list is recreated on every rebuild cycle but I'm sure we can create & keep similar static list files for the future releases if needed.

-geever

apo:
Thank you. Is it necessary to keep a specific sorting order for the maps within the 0maps.pk3 file or is this neglectable?

Besides how do you keep the compatibility between different versions of UFO:AI? e.g. OpenArena provides patch pk3 files for new versions, so that you are able to connect to a new server and the new files will be downloaded automatically.

I haven't found a final answer for future upgrades yet. All in all version 2.5 ships 1,2 GB zip compressed data files. Let's assume you changed one map, or one music file in a future release, the whole package would need to be downloaded again. Indeed a major release won't happen frequently but I'm always looking for ideas how to save bandwith and resources.

geever:

--- Quote from: apo on August 15, 2013, 10:26:28 pm ---Thank you. Is it necessary to keep a specific sorting order for the maps within the 0maps.pk3 file or is this neglectable?

--- End quote ---

The order doesn't matter.


--- Quote from: apo on August 15, 2013, 10:26:28 pm ---Besides how do you keep the compatibility between different versions of UFO:AI? e.g. OpenArena provides patch pk3 files for new versions, so that you are able to connect to a new server and the new files will be downloaded automatically.

--- End quote ---

Usually we don't keep compatibility between major releases as it really happen rarely (1-2 years) and we change a lot. But last time we had a serious issue (with a map around v2.3) we "released" a patch pk3 too. We don't have an automatic update feature (yet), people had to manually download and add it to the game.

-geever

apo:
I have successfully compiled all maps for the first time. Of course the md5sums didn't match.  ::)

Two requests:

Could you move http://ufoai.org/maps/2.5/MAPS into your git repository, at least for the final release version?
What do you think about adding the commit string to the file, so that it is clear against which version the maps were compiled?

I'm struggling to see the problem:

For compiling the maps successfully only base/maps and base/textures are required, correct?

I use an intel based x86_64 linux system, your Makefile and commit: 480f1117edca8aea2dbc2073627c8af24ffe15fa from the 18th of August.

It took my core duo from 2009 10 hours to compile all maps.  :)

Navigation

[0] Message Index

[#] Next page

Go to full version