Author Topic: How to afford the bandwidth?  (Read 3531 times)

chrischoo

  • Hydlaa Resident
  • *
  • Posts: 151
    • View Profile
(No subject)
« Reply #15 on: May 08, 2003, 02:15:47 pm »
To elaborate on the point you could just look at how badly ICQ works through a home router or firewall. To accomplish a peer-to-peer network would require pretty intensive amounts of research and would certainly multiply the number of people who have connection problems. A distributed network is probably more feasible, where some servers which are well-placed geographically could distribute load across the world.

This is certainly much easier to achieve, logistically and technically speaking. You could even have huge clans donate small amounts of money to fund dedicated servers around the world! That wouldn\'t be as costly as paying for paid subscriptions because the underlying system is still free and open and you would still maintain control of the server.

And it would still be a community-driven project without selling out to the demons of paid subscription.

I think that assuming that a distributed peer-to-peer network would work is too utopian although it\'s a pretty attractive concept. What happens when the system needs policeing then?

Urzaskategoku

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
(No subject)
« Reply #16 on: May 09, 2003, 04:49:30 am »
Have you ever thught about making a side program kinda like freenet but instead have the program distubite the bandwith some how.

leeta

  • Traveller
  • *
  • Posts: 12
    • View Profile
(No subject)
« Reply #17 on: May 09, 2003, 05:39:38 am »
Vengeance> 1337a,

You keep saying that. As far as I can tell, I haven\'t tried to insult anyone personally, so excuse me while I feel morally superior.

...

OK, I\'m back.


Vengeance> when you figure out how to get two NATted machines to talk to each other without a server in the middle, you let me know

I already figured that one out. Actually, I cheated. It\'s described in the XBox Live SDK (well, at least alluded to enough that someone with a head would get it), and it\'s also fairly well publicized, including at various network conferences.


Vengeance> THEN we\'ll worry about the anti-cheating stuff

Why did you even reply? You certainly seem neither interested in what I have to say, nor in the least interested in friendly conversation.

Anyway, you clearly know best, and I will defer to your obviously superior intellect, seeing as how you know everything. I certainly don\'t.

CarLBanks

  • Wayfarer
  • *
  • Posts: 4
    • View Profile
(No subject)
« Reply #18 on: May 09, 2003, 04:15:13 pm »
Don\'t flame the Devs. This game will last. It\'s the only free MMORPG with great gameplay and great graphics. If this is only pre-alpha imagine what beta will be like.

I like the idea of spreading it around so the bandwidth stays minimal and so the hosters don\'t feel left out.

Vengeance

  • Veteran
  • *
  • Posts: 1452
    • View Profile
(No subject)
« Reply #19 on: May 10, 2003, 12:49:35 am »
Leeta, you have been arroganet, negative and downright hostile since you showed up here.  Why?

ivern

  • Wayfarer
  • *
  • Posts: 2
    • View Profile
(No subject)
« Reply #20 on: May 10, 2003, 11:20:45 am »
This argument doesn\'t really make any sense...one of the aims of PS is to be a massively multiplayer game.  You (leeta) accept that a client needs to have \"important\" information such as character / mob position updates.  Well, there\'s two problems right there:

1)  When player A moves, either all other players need to know about it (impossible in a p2p environment, unless you want to extend that \"massive\" bandwidth requirement to every client rather than just the server), or a select group of players need to be notified (the ones close enough to notice.)  In this second (more realistic case), what\'s stopping the server from filtering this and only broadcasting the update to the clients that need to know about it?  There is absolutely nothing to gain from a p2p approach to this.

Another thing to keep in mind is position updates are possibly *the* most frequent packet that will be sent out.  People (and mobs) move a lot more than they speak or perform complex actions.  At the same time, they\'re one of the most important things to keep track off if you don\'t want the visuals to suffer.  And yet you seem happy to have every client broadcast these packets directly to the other clients...client bandwidth consumption should not be affected by the number of players on the server...that makes absolutely no sense.

2)  The other key problem is that this is a player-versus-environment centered game.  Who\'s going to run the environment?  You need a centralized game engine to run the creatures people are going to be fighting against...and we\'re back to square one again...your pick: a server broadcasting the mob updates, or a mass of clients trying to make a decision about them.  Once the client count breaks a few hundred, you\'re in a world of pain.

The p2p idea uses up entirely too much client bandwidth, and this brings me to my third and final point:  it\'s a good idea...for small groups of clients.  Well, guess what:  running a centralized server for a small group of clients takes up very little bandwidth too.

I wonder if I simply missed the point of the original post...since I don\'t see how on earth a p2p approach would relieve the \"bandwidth problem\" any more than pruning the broadcasts serverside would.  Please, if you can, enlighten me :)

Javier

Rulzern

  • Hydlaa Resident
  • *
  • Posts: 134
    • View Profile
(No subject)
« Reply #21 on: May 12, 2003, 08:04:05 pm »
wake up everybody, leeta is a troll
Thanks a lot Venge...

logan_dugenoux

  • Traveller
  • *
  • Posts: 25
    • View Profile
(No subject)
« Reply #22 on: May 12, 2003, 10:52:00 pm »
p2p is not the solution, but games such as dark age of camelot (http://www.darkageofcamelot.com/screen_shots/shots/shot_9.jpg) use *multiple servers* communicating each other. this can be a good approach, because after a certain amount of players, a single machine cannot handle the computing of a whole world.
\"Yes\", he said.

Urzaskategoku

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
(No subject)
« Reply #23 on: May 13, 2003, 04:32:52 am »
ok im naive in my thinmking but here we go anyways
p2p has worked in games just on the small scae compaired to mmorpg. ie parsec
now i run freenet on my computer and have run other programs that allowed users to donate computer power.

the first thing that would need to be established is if have a p2p system would benifit ps in anyway everlittle bit helps. could you say run certain protocols from a server and some from the p2p system.

the second thing that could help if someone help u put together a small program that could be run when people are nto playing ps. i know i would help out.

and there are some other alternative like getting together some people that would like to donate computer parts or money to get the servers going.

Urzaskategoku

  • Wayfarer
  • *
  • Posts: 6
    • View Profile
(No subject)
« Reply #24 on: May 29, 2003, 07:13:16 pm »
i was browsing on sourveforge and low and behold what did i find
http://sourceforge.net/projects/freemmg/
the dev might want to talk to these guys about thier software it could really help in keeping costs down when this have a full release.

audioaxes

  • Traveller
  • *
  • Posts: 34
    • View Profile
(No subject)
« Reply #25 on: May 30, 2003, 03:09:16 am »
ok im kinda hesitant to really get too deep in this game if my account will be wiped after each revision....

but i guess ill try it out and try my best to give good input in what could be improved....

cfp

  • Wayfarer
  • *
  • Posts: 2
    • View Profile
possible alternative to full p2p
« Reply #26 on: June 02, 2003, 04:10:57 pm »
ok despite being a vaguely competent \"pure\" programmer, i know very little about network protocols, p2p etc. etc. so feel free to rubbish my ignorance.

my suggestion, very very briefly is letting users with fast connections run untrusted servers.

slightly less briefly, here\'s how i see it working:

the game world would be divided into many \"cells,\" say 1000 for now, but it could easily be more.

each cell would be under the ultimate control of precisely one of the trusted servers. so far so uncontroversial i hope.

however, if an untrusted source (call it X) decides they\'ve got a seriousish amount of bandwidth going spare, my hope is that this bandwidth can be used.

what would happen is that X would query some principal server P which would then give X a quick bandwidth test. if X passed the test, P would allocate X a few cells from the most overloaded of the trusted servers, according to its bandwidth. P would tell X which of the trusted servers T to send what (possibly secured) query to, and then T would respond with the current state of everything in that cell. if there were enough of the untrusted servers each cell would actually have more than one untrusted server.

how does all this speed anything up? and how does our client C interract with all this? well on logging on C queries P to get the trusted server of the cell it\'s in, T, and any untrusted servers covering that cell, say X and Y. C then does a quick ping test to see which of X, Y and T is the fastest from its particular location. (it might be necessary to weight this test in favour of untrusted servers, to avoid overloading the trusted ones)

if T\'s the fastest for it, then it sends all its data packets (movement etc.) to T and expects a response from T. of course T must also forward whatever it recieved from C to X and Y, along with any \"random\" responses it sent to C, but this forwarding will not impact on C\'s ping as T does not need to wait for a response from X and Y before responding to C.

however, if X is the fastest for it say, along with forwarding (to T and Y) whatever C sends to it and the bare minimum of what it sent to C, it must also send T everything else it sent to C, so that T can verify it is performing correctly. in addition T might occassionally ask C to forward all it\'s communications with X as an addittional security check. if T found X to be malfunctioning, it would notify P which would in turn notify all the clients in that particular cell.

although this system does not result in any substantial reduction of the bandwidth being used on the trusted servers, because a client connected to an untrusted server does not have to wait for any response from the trusted server, lag should be massively reduced.

tom

Valkire

  • Wayfarer
  • *
  • Posts: 3
    • View Profile
(No subject)
« Reply #27 on: June 02, 2003, 09:47:30 pm »
Quote
Originally posted by leeta

Vengeance> when you figure out how to get two NATted machines to talk to each other without a server in the middle, you let me know

I already figured that one out. Actually, I cheated. It\'s described in the XBox Live SDK (well, at least alluded to enough that someone with a head would get it), and it\'s also fairly well publicized, including at various network conferences.


well heres my two cents on this matter...
 
so say the devs take a look at this Xbox Live SDK... then what?  what about linux and mac users?  does the Xbox Live SDK work for them?  also, what about when you have 5000 people online, and every client needs to know where each and every one of the other clients are?  wouldnt that just cause a whole lot more lag for every single client?  

peer2peer might be a novel idea... but we do live in the real world, and computers arent perfect.    i havent looked at the Xbox SDK, but im guessing where MS made it, its not going to have support for anything but MS systems, and if you havent noticed, there are more then just Windows users in this world

Rulzern

  • Hydlaa Resident
  • *
  • Posts: 134
    • View Profile
(No subject)
« Reply #28 on: June 06, 2003, 09:43:45 pm »
It sounds pretty risky to me...what with cheating (open source game, remember?) and connection reliability, also, some clever encryption would have to be applied to protect potentially sensitive data.
Thanks a lot Venge...