PDA

View Full Version : Packaging system


leafo
6th May 2005, 07:52 PM
Sorry if this was posted arleady, but I was just installing some mutators and I noticed the mess in my 30 gig ut2k4 folder. I think they really need to stress the use of a new package system. Right now, a lot of people dont use the current ut package system mainly because it craps out so easy, and people end up making external apps which is just a hastle when you can provide a zip and have them extract it. A new system really needs to become a standard. Also, they need to set up a better way to organize how the files are located. All the stock files are mixed in with my downloads, and its a pain in the ass when I am making a map or cleaning out stuff when I dont know what belongs to what. I am pretty sure it is possilbe through the INIs to set up multiple dirs for everything but once again that too much trouble really. With a solid package system we could easly manage all downloaded content and mods etc. It could also provide an external mod launcher so we dont have to go through directories, make batch files, or go into the game to start up another. I best solution I can think of it how HL2 does it with their giant archive files that hold the stock file structure with all the files in them. Then there is a serperate folder where if a file exists in the same spot as the layout in the mentioned file structure then it replacse it. Or files in that psuedo-folder can exist to serve as new content. This is could also allow people to replace older content, so lets say you want a new assualt rifle sound you can change it and still be compatable with other servers running mutators. There is too much of a heavy dependance on mutators for things like this, and thus you dont get to play with your favorite wep models on every server. BUT! Back to the packaging system, thats just as important, I want a way to manage content through external means.

Also, another good thing would to make a precompiled database of all files.. this would get rid of those long pauses when it has to check every single file you have. This is very annoying when you have so much extra content. And of course there would be the ability to rebuild this database on command, or it would auto append itself as new content was added. (I am actually taking this idea from STEPMANIA (I am sure other things do it too though) and how it handles managing songs : P, their package management system is good too btw, instead of installations it manages individual file sets, but that may not work to well for a unreal game layout.)

fireball
7th May 2005, 08:43 AM
By "precompiled database," do you mean the MD5/CRC/whatever it uses checks? Cause that'd be an anticheat's worst nightmare.

Otherwise, I agree on all points.

The_Head
7th May 2005, 09:02 AM
Keeping all mods completely seperate would be a godsend....

leafo
7th May 2005, 10:14 AM
By "precompiled database," do you mean the MD5/CRC/whatever it uses checks? Cause that'd be an anticheat's worst nightmare.

Why do you say an MD5 would be cheat protections worst nightmare? The md5 values is a key signature for a file, only one per file. Wouldnt this help show unity among files and make checking better?

Taleweaver
7th May 2005, 10:27 AM
Sorry if this was posted arleady, but I was just installing some mutators and I noticed the mess in my 30 gig ut2k4 folder. I think they really need to stress the use of a new package system. Right now, a lot of people dont use the current ut package system mainly because it craps out so easy, and people end up making external apps which is just a hastle when you can provide a zip and have them extract it. A new system really needs to become a standard. Also, they need to set up a better way to organize how the files are located. All the stock files are mixed in with my downloads, and its a pain in the ass when I am making a map or cleaning out stuff when I dont know what belongs to what. I am pretty sure it is possilbe through the INIs to set up multiple dirs for everything but once again that too much trouble really. With a solid package system we could easly manage all downloaded content and mods etc. It could also provide an external mod launcher so we dont have to go through directories, make batch files, or go into the game to start up another. I best solution I can think of it how HL2 does it with their giant archive files that hold the stock file structure with all the files in them. Then there is a serperate folder where if a file exists in the same spot as the layout in the mentioned file structure then it replacse it. Or files in that psuedo-folder can exist to serve as new content. This is could also allow people to replace older content, so lets say you want a new assualt rifle sound you can change it and still be compatable with other servers running mutators. There is too much of a heavy dependance on mutators for things like this, and thus you dont get to play with your favorite wep models on every server. BUT! Back to the packaging system, thats just as important, I want a way to manage content through external means.

Also, another good thing would to make a precompiled database of all files.. this would get rid of those long pauses when it has to check every single file you have. This is very annoying when you have so much extra content. And of course there would be the ability to rebuild this database on command, or it would auto append itself as new content was added. (I am actually taking this idea from STEPMANIA (I am sure other things do it too though) and how it handles managing songs : P, their package management system is good too btw, instead of installations it manages individual file sets, but that may not work to well for a unreal game layout.)
Lo and behold UT2004Mi (http://www.real-swedix.net/). If you install a mod, mutator, map or model with it, you can uninstall it just as easily. This tool (and similar programs with the same function) is so convenient I really think it should be included with Envy.

As for a better package system: it's already perfectly possible to compile the needed components of the 'M' stuff into a single U4mod. It's just that almost nobody but modders uses it (and if you're used to UT2004Mi, you don't even need it).

Oh, and things you download from a server are already placed in the \Cache folder instead of being installed, just to keep an overview over things.

leafo
9th May 2005, 09:50 PM
Oh, and things you download from a server are already placed in the \Cache folder instead of being installed, just to keep an overview over things.

That is only if the files doesnt exist. If it already exists then It checks to see if it is the same version. If it isnt the same version then you cant join the server without deleteing your version so the auto downloader canget it for you. Then you can use a cache manager to load it into your folders... BUT what happens when you want to go back to the sever where you got the other version from. Same error and you are stuck regetting the file. (Or just not loading things from the cache, but I like to collect things this way so I am stuck with dependancy problems)

Also, that program is 3rd party. I dunno if I mentioned but 3rd party doesnt help anyone unless they are avidly searching. So everyone else without it is left out in the dust unless something like that come stock.


Edit:
Okay I just tried out that program. Its just a simple cache manager. There are plenty of programs like this. It only manages what you install from your cach through this program. No help to me. I guess you can say the damage is already done to my ut2k4 dir : )

Angel_Mapper
9th May 2005, 10:40 PM
[Core.System]
Paths=../System/*.u
Paths=../Maps/*.ut2
Paths=../Textures/*.utx
Paths=../Sounds/*.uax
Paths=../Music/*.umx
Paths=../StaticMeshes/*.usx
Paths=../Animations/*.ukx
Paths=../Saves/*.uvx
Paths=../ThirdPartySystem/*.u
Paths=../ThirdPartyMaps/*.ut2
Paths=../ThirdPartyTextures/*.utx
Paths=../ThirdPartySounds/*.uax
Paths=../ThirdPartyMusic/*.umx
Paths=../ThirdPartyStaticMeshes/*.usx
Paths=../ThirdPartyAnimations/*.ukx

The only thing is you have to set that up before you start putting stuff in. You could look in the Manifest to see what was installed with the game, but that could take awhile.

Unreality
10th May 2005, 03:03 AM
hmm i'l try to keep this in mind when i have to do a full reinstall of Ut2004...

JaFO
10th May 2005, 06:08 AM
(1) the 'speed' of the rechecks has been improved already ... I think that people with multiple skins/characters installed can already confirm that UT2kx is significantly faster in this aspect compared to UT'99.

(2) 'pre-compiled' database : gain some / loose some
Sure you'd gain speed while the game was running, but you'd lose that speed-advantage while the program starts (checking the precompiled database vs new stuff and verifying checksums of the 'old' stuff)
This is the way UT2kx already works btw ...

IMHO the real problem is the fact that few modders used the system that was present.
It isn't even that difficult, once you learn how to build the required files. The real problem is the lack of an official GUI and documents. What Envy/UT2k7 really needs is a tool integrated into UnrealEd that can package whatever you want for distribution.

Half-life's (and Quake's) systems may appear to be more userfriendly, but their userfriendly-ness is their greatest weakness (it is far too easy to replace the default skins with neon-glow variants).

However ... like it or not 'version-control' will remain an issue, because it still depends on the developers having the discipline to manage their releases. Given that too often beta-versions are released as 'playable' content I doubt that will happen.

It is (and also will be) the problem for system-admins as they really shouldn't be running 'outdated' releases at all. Perhaps it would help if the developers could embed their e-mail/website into the content in a way that could be read by the server-admin. That way admins could always locate the true source of the custom-content and thereby prevent the use of outdated stuff.

fireball
10th May 2005, 10:15 AM
Why do you say an MD5 would be cheat protections worst nightmare? The md5 values is a key signature for a file, only one per file. Wouldnt this help show unity among files and make checking better?
I mean keeping a copy of the MD5 values around, free to edit :rolleyes: That kind of stuff needs to be generated dynamically every time.

Taleweaver
10th May 2005, 01:17 PM
That is only if the files doesnt exist. If it already exists then It checks to see if it is the same version. If it isnt the same version then you cant join the server without deleteing your version so the auto downloader canget it for you. Then you can use a cache manager to load it into your folders... BUT what happens when you want to go back to the sever where you got the other version from. Same error and you are stuck regetting the file. (Or just not loading things from the cache, but I like to collect things this way so I am stuck with dependancy problems)
That explains a few things I've experienced :hmm: I agree this has to be addressed (in UT2004 even...it's just a kind of bug). On the other hand, mappers have to name their versions different as well, so it's not entirely just Epic's fault.

Also, that program is 3rd party. I dunno if I mentioned but 3rd party doesnt help anyone unless they are avidly searching. So everyone else without it is left out in the dust unless something like that come stock.
Which was exactly the point of my previous post. So, just to make myself absolutely clear for any Epic ppl reading this thread: Epic should ship a similar, easy to use program with Envy. It doesn't have to be big or fancy. It doesn't even have to be operated from inside the game. It only has to be there...

Edit:
Okay I just tried out that program. Its just a simple cache manager. There are plenty of programs like this. It only manages what you install from your cach through this program. No help to me. I guess you can say the damage is already done to my ut2k4 dir : )
I know...the true power is to install and uninstall maps you've downloaded from a site without any hassle. UT map manager 1.5 (for UT99) is in that aspect a better program, as it shows all custom files to install/uninstall. Unfortunately, it has other disadvantages that have to be overcome :hmm:

Bot_40
10th May 2005, 01:55 PM
[Core.System]
Paths=../System/*.u
Paths=../Maps/*.ut2
Paths=../Textures/*.utx
Paths=../Sounds/*.uax
Paths=../Music/*.umx
Paths=../StaticMeshes/*.usx
Paths=../Animations/*.ukx
Paths=../Saves/*.uvx
Paths=../ThirdPartySystem/*.u
Paths=../ThirdPartyMaps/*.ut2
Paths=../ThirdPartyTextures/*.utx
Paths=../ThirdPartySounds/*.uax
Paths=../ThirdPartyMusic/*.umx
Paths=../ThirdPartyStaticMeshes/*.usx
Paths=../ThirdPartyAnimations/*.ukx

The only thing is you have to set that up before you start putting stuff in. You could look in the Manifest to see what was installed with the game, but that could take awhile.

Sorting by date modified is your friend :)