ManifestCreator suggestion

Discussions About MOSS (Myst Online Server Software)

Moderators: a'moaca', rarified

Post Reply
User avatar
Mystler
Member
Posts: 27
Joined: Sat Apr 09, 2011 9:22 pm
Contact:

ManifestCreator suggestion

Post by Mystler »

Heya,
is it actually necessary, that the Manifest Creator packs the whole client twice? I mean once for every txt file except External.txt and then the whole client again for External.txt. It should be enough to pack the client when processing any txt file, but ignore packing when processing External.txt, afaik. And it would save some time. :D

~Mystler
a'moaca'
Member
Posts: 163
Joined: Sat Dec 13, 2008 11:22 pm

Re: ManifestCreator suggestion

Post by a'moaca' »

Hi,

I am pretty sure that MC does not "pack" anything twice. When it comes across a file, it checks timestamps and if they match and the file is compressed at the destination it does not recompress it. The compression is the slowest part so this is already saving quite a lot of time.

I think it does, however, recompute both checksums (uncompressed and compressed). To do otherwise it would have to remember all the data from files in the same run, and I'm pretty sure it doesn't do that. It would be nice, sure.

It sounds like you might be running the program more than one or two times, so here are some tips that should improve your situation:
  • The MOSS setup instructions are for a full-functionality shard. The manifest .txt files provided with MOSS are matching MOUL/MOULa's manifests. It is not actually necessary to match MOUL 100%.
  • If you know that your clients have the files, you can leave those files out of manifests. Note, I mean to sometime test what the client does if it asks for a manifest that does not exist at all. It may be possible to have almost no manifests (just for what you're changing) but I can't promise that until it's been tested.
  • Another thing is that External does not *need* to have everything in it. Each age's manifest is checked at link anyway, I believe. So I usually actually symlink ThinExternal.mbm to External.mbm. This will save some manifest creation time (just skip External), and it saves the client checking ALL the files if something in ThinExternal changes.
  • So if you're updating a lot for a new age you're working on, leave it out of External. Now you have only one "pack".
  • If you're just updating one file a lot, like testing new builds of UruExplorer, there's a little "quick hack" script, support/update-mbm.pl which I use for that case. I dump the new uncompressed executable in the correct place on the MOSS server and run the script, and it updates that one file in the .mbm file.
  • The update-mbm.pl script is not as useful if, for example, you want to update both External and ThinExternal. But you can always uncompress the file and run the script on the next manifest. It *should* compress to the same checksum. Check the output of the script to be sure.
I hope these ideas can help speed up what you're doing.

- a'moaca'
User avatar
Mystler
Member
Posts: 27
Joined: Sat Apr 09, 2011 9:22 pm
Contact:

Re: ManifestCreator suggestion

Post by Mystler »

Ah, great! I didn't know that i may replace the External.txt by ThinExternal.txt. I had the idea to try it after creating the topic, but i had no time yet. ;)

Thank you! :D
Post Reply

Return to “MOSS”