Downloading content from host of a game in lobby - Page 3

Downloading content from host of a game in lobby

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
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Thanks Snipa, now I'm laughing a little about it. That is precisely not what I meant of course, I just think we need somebody...

1. Recording what is being done.
2. Bridging the gap between coders and noncoders.
3. Bridging the gap between developers.
4. Keeping a long-term chart of plans.
5. To facilitate disagreement.

A scapegoat diplomat/librarian, really.
j5mello
Posts: 1189
Joined: 26 Aug 2005, 05:40

Post by j5mello »

Thanks for the clarification Tim i had read the doc when u first released it but haven't really kept up.

Honestly i can't see how organization could help other than to maybe stop people from changing stuff without taking into consideration the effects of the change. And to be perfectly honest of the people that are contributing now, i don't think any of them are that shortsighted. With number of people who do one-off donations and such i think some type of structured system would just throw people off...

Also can we pick a thread??? i mean we got this one and the other one in discussion. Ideally both should die but its a pain having the same argument happening in two different threads not to mention that both have slightly different starting topics.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

A website in an open source community like this is a creative activity, imposing a process any more complex then "get approval then do" is just too much hassle. It also eradicates all forms of trust. Perhaps for large changes and additions its appropriate, but the vast majority fo changes aren't large.

In the document it quotes wikipedia and the need to cut down on the problems of consensus, but a free open forum is the worst place todo it if thats a problem.

Neddierow, the lobby development scene doesnt need any change with regards to communication between developers and collaboration. I talk regularly with spring lobby developers in the lobby and licho like to pass out information about things that might affect us.

However it is engine development that needs this, and more specifically integration and structure. People are still doing powerhouse patches on the main spring core, theres not much documentation, a simple 4/5 word comment vaguely explaining a function would help immensly. Interfaces aren't maintained or updated or made aware of.

For example recently auswaschbar implemented the autovhost interface for spring and didnt tell anyone but licho because he thought lobby developers had no need of it, hence 'autohost interface'. Of course licho started telling lobby developers, and I pmed auswachbar asking to make a public thread about it and made some suggestions.

Its important that when developing an interface for use outside a project you consult those who'll use it and work with them to make it better for them.

Theres also a balance in whats needed. For example the Lua AI interface or lack thereof. I made a big song and dance in the lua forum befor e0.75 was released because it was such a vital issue, yet the reaction was to put in empty AI interface functions in a commit then remove them at a later date. AI developers weren't even consulted how they would like to interface with lua, and most importantly what they need in the interface.

There is a gross lack of consultation and collaboration on these things.


Whereas us lobby developers will start discussions on standards and organise ourselves.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

@neddiedrow
A person in the middle would create a single point of failure. But some more people that feel responsible for effective teamwork would help. :-)
j5mello wrote:...
Honestly i can't see how organization could help other than to maybe stop people from changing stuff without taking into consideration the effects of the change. And to be perfectly honest of the people that are contributing now, i don't think any of them are that shortsighted. With number of people who do one-off donations and such i think some type of structured system would just throw people off...
...
Spring development is not transparent for outsiders, if you have a very public development process then it draws people in.
There is no effective way to implement a feature that for example requires changes in a mod, the engine and lobby.
Discussing a feature would just be a part of the process and not a reason to lose your cool.
Developers would not get "stuck in a limbo" so much with a breakdown of communication between two dev's.
This would be a few good reasons.

The other thread is about using torrents, this one is about effective teamwork.
AF wrote:...
Tim, you have outright att ... ing the line.
I, have outright confronted you, I do think your on the right position and I also think that "ownership" over code in an open source project is a relative word. I think all developers should expect to work in a team. That doesn't mean devs have to follow any process I wrote. I can understand you feel offended and I guess I did cross a personal line with you. But it's not that I have a personal problem with you. I don't mind you expressing your opinion.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

However while jelmer keeps quiet, other rival systems are stuck, with their developers stuck in a limbo, wonering if theyre being made obsolete or wether they should continue to develop.
Development of my package system is simply not yet in the phase that I want to be all open about everything. When I arrive at the point where integration with other apps comes into play then I will try to be as open as possible to get a clean API and clear docs etc..

However you can be sure that I have nothing to do with cups CE lobby server.

The only thing that gets obsolete with my system would be the archive mover. I'm not sure if tobi didn't realise that my package system would involve such a thing, or that he just wanted a quick temporary solution to help springs user friendlyness.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

I have no clue what your package system exactly will implement and what not because you don't give really much (written) info about it (I think I forgot most of the stuff you said months ago..)

If it is a package system like the package management systems for Linux then it will not obsolete ArchiveMover since maps and mods would be user data, not data in the package management system, same applies if your package management system doesn't work on Linux (then ArchiveMover is usable on Linux).

Also I don't really see yet how you prevent FU like problems if you have a public API, since you can't force ads on the users then since Spring and all lobbies are open source and would probably never implement ads. I mean, bandwidth is cheap, but if you get less back for it then what you put into it it still isn't worth doing it.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

I have no clue what your package system exactly will implement and what not because you don't give really much (written) info about it (I think I forgot most of the stuff you said months ago..)
I wasn't expecting you to know my plans without me telling you, just that you might have guessed that it would include something that moves packages to the right directory, because that's what most package managers do.
Obviously I'm not expecting you to know everything about my package system if I haven't told you much.

But you're right that it will not be obsolete then because initially a linux version wont be supported.
CautionToTheWind
Posts: 272
Joined: 30 May 2006, 17:06

Post by CautionToTheWind »

Has anyone done the math on how long it takes to upload a file the size of a spring map on a broadband's connection upstream speed to 7 or 9 ppl? I don't think there's anything to fight about.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

The average user has 256kbps upstream through a DSL connection. Thats 32KBps upstream.

in a 2 v 2 that means 3 players to upload to, Take away 6 KBps for browser and lobby bandwidth thats 26KBps.

Thats 8.66 KBps per player.

For a 10MB map that means in the ideal optimum situation it would take 1182.44 seconds or 19.7 minutes to transfer a 10MB file.

This does not counter in decreased bandwidth due to lag between certain areas of the world, fluctuating bandwidth speeds, or protocol overhead.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

You forget to take into account that there may be 2 players that already have the map, which means 2 x total upload and 2/3 x total download, meaning it would be finished in 6.6 minutes.

I also would assume that in case a torrent solution is implemented, the host of a game isn't the only seeder. I think it is realistic to assume there would be some people seeding a lot of time with a lot of maps, of which some would probably also have a pretty high upload.

I can also imagine bots being implemented that can be run on a server with the only purpose of seeding maps to other players. (If it's plain bittorrent you don't need bots ofcourse.)

In the ideal case of the torrent download automatically starting when entering the battle, you should also subtract the time currently necessary to navigate to unknown files, find the map, wait for the 3 sec download wait, etc.

It isn't as straightforward as you wish.

But well, it would be nice if someone could implement it so it can finally be tested whether it works ;-)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

The time to navigate to UF is negligable as most of the newer lobbies open UF directly at the download page.

At which point you have then to choose between your inclient torrent, a fast dedicated http server, and the map torrent running in a far superior client such as azureus giving a higher download speed which the lobby could also automatically open...
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

The in client torrent or in client http download is obviously by far the most easiest.

Azureus is far from easy for someone who never used it.

If it downloads faster, then the in client lobby support is broken IMHO. The map torrent isn't really an option I think, since it is one torrent with a subset of all maps, not a flexible system with 1 torrent per map.

But seriously these are the facts:
1) Integrated automated downloading from a central server is good for the enduser.
2) Integrated automated peer to peer downloading is good for the enduser, though slightly worse then downloading from a central server because more settings are needed.
3) Integrated downloading is better then no integrated downloading, whether peer to peer or from a central server.
4) A central server providing the integrated downloads doesn't really work because ads cannot be served through the lobby, as the history with FU has shown.
5) A peer to peer solution would solve (4) at the cost of slightly more user settings, while it does not exclude (4), possibly with limited upload rate.
6) Neither (1) nor (2) will be implemented unless someone has sufficient development time, and certain other conditions are met.
7) As long as an UF/FU exists where lobbies link to, there is no real need for (1) or (2).

Whether the peer to peer solution is torrent or something else doesn't matter, that's an implementation detail.
Lippy
Posts: 327
Joined: 16 Jul 2006, 00:24

Post by Lippy »

Tobi wrote: The map torrent isn't really an option I think, since it is one torrent with a subset of all maps, not a flexible system with 1 torrent per map.
I don't think that's necessarily true; You could have a single torrent; and you can select which files you want to download from that torrent (No point in compressing the maps into 1 archive as space benefits would be negligible).

The way I see it, if some1 were to implement this, is to have 1 single updated torrent file, which contains the most popular maps, and when a new map comes out, all the people in the lobby would automatically download the latest torrent, and carry on seeding that. This way, people can also download the torrent file and just seed in their favourite torrent client.
One problem I can foresee, is that all the maps would have to hashed again, therefore taking up CPU time.

In the end, I agree this may not be the greatest idea; UF works fine (for now) and until we start seeing problems with UF, not much point in it.
CautionToTheWind
Posts: 272
Joined: 30 May 2006, 17:06

Post by CautionToTheWind »

The easiest and by far better solution is to direct link to UF. So we need to see a banner? So what? We're getting so much for free already! Display a banner on the damm client when a map is downloaded and be done with it. The bandwidth doesn't pay itself, you know.
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

4) A central server providing the integrated downloads doesn't really work because ads cannot be served through the lobby, as the history with FU has shown.
The part that will show a dialog with ads and download progress doesn't have to be opensource.. which is basically my plan of generating income. Sure hacking it is possible, but I doubt more than 1/10 people will do that. Probably less, since everyone knows bandwidth has to be paid for.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Tobi, have you tried v3 of azereus? The view used in v2 is the advanced view in v3, and the simple view is default. Its much prettier
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

I really would like to see a p2p system fail before before ads have to be used in some closed source ad-on to a lobby.

Also I don't quite understand Tobi's remark about "The map torrent isn't really an option ... not a flexible system with 1 torrent per map."
A lobby would seed all maps and mods present to all other users. A site like UF (or we add it to Fnordia's server) would be the tracker with the .torrent so no trackerless system, admins can monitor the content uploaded to UF just like now. A user can disable the p2p feature and as an effect won't seed or download anything.
Has to work fine right?, only problem is that it's not a real snap to implement.
CautionToTheWind
Posts: 272
Joined: 30 May 2006, 17:06

Post by CautionToTheWind »

All p2p systems have a slow start because resources must be located over the network. This could become tricky when ppl are waiting for a game, and ask the downloader how long is he gonna take, and he says he doesn't know because the p2p thingy isn't running yet.

Or, they could be http downloading at the maximum capacity of their line and not waste everybody's time.

I think its overwhelming which choice is better. I understand and respect that some people do not like ads, but ads produce income, and in this case give the best-case solution to a real problem that is VERY intimidating for noobs. Trust me, i've tried to get everyone i know playing spring.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

"Maybe" it's the easy option from the users point of view. But from a developers perspective you are going to run into a few questions as who is going to control the money? The Sy? Tobi? FU/UF? Start a foundation? Who will be liable for the damages if Atari likes to see that money? What will be paid for and what will not be paid for? And what can be expected in return from this money paid? Google and the likes also use the ads to make user profiles.. I know Google already knows all but should we do it to without discussion? I sure like to get a fat pay check if a company can use lobby usage data to build there profiles. We "technology minded jong males" have proven to be a very lucrative market.

Now I guess it's not going to be more then what? 1000 Euro? a year or so? I'm probably making it a bigger deal then it is but my point is still that an ads based thing creates another set of problems.
CautionToTheWind
Posts: 272
Joined: 30 May 2006, 17:06

Post by CautionToTheWind »

I believe i read in this forum that the Unknown Files admin's only objection to automated search and download of the maps is that he can't show a banner ad that way. So my suggestion is simply to show one of his banner ads on the download window that would show the progress of your map download. If the developers want money, then yes you do have a complicated issue that you have to decide among yourselves. Otherwise its simply sticking to simple things that work. It seems you do not want to spend your time administering a foundation, nor creating or embedding a p2p system. That's why i say its the easy solution.

As things are right now, players must use a browser to get the maps, they watch the banners and UF makes the money. My suggestion is to make it automatic, we watch the banners and UF makes money.
Post Reply

Return to “Engine”