PlaneShift

Gameplay => General Discussion => Topic started by: leeta on May 04, 2003, 12:19:47 am

Title: How to afford the bandwidth?
Post by: leeta on May 04, 2003, 12:19:47 am
I notice that most objects are actual entities that appear over the wire (in this release, crystals :-))

I also notice that all traffic goes to the main server.

How on earth are you going to afford running a world of any size for free? Why not use some peer-to-peer scheme? (there are solutions to cheating in p2p, too)
Title:
Post by: leeta on May 06, 2003, 05:01:10 am
Great! Nobody knows!

Yet another free project that\'ll die painfully, I suppose? Get out now or be burned later...
Title:
Post by: acraig on May 06, 2003, 05:46:32 am
We\'ve received great support from many different providers that are willing to host our game free of charge because of the quality and dedication of the team.  We are really making a good game here and people are willing to help us out.   We are not some glassy eyed bunch of teens with dreams of grandeur of becoming 3l33t.  

Quote

Yet another free project that\'ll die painfully, I suppose? Get out now or be burned later..


This is exactly the type of attitude that causes projects to fail.  We realize that the is no such thing as a free lunch yet we are going on.  To worry about things like this is a moot point.  We are not doing this for the money.  We are doing it because we want to.  If nobody wants to host it or we only get 5 people online then so be it.  The fact of the matter is that even if nobody plays it, it is still something that we want to work on.  However, I think that it will be very popular in the future and we can make a difference in the online gaming community.

There are people willing to donate the requirements in order for this to succeed.  To say that the project will die because of hosting is totaly false.  You might as well ask \"Why bother to live?\" You will only die in the end.
Title:
Post by: Vengeance on May 06, 2003, 07:04:14 am
1337a,

Our current PS tech demo has 21,000+ player accounts on it.  We received 15 different offers to host game servers within 48 hours of posting the request on our website.

But you might get burned later, so you better bail now.

Sounds like sour grapes to me.  I suggest you go make your peer to peer game since you are obviously an expert.

- Vengeance
Title:
Post by: leeta on May 06, 2003, 11:16:48 pm
Wow! I got flamed not once, but twice! For asking an honest question.

An alternative answer could have been:

\"I missed your question the first time, so please be patient. We actually have several offers to host the game for free already, so for now it seems to work out OK.\"

I wonder why it wasn\'t like this?
Title:
Post by: Kiern on May 07, 2003, 12:42:29 am
Maybe because you acted like a little kid when no one answered your question?  So, basically you flamed the whole game (and therefore the devs) and you expect them to be NICE to you?  Hate break it to you, but that\'s not how things work...sorry if that makes you cry
Title:
Post by: Peeeevs on May 07, 2003, 12:44:14 am
haha...calm down people its only a game ;)

oh wate... did i say game..i ment its a jewl !! lol

do you think it will ever go Pay 2 play??? cause when
it starts to get real popular i dont think your going to get free hosting for 20k+ people playing at a time...
Title:
Post by: leeta on May 07, 2003, 04:24:20 am
Keep it coming! I can heat my house this way!

I\'m not sure I\'ll feel at home on this board, though, because vague cynicism is about as far as I can create on my own.

Is anyone interested in debating the merits of a peer-to-peer MMOG with appropriate mechanisms for anti-cheating?
Title:
Post by: Kiern on May 07, 2003, 04:58:35 am
Oh come on leeta, I was looking for a good argument (having not been here in a while) and I guess it\'s not gonna happen ;(  ;(

Well, I\'m off then, laters.
Title:
Post by: acraig on May 07, 2003, 07:16:40 am
Well, I\'m sorry that you took my post to be a flame.  I was just responding to what I thought was a mis-informed opinon that you seemed to have.

For the peer-peer system I cannot see anyway it could work without the server validating the data comming in.  What data do you see as being available for peer-peer and how would you work out any cheating issues?
Title:
Post by: Ravenmaster on May 07, 2003, 07:58:55 pm
Wow! Acraig, your posts are always so... uh, nice. No matter how stupid, vague, poorly worded, or ps-attacking it is, you always come up with a good answer. I congratulate you on this.
Title:
Post by: kinshadow on May 07, 2003, 08:22:15 pm
Quote
Originally posted by acraig
For the peer-peer system I cannot see anyway it could work without the server validating the data comming in.  What data do you see as being available for peer-peer and how would you work out any cheating issues?


I have actually thought of several ways to implement a peer-to-peer persistent world, but the likelihood of it being technically possible is at least a decade away.  Data validation (player movement, geography, etc.) would have to rely on a multi-system voting scheme, so that a rogue player would not be able to subvert only the local system to gain the behavior wanted.  You would still need an entity with authority (either a person or machine who logs into the p-p network) to add features, distribute updates, and change the world.  The security of said authority can be kept using a public/private key system (like a secure socket) to force clients to update from a central location.  Unfortunately, you would still need a primary server to reload the world into the network if all clients exit, but it would not need the space or bandwidth of a server cluster in a conventional system.  The big draw back is that the clients would all have to have fast connection, plenty of spare cycles, and a lot of space.... which you probably can\'t guarantee for another 10 years (IMO).
Title:
Post by: leeta on May 08, 2003, 05:29:52 am
Every client needs to have the information about what every other player is doing, to show that to the player, right? Thus, there is not necessarily any extra bandwidth requirement.

Servers can be authoritative about \"important\" stuff like rate of character level advancement, trade, etc. Also, a single attempt at cheating would probably just be logged as a statistic on the server when some number of cooperating machines agree. A pattern of detected cheats could lead to spurious devolvement of the character; there could also be public records of cheating statistics.

The game design could limit the rate of character advancement, accumulation of wealth, etc. It could be balanced such that even if you found a \"legal\" way to get lots of experience or lots of currency in a short period of time, the character server would limit the rate of gain.

Note that I\'m assuming someone with a little more authority stores the characters, to avoid local-side editing (a la phantasy star online), so I haven\'t yet figured out a good way of being TRULY peer-to-peer; only some ideas about how to greatly reduce the cost of running one of these games.

Too bad that Kiern left; he sounded so manly.
Title:
Post by: killercow on May 08, 2003, 09:22:02 am
What would be useful would be to have a whole range of hosts hosting different pieces of the entire Planeshift world.
So you would have different hosts for different areas of Planeshift. You would then also have a \'home\' server that would hold all your stats and info about your character. It would be good if this \'home\' server was located in your country, or close to your country for latency reasons as the \'home\' server would be most frequently accessed.

Of course this sounds like it would take a lot of re-programming to accomplish, it could work and would spread bandwidth between several hosts for better bandwidth per player.

Just an idea. :)

Hope it helps,
K-C
Title:
Post by: Vengeance on May 08, 2003, 09:47:34 am
Doing this is in the plan but a LONG ways off.

Regarding the peer-to-peer way of doing this, 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.

THEN we\'ll worry about the anti-cheating stuff, which as Kinshadow has started to explain, is so ungainly, complex and computation-intensive as to render it completely impractical--and certainly less practical than finding people to donate servers to do it the way every fricken game does it.

If you can\'t see that, I can\'t help you.

-V
Title:
Post by: chrischoo 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?
Title:
Post by: Urzaskategoku 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.
Title:
Post by: leeta 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.
Title:
Post by: CarLBanks 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.
Title:
Post by: Vengeance on May 10, 2003, 12:49:35 am
Leeta, you have been arroganet, negative and downright hostile since you showed up here.  Why?
Title:
Post by: ivern 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
Title:
Post by: Rulzern on May 12, 2003, 08:04:05 pm
wake up everybody, leeta is a troll
Title:
Post by: logan_dugenoux 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.
Title:
Post by: Urzaskategoku 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.
Title:
Post by: Urzaskategoku 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.
Title:
Post by: audioaxes 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....
Title: possible alternative to full p2p
Post by: cfp 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
Title:
Post by: Valkire 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
Title:
Post by: Rulzern 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.