Downloading content from host of a game in lobby
Moderator: Moderators
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.
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.
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.
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.
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.
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.
- Tim Blokdijk
- Posts: 1242
- Joined: 29 May 2005, 11:18
@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.
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.
A person in the middle would create a single point of failure. But some more people that feel responsible for effective teamwork would help.

Spring development is not transparent for outsiders, if you have a very public development process then it draws people in.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...
...
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.
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.AF wrote:...
Tim, you have outright att ... ing the line.
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 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.
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.
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.
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.
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.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..)
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.
-
- Posts: 272
- Joined: 30 May 2006, 17:06
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.
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.
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
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

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...
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...
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.
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.
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).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.
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.
-
- Posts: 272
- Joined: 30 May 2006, 17:06
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.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.
- Tim Blokdijk
- Posts: 1242
- Joined: 29 May 2005, 11:18
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.
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.
-
- Posts: 272
- Joined: 30 May 2006, 17:06
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.
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.
- Tim Blokdijk
- Posts: 1242
- Joined: 29 May 2005, 11:18
"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.
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.
-
- Posts: 272
- Joined: 30 May 2006, 17:06
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.
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.