Guild Wars vs. MMOG's - The Tech Side

2 pages Page 2
tifaRockheart
tifaRockheart
i-map person
#21
Quote:
Originally Posted by Gaile Gray
Do any of you guys remember the "speed hack" rumour of a year ago? Sure, the player looked like he was speeding like all get out, to himself and, short term I think he may have even appeared to be faster to those observing. But the server knew where he was at all times, and he wasn't going any faster than before the use of the alleged "hack." He snapped back to reality sharply, with no change in outcome from the attempt.
http://www.guildwarsguru.com/forum/s...ferrerid=92302

Although I know Gaile Gray isn’t a dev, if what is said in her comment is true, then it does show that rubberbanding is because of the server and one other interesting fact that there might be some subtle form of p2p.

In order for those observing to see the speed increase even for a moment, then that means there is some information that is passed to others that isn’t checked by the server for a brief time. So either the unchecked information goes from the speeder straight to the server and then directly to the observer, or the speeder’s information just goes straight to the observer (p2p). I probably should also make a special note that Gaile Gray used the term “I think” which means that it is unconfirmed rumors about the observers seeing the speeding.

Also awhile back, I listened to an online radio show made by Gaming Steve where he interviewed Jeff Strain and at one point Jeff Strain explained a little (very little) about instancing and district sizes.

Found here: (should be episode 34 – 10.10.2006 and around 22min into the show is when instancing comes up.)
http://www.gamingsteve.com/archives/...teve_ep_30.php

I found it interesting how instances are created by figuring out the best server location between two (or more) people and then sending each player’s information to that server. I wonder if this means that the lag we are experiencing is due to the servers we’re being sent to as the best for all the people in our groups, the same servers most people are being sent to because it’s registered as the best for them as well, which yes would be silly, but bugs in code sometimes do silly things (assuming it is a bug).

I'm not very experienced with server stuff atm, so sorry if all I'm saying is newb talk.
coldplay
coldplay
Banned
#22
when I am in a mission/instance, I am not on A-net's servers and A-net has no idea what I am doing. Is that right?
Shanaeri Rynale
Shanaeri Rynale
Desert Nomad
#23
Interesting thoughts. I always assumed that every time your exited a town a new address space was created on a server(a virtual GW world just for your party) you then played in this address space until you reached a town. Everything you need for the mission is created for you at the time, monsters, quests, scripts, NPC etcs.

Just like proper operating systems your address space is sealed off from all the others to protect you and others from things like crashes, hacks and exploits.

Thats why it's called an 'instance'

The entire hardware that GW runs on is probably a huge cluster of servers(or a few BIG ones) that are split into ones that control towns(thats why we have size limits on districts) as a district size is probably the limit a server/cluster can deal with. You then have the game instance servers/clusters

Now as for reconnents, the reason why it's fairly hard is to allow reconnects they would have to poke a hole through that nice sealed of little bubble thus leaving it exposed to what else is going on in that server (crashes, hacks, etc etc). Therefore it's a security and integrity issue as much as it is a game one. To get a secure system you need as few holes in between address spaces as possible.

My cobbled together on a beer mat theory on how it fits together is as below.



Now, A possible solution would be to periodically store a copy of the entire address space and allow it to be dissolved and recreated based on this copy. This could be done either automatically, or by say the purchase of an in game scroll of Divine Backup . The downside to this is that you need more capacity than needed as you require more space to store these backup address spaces.

it *could* be pure P2P but even P2P has reconnect facilities, so I expect any P2P aspests are if you like tying your parties connections to this address space we talked about. Imagine a big ball of wool being knitted by using seperate yarns of wool(each one of your party members) and the required info from the server, then when it's done that ball of wool is called an instance

So again, I believe reconnects are architecturally possible but may represent integrity and security issues at are unnaceptable to AN.
g
generik
Desert Nomad
#24
I am pretty sure it is not peer to peer, because nowhere are we required to open a port in our firewalls to allow incoming connections.
Kool Pajamas
Kool Pajamas
Forge Runner
#25
Nice discussion. Really makes me wish I paid more attention in Networking class. >.<
MirkoTeran
MirkoTeran
Forge Runner
#26
No way it's P2P.
a) That would open so much hacking options it's not even funny.
b) There is no way people on analog dial-up would be able to play
Knightsaber Sith
Knightsaber Sith
Furnace Stoker
#27
seut
seut
Wilds Pathfinder
#28
I still haven't found the interview i mentioned before, but this is a very good article by Mike O'Brien & Gaile Gray how to prevent cheating in games (and probably how they programmed Guild Wars):
http://www.arena.net/news/articles/m...cle040802.html
Arturo02
Arturo02
Wilds Pathfinder
#29
the odd thing is the err 7 problem, at least for me went away with the last update.

It's not on our end, the game was broken in some way or the servers couldn't handle the strain of the amount of people playing.
Yanman.be
Yanman.be
Banned
#30
I think it works the same as google's pigeon rank system.
G
Gli
Forge Runner
#31
If players were hosting instances, there would be thousands of games completely crashing (dumping every player) every hour because of the host/hosts leaving the game.
e
eternal pho
Banned
#32
Yes, and that's why there's a monthly fee in WoW and other MMOG's. It takes a lot of money to run the servers. Oh and in WoW I heard there's like a waiting list of some sort, since there can't be too many players at once.

I do believe most error 7's occurred right after Factions came out because a lot more players entered Anet servers. A lot of dial-ups are pretty bad these days though, but had no problem before Factions.
I
Inde
Site Contributor
#33
Okay, I think we've pretty much determined, and I've stated, that it's not a complete peer-to-peer so we can stop with those statements. The point in the discussion we are it is whether the servers are offloading the instance state to a peer (and it doesn't have to be a single peer) as this would indeed reduce the CPU cycles needed to maintain an instance and you would still be hiting the ArenaNet servers.

eternal pho, many people who are experiencing err7's are not on dial-ups and the increase of err7's has increased dramatically over the last several weeks so I don't think we are dealing with either a dial up or faction release issue there.
Agyar
Agyar
Frost Gate Guardian
#34
While it doesn't attempt to explain the amount or reasons for an Err7, one possibility for the lack of reconnects is just due to the way Anet's servers save instance data. Cutting corners like not saving the state of disconnected players amongst the instance data would cut some overhead in terms of memory usage, thus lowering the overall costs of their server infrastructure. Just like an instance of any form, it's a separate set of that data, which is created when a player enters the area and used until they leave, whereupon it's cleaned up. The more information about that instance you need to save, the more memory and server processing will be required.

As discussed and decided, the idea of a peer to peer connection being established and let go by the servers isn't a possibility. Like any persistant online game, it requires that connection to the server to govern everything from loot drops to player connections. The game clients themselves don't enough information on their own to manage the game and theoretically, if it was entirely p2p, there would be be gaps without communication to the server, where the client data would differ from the server data - a common result of lag. This would lead to things like, say, you picking up and item/gainingxp, disconnecting give minutes, then logging in again and not having those new acquisitions.

Basically to summarise, the probably source of these issues vs a normal MMO (like WoW) is Anet's server infrastructure. While it's probably not using any form of loose p2p connection, it is 'lighter' in comparison in order to keep costs down. The whole way the game instances everything is already one way of minimising overhead - versus the server power required to govern an entire continent persistantly.

Also, for those not in the know about how other MMOs (WoW) work, each Realm (server) hosts one copy of the large world area, which in itself is not instanced and has only one loading zone, between the two continents. Smaller instanced areas are found throughout the world (dungeons or instances to the players). If you disconnect, your character will eventually time out (much like any lost connection) and when you reconnect, you will still be wherever you were. In this sytem, your characters position in the world is constantly saved, even when you log off. In Guild Wars, the only data saved is the last town and even then, no local position data - when you log in, you're placed randomly inside the town, whereas in WoW, you'll be standing exactely where you logged off. Consider the processing power and memory to store that versus not at all, then multiply that out by the millions of players.
johan the destroyer
johan the destroyer
Frost Gate Guardian
#35
Well, I don't know much about this overall, but, while complaining about lag and error 007s ingame someone showed me how the problem was that the server was not uploading date from your computer, while it was sending the data.
L
Loviatar
Underworld Spelunker
#36
i do know that you cant be just a *little bit pregnant*

and there is not just a *little bit* of P2P as far as game security goes.

i am looking for the interview but it was stated that everything at all times was in house on their servers for complete security.

any time you hand off ANY part of a online game to someone elses pc you break security.
I
Inde
Site Contributor
#37
Loviatar, again ArenaNet is not going to disclose their full server architecture or tradesecrets. And really, one of the creators of the Battlenet system Mike O'Brien could certainly find a way to create such a system don't you think? If the data is scrubbed and it has to go through the arenanet system at some point it would still be secure. And I've been through all the interviews, podcasts, etc. and have all ready made reference to them in this thread. They state that the game itself is on the servers, that all towns and instances are hosted by their in-house servers (no complete reference to "everything at all times was in house for complete security" though.) It doesn't discount anything we are saying here that some information is being offloaded. So the fact that it is not a true peer-to-peer has been established but doesn't mean that they don't have a new method being used here. And if they have indeed created a new method then I think doing a test such as gr3g did but with 3-4 people in an instance would give more data versus going into one alone.

This is just a theory that seems to give an explanation for a lot of the hot issues that people are discussing right now
awesome sauce
awesome sauce
Krytan Explorer
#38
Wait... so noone can read the code to see what it does? Surely someone can just open the gw.dat or client file and see whats going on. What is it written in, C++, or something along those lines? I'm no expert by any means about programming, but the programmers can't be the only ones to be able to read it, could they?
L
Loviatar
Underworld Spelunker
#39
Quote:
Originally Posted by seut
Sorry, i'm a little slow in writing english

Jeff Strain explained parts of Guild Wars' architecture in an interview (i think it was before the release of Prophecies, unfortunately i cannot find it).
was it this one?

Quote:
IGNPC: Can you explain what it means when the client contains only "dumb" assets and how this makes hacking more difficult?

Jeff Strain: While no game is hack-proof, our goal is to provide you a very secure game environment. We accomplish this by developing a game structure that is hard to break and easy to fix. The foundation of our secure gaming environment is our client asset model.

With Guild Wars, all the file assets placed on your computer are assets that are not directly associated with the logic of the game. Hence they are considered "dumb" assets. They include art assets, music files and the like. All of the files related to the logical systems of the game - the "intelligent" assets -- are held only on our secure servers. Limiting access to the intelligent assets of the game makes it more difficult for the game to be corrupted. Most games are designed first as a single-player experience, and the source files are stored on the gamer's computer. Therefore the files have a greater inherent vulnerability to hacking. The design of Guild Wars as an online-only game allows us to maintain our source code in the most secure manner possible, on our servers.
http://pc.ign.com/articles/534/534454p2.html
Phaern Majes
Phaern Majes
Desert Nomad
#40
Well normally when someone err7's in my groups the whole group is hit by a lag spike. Then we notice someone afk for about 30 seconds. Then they drop. Normally its just one person, but occassionally 2 or 3.

But since everyone seems to agree that the system isn't completely p2p (some saying not p2p at all) and that the server is involved.... is there any reason for it to be p2p at all? I mean if the server is keeping track of everything anyways, such as monster positions, pc positions, skills being used, drops, xp, etc...what else could a p2p do that would help?