UAC and multiple datadirs in Windows, pt 2 - Page 4

UAC and multiple datadirs in Windows, pt 2

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Pxtl »

I'm uneasy about putting stuff in My Documents - originally, My Documents was a place to put files that you could fsck with to your heart's content - something that your apps wouldn't depend on... but iTunes already puts the iTunes music in My Documents/My Music, so Spring would hardly be worst. Application Data would be a better place... but the OS doesn't give you the kind of convenience for accessing those files that you have with My Documents.

Really, this is a spot where Microsoft kinda sucks, so I guess the My Documents approach is the best place to put userland files.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

Ungh. This is so bad :/

When is the last time a server admin did anything besides administrate servers and pull on his pecker watching a mirror (because he IS, that awesome.)?

So the point of this is to conform to a standard which doesn't exist in our genre, and please any server admin that might be out there.

In the meantime it utterly FUCKS any of us that have spent extensive time working out systems to that our users have to do nothing but keep clicking next.

Adding another layer of complexity for no other reason than to seem cool. GREAT PLAN, while we're at it lets force everyone to use linux so that we can ALL have operating systems that can't run anything useful (o wai- I forgot, gimp. DAMN O WAI - Gimp fucking sucks).

I didn't spend hours upon hours upon hours of my time working on a system that was great for my users and me, just so the entire thing could be DICKED over by someone who has no other reason then, hay, that's coo, lets do that even though it doesn't help anything!

N1

/FUCKING NURDRAEG!

Edit:
I've already had to hobble things around like crazy thanks to springs interesting way of handling things (And it's not all springs fault. The lobby takes an equal share of blame in this too).

HOW DOES THIS ACTUALLY HELP ANYTHING???!??
Opposed to just sticking spring in c:\games\spring
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: UAC and multiple datadirs in Windows, pt 2

Post by imbaczek »

Forboding Angel wrote:Opposed to just sticking spring in c:\games\spring
I, e.g., don't have such a directory, but I do have Application Data and My Documents (which other games put their stuff in, too.)
el_matarife
Posts: 933
Joined: 27 Feb 2006, 02:04

Re: UAC and multiple datadirs in Windows, pt 2

Post by el_matarife »

Pxtl wrote:Application Data would be a better place... but the OS doesn't give you the kind of convenience for accessing those files that you have with My Documents.

Really, this is a spot where Microsoft kinda sucks, so I guess the My Documents approach is the best place to put userland files.
Most of this will be in Application Data, the only stuff we really should put in My Documents\My Games is replays and chatlogs or stuff like that.

A few games take a different approach of storing all the maps and mods there like UT3, but I'm not sure that's the best solution for Spring on multiuser PCs since it seems like we'd end up duplicating data. Maybe we could compromise and put them in the Shared or Public My Documents\My Games\ folder instead?
Forboding Angel wrote: Custom directory now? I am using a custom directory, d:\spring, and it works "flawlessly" so what the hell are you talking about?
I wasn't aware how well Spring works when installed in a custom directory since I've never tried it. I just assumed there would be a few issues. My apologies.
Forboding Angel wrote:So the point of this is to conform to a standard which doesn't exist in our genre, and please any server admin that might be out there.

HOW DOES THIS ACTUALLY HELP ANYTHING???!??
Opposed to just sticking spring in c:\games\spring
As a matter of fact all the current titles you see on store shelves with the "Games For Windows" branding are required to adhere to this file structure, which means practically every single AAA level title in the last twelve months made the exact same change we're currently discussing.

Look I understand you may not have taken very many computer science type classes in college, but you need to understand there's very real reasons that people design systems in these ways. Look up the principle of least privilege and a few other related concepts. Basically, the gist of it is that users shouldn't be running with full administrative permissions at all time since you're basically walking a tightrope without a net: If you make a mistake, you're going to do something TERRIBLE to yourself. Additionally, it prevents programs themselves from accidentally or deliberately screwing up your system. A program running with administrative rights literally has nothing stopping it from modifying or deleting ANY FILES on your PC.

Finally, I can't express in words exactly how inspiring you and Smoth's professional demeanor has been in this thread. You two are truly elevating the Spring forums to a new level of elegant and refined discussion of issues.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

el_matarife wrote:As a matter of fact all the current titles you see on store shelves with the "Games For Windows" branding are required to adhere to this file structure, which means practically every single AAA level title in the last twelve months made the exact same change we're currently discussing.

Look I understand you may not have taken very many computer science type classes in college, but you need to understand there's very real reasons that people design systems in these ways. Look up the principle of least privilege and a few other related concepts. Basically, the gist of it is that users shouldn't be running with full administrative permissions at all time since you're basically walking a tightrope without a net: If you make a mistake, you're going to do something TERRIBLE to yourself. Additionally, it prevents programs themselves from accidentally or deliberately screwing up your system. A program running with administrative rights literally has nothing stopping it from modifying or deleting ANY FILES on your PC.

Finally, I can't express in words exactly how inspiring you and Smoth's professional demeanor has been in this thread. You two are truly elevating the Spring forums to a new level of elegant and refined discussion of issues.
/facepalm

No point even addressing that first part there, considering that I'm an IT guys there isn't really any need to speak to me as tho I am 5. THe problem is the way spring handles content, and what you want to do completely fucks over us content creators that are actually wanting to do really really cool things and develop our products into actual GAMES.

These companies also adhere to much higher standards in the way that content packages are handled, and automatic updating systems that actually make sense instead of having to do the roundabout bullshit that we have to go through now. You wanna fix something fix that at the same time!

WHen is the last time I downloaded a mod for a commercial game and was given an archive? O wait, that would be NEVER. Combine that with file longing and you've got a real bang up system there.

Commercial companies supply SDK with needed stuff in them instead of the users having to make the standalone programs themselves.

If you wnat to do it the RIGHT way then do it the RIGHT way and don't try to piss in my hair and tell me it's raining, with bull correlations that prop up your point but have no bearing upon the rest of spring.

We have a bunch of half finished stuff that no one wants to do. Some of them happen to be features that could make a HUGE difference and help things immensely (SM3 anyone?), but as it is they sit and stagnate. In the process someone has the great idea of improving one section regardless of how irritating and difficult it makes it for the end user, not to mention pissing off modmakers that are trying to push ahead but spring keeps holding them back with "interesting" architecture and practices.

If you want our games to stay as mods just say so, because at the moment they are treated as nothing more than mods by the way the engine works.

Why don't you make this improvement and at the same time, fix the way that content is handled?

DO that and then everyone is happy (including myself).

Me and Smoth are pissed off because we're about to get screwed (me more than him at the moment... I think...).
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: UAC and multiple datadirs in Windows, pt 2

Post by AF »

More development effort goes into hacks and kludges to get around the problems than it would take to fix them in the first place.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

There is some truth to that I cannot deny.

Fine you know what, just do what you guys are gonna do. As per usual we'll figure out some way to deal with it.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: UAC and multiple datadirs in Windows, pt 2

Post by AF »

If its possible I would suggest that running the archive mover tool with the flag -contentpath would print out the highest priority writeable folder for content, as such tools that currently assume the spring folder would instead run "archivemover -contentpath" and be told where to do their work.

And if possible "-gotocontentpath" under windows for opening windows explorer at that folder so that a start menu shortcut can be added in the installer.
User avatar
quantum
Posts: 590
Joined: 19 Sep 2006, 22:48

Re: UAC and multiple datadirs in Windows, pt 2

Post by quantum »

I think shared data dirs would be great. At the moment you need to duplicate all your maps if you want to run several spring installations for autohosts. That wastes enormous amounts of disk space.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: UAC and multiple datadirs in Windows, pt 2

Post by AF »

how do you mean? Couldnt you fix that in the autohost by letting it login and host multiple games?
el_matarife
Posts: 933
Joined: 27 Feb 2006, 02:04

Re: UAC and multiple datadirs in Windows, pt 2

Post by el_matarife »

Forboding Angel wrote: No point even addressing that first part there, considering that I'm an IT guys there isn't really any need to speak to me as tho I am 5. THe problem is the way spring handles content, and what you want to do completely fucks over us content creators that are actually wanting to do really really cool things and develop our products into actual GAMES.
I'm sorry, I was trying to explain the reasoning behind the change in a more simplified manner since you and Smoth didn't seem to understand the reasoning behind it.
Forboding Angel wrote: These companies also adhere to much higher standards in the way that content packages are handled, and automatic updating systems that actually make sense instead of having to do the roundabout bullshit that we have to go through now. You wanna fix something fix that at the same time!

WHen is the last time I downloaded a mod for a commercial game and was given an archive? O wait, that would be NEVER. Combine that with file longing and you've got a real bang up system there.
I've never seen a map for a game come with an installer for what its worth. I think Spring's archive mover system is a big step for the ease of use, since every other game just has you download stuff off Fileplanet and makes you find and copy the map into the right directory. You're right that most games have mods with installers, but most games can't fit their mods into single files like we can. Honestly, I think Archive Mover is even easier than having to click through and run some wizard-based installer, but if you really feel the need there's nothing stopping the community from developing some standard NSIS based installer template that you'd just need to change the name and graphics on to make your mod an installer.
Forboding Angel wrote: We have a bunch of half finished stuff that no one wants to do. Some of them happen to be features that could make a HUGE difference and help things immensely (SM3 anyone?), but as it is they sit and stagnate. In the process someone has the great idea of improving one section regardless of how irritating and difficult it makes it for the end user, not to mention pissing off modmakers that are trying to push ahead but spring keeps holding them back with "interesting" architecture and practices.
Sorry you're angry about other features not being completed, but whoever is going to work on this wouldn't suddenly decide to go finish SM3 or something if they stopped working on this. This is a change that's eventually going to need to be made so that Spring works properly on Windows Vista / Windows Seven and its about time we made the change now that you can practically no longer buy a system that ships with XP.
Forboding Angel wrote: If you want our games to stay as mods just say so, because at the moment they are treated as nothing more than mods by the way the engine works.

Why don't you make this improvement and at the same time, fix the way that content is handled?
Exactly what kind of changes are you looking for in the way Spring handles game content? Maybe we should just refer to Spring as a RTS game engine and call content packs "Games" instead of "Mods". Honestly, calling them mods doesn't really make sense anyway given they aren't "modding" anything that's included in the engine anymore anyway. Would having a real installer make that much of a difference in how people respect your games?
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

BAAAAAAWWWWW!!!!!

^^ See I summed up 3 full pages in one long word...

Look, here is the deal. ATM spring mods are done as crappy offshoots of something larger, except in the case of original content games, there is no parent.

The reason for installers is this:

So i can add automated updating systems to the game which require no user input and make it much easier on me as a result.

WHy would we use an installer for maps? Maybe because some of us are mappers and have huge amounts of maps and would like to put them all in one nice neat little bundle.

So that I can make maps for my own game and distribute them via said installer. Essentially you have a hierarchy like this...

Installer with engine, games, maps..
Installer with jsut he game (cause the user already has spring installed)
Installer with just maps ( in the even that the user already has the engine and the game)
Installer with the game and the maps (in case the user just has spring installed)

Archive mover is great for crappy OTA offshoot MODS, sucky for original content games. It's good for maps.

Also packaging the game in a single archive from a MODS point of view is great. Shitty when used for an original content game. Being archived means that if you want to do anything special concerning included files and whatnot with lua, you have to extract said content from the archive before you can use it... Case in point, Ogg files (see pure for a good description).

Another really really really really fucking big problem with spring is spring+lobby interferance with archives. Not to mention that .sdd's won't rehash untill you delete the dir and create it again.

Content management in spring freaking sucks, and it needs to be addressed, by both the spring devs AND the lobby developers.

Stop spring from treating games like crappy addons (a large part of the problem is the lobbies).

Also, if spring wnats to do something right, create an automatic updater that DOES NOT require server configuration. But 20 bucks says that someone will come up and say that that is the game makers problem. Yes, atm is is very much our problem, and select few are fixing it in good ways, now you want to make it even harder for us. That's an excellent idea.

You wanna move crap around? That's fine, BUT DO IT RIGHT OR NOT AT ALL!

You wanna fix the immediate problem without pissing people off? Start putting spring is c:\games\spring. Wanna fix it and piss of the content developers? Put it in arbitrary locations that are DAMN HARD to locate. I'm sure my users would love a full recursive search to find the damn mods and maps folders everytime they install or update.

And thanks to the locking of files, we have had to switch to an sdd sort of system (which tbh I like much better), but because of the fact that the .sdd won't fucking rehash, I have to resort to crappy (but fast) methods to make it rehash.

Either stop fixing something that isn't broken, or go the extra mile and do it right!!!

BTW FYI, vista allows access to directory contents, not so much to archive files. So my current system works with XP AND VISTA FLAWLESSLY.

THis really frustrates me. Do you WANT spring to stay as an indie game platform of subpar content (compared to commercial games) and low amounts of users?

Let us flourish! Give us the ability!

If this is done we will have content all over the place. Some people will have program files spring mods otehrs will have program files spring ... my documents spring mods ... mygames spring mods. It will be utter chaos! If you do this DO NOT give people the option of choosing which the want, because it completely screws those of us trying to move above and beyond.

Does anyone here understand at all why I'm pissed about this?

FYI most of my woes would be solved if there were a DIRECT REGISTRY ENTRY pointing to the mods and maps folder. It still makes thanks harder, but it doesn't completely screw me over at the same time.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

BTW Tobi, trepan, aus, etc

None of this is directed at you in a personal matter, so please don't take it this way. It's jsut that no one seems to be listening, and I'm trying to get the attention that is needed for these issues.

BTW, is someone cares to shoot down my problems with pure unfiltered logic I would be grateful, because atm it seems as though i am looking down a dark tunnel with no way out.

If anyone here would like a greater understanding of the problem, download and install this:
http://evolutionrts.info/evolutionpatch ... taller.exe
and run the update at least once.

Maybe that will help with the understanding of the situation. I don't care if you look and immediately delete, it's no big deal. I'm not plugging here, jsut showing the best example that I can think of.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: UAC and multiple datadirs in Windows, pt 2

Post by AF »

I'd ask licho about CADownloader<->lobby interface, but I agree that content management and installation is foobarred here.

I'd write a pretty web installer that would allow you to give it a handful of urls and it would download and install them with a nice GUI at the end, but I don't think its fair to insist the end user is running java 6 so I'd have to do it in something else, probably C# and winforms. Its an idea we might as well look at.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

I don't want my game installed via the lobby as a main recourse.
Would YOU want to market your gam eby saying, o well dl this then run this then dl this???

Talk about unprofessional!

CA Downloader uses a server side interface. My auto updater only requires that the files can be downloaded. You can even use filefront as a host with my updater / installer.

My updater allows for versioning control in the EXACT sense of the words. CA Downloader does not. (not in the exact sense). Haven't you ever seen the ca games in the lobby where you have 6 different versions being played? Yeah, not my cup of tea.

BTW let me point out that I DO like the thought of a web based installer, but expecting everyone to have java 6 like you said is kinda weak. Especially since it isn't even used for the main program. However if you can design it in a way that EVERYONE can use it, I would be very happy to take a look!
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: UAC and multiple datadirs in Windows, pt 2

Post by Tobi »

Forboding Angel wrote:Not to mention that .sdd's won't rehash untill you delete the dir and create it again.

[...]

And thanks to the locking of files, we have had to switch to an sdd sort of system (which tbh I like much better), but because of the fact that the .sdd won't fucking rehash, I have to resort to crappy (but fast) methods to make it rehash.
That's by design. Because current operating systems don't recursively update timestamp of all parent directories if a file somewhere deep in the hierarchy changes it is impossible for the archive code to determine when it should rehash. And rehashing everytime you start Spring or lobby was complained about as being too slow (and it was really slow, especially with files not in cache).

Either way creating/deleting a file directly in the .sdd directory should update the timestamp and make it rehash (unless this was changed since last time I looked at it).

(Or poke someone to re-enable the code that recursively walks all .sdd directories every spring/lobby start, but now only if some config variable is set, so you can still start Spring without huge amounts of hard disk crunching if you have multiple/big .sdds)
FYI most of my woes would be solved if there were a DIRECT REGISTRY ENTRY pointing to the mods and maps folder. It still makes thanks harder, but it doesn't completely screw me over at the same time.
That's like, exactly what would be implemented:
Auswaschbar wrote:the directory configured in SpringData in the registry if this key exists, the users "My Documents" ("Eigene Dateien", dunno how its called in english versions) otherwise (in Spring-subdirectory)
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

I agree that rehashing would be bad. I simply wish that refreshing the mod list would force a rehash. Course that's a lobby problem, not a spring issue.

I still digress that this huge change owuld make things much harder, but at least it would be liveable, if not annoying. But at least stuff would still work.

Is it possible that the spring Devs would implement a simple yet powerful way to patch games in spring? (would need a way to break locks on files).

Edit: (before, I said "Can", and that came acroos are really not cool, sry didn't mean it that way) -- Do you understand what I mean about content handling in spring being less than optimal? Or do I need to explain in less crappy/vague ways?
Last edited by Forboding Angel on 19 Jun 2008, 23:23, edited 1 time in total.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: UAC and multiple datadirs in Windows, pt 2

Post by AF »

I could figure out a downloader tool in C# that works akin to google updater that installs google earth, the problem is that Id need a tool that built the program from a stub, and I'm not sure how to do that while changing the files to be downloaded and keeping things like manifests intact so that it retains the necessary privileges required to run.

As it currently stands I'd have to rebuild the thing in visual studio for every single piece of content. Ideally it'd be great if one could do it in php and put it directly into the file sites, if I could do that given a stub executable and a php file I'd integrate it into darkstars files, and I'm sure JJ would do so too.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: UAC and multiple datadirs in Windows, pt 2

Post by Forboding Angel »

THe point of the updater, is the the updater always points to one updating install file which will always be the lates. The updater itself doesn't realize that the file is different at all. It's job is to simply grab the file, and run it.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: UAC and multiple datadirs in Windows, pt 2

Post by AF »

I think such a tool is best geared to just downloading initially, then we can discuss a patching solution, which we can then integrate into the program and the lobby.
Post Reply

Return to “Engine”