02-18-2004, 09:52 AM
Just a few notes. ON the âclientâ and âserverâ wording, one has to be clear about how the game actually work. There is not a ârealm serverâ game and a âsingle playerâ game on your own computer. For one, there is open multi player where the game is hosted on players computers for example.
What exist is a client component of the game. It is the part that interacts with the player, taking input and forwarding it to the server and getting responses back from the server and displaying information through the screen. That is the client part.
Then there is a server part, which runs the actual game. It doesnât care about things such as graphics or sound but just run the game, taking communication from each client in the game (in case there are many, there can be up to 8 in a game), processing it, together with the game itself and sending back communication to the clients about what is happening in the game.
Now, when you play on realms, the realms obviously runs the server, and you run a client on your computer (each player do).
In an open multiplayer game, each player still runs a client on their computer, in addition, one of the player run the server part as well (both runs âseparateâ on that computer and that persons client still communicate normally with the server even if that component happens to run on the same physical computer).
When you play single player, it is basically the same as open multiplayer but the game doesnât allow additional players to join. You still have both the client and the server components running on your computer and they still communicate with each other the same way as in multiplayer games (well, there is no sending of data over the net of course). There is not a special single player version of the game where the client and server part is merged into one.
In all cases where you play the game, be it single player, open multiplayer (hosting or non hosting) and realm, closed multi player), each player runs the exact same client component, and the server used is the EXACT same. There arenât multiple different server components for different game types.
Of course, nothing would prevent Blizzard from actually DO having different server programs, but that makes little sense, why in effect programming and maintaining several different âgamesâ when they could all be the same or at least extremely similar. They already duplicate some code between the client and server component, and that has in the past (and probably still) lead to several bugs where the code have not been similar enough and the information displayed on the client have not matched the actual server data. On top of that, it would be VERY confusing for players, playing a game that would differ depending on what type of game you player, even more so if the differences are small, subtle and unknown. That would be horrible.
Obviously the server IS aware of what type of state it is running in (on a realm, as a single player server or a open multiplayer), and differences are handled in a few places by checking the appropriate flag or variable showing it and acting differently. Mostly that would be from basic things such as not allowing other people to join a game in single player and such. Looking at the game code, it is easy to see that the actual game played do NOT have much, if any, (canât think of any at the moment) checks were the actual game played would check to see if we play a single player game or realm play and so on.
In case anyone wonder, the server code on your computer, has ALL the components and functions that would normally ever only be used on realms. One can look at all the game code that handle multiple games running at the same time on the server. One can see all the code that handle and set up the possible 1024 game slots on the server and so on). It is all there on your own computer since the server component is the same on realms and on your computer. The only thing lacking on your computer is the components handling the character database on realms and other such realm components such the chatting and initiating games through a call to the server. However, the functions receiving that call and setting up and inserting a new game onto the server exists on your computer along with the functions to setup a single player game (there are slight differences).
Looking at the game play part, there really is no differences. Looking at the code that drop items, there is no such check for single player, multiplayer or realm play. On top of that, there is no stats, code or other thing to keep track of how often you kill a monster or do runs. Actually, there is no need for it anyway. Setting up such huge system really make no sense to start with, but that is another story).
Of course, Blizzard do update and patch the server component on their realms more often that they patch the same server on your computer. That is mostly to fix realm problems such as duping, bug exploits and other cheats, or to fix critical bugs. Rarely do they make actual game play changes on the realms, but wait with those until there is a downloadable patch. For one, many changes would actually cause problems since the client would be desynced with the server to much and one would need far more data communication to keep in synch.
So no, there are no such run âcountersâ, nor any special MF dimishing effects in the game, not in single player, not on realms.
What exist is a client component of the game. It is the part that interacts with the player, taking input and forwarding it to the server and getting responses back from the server and displaying information through the screen. That is the client part.
Then there is a server part, which runs the actual game. It doesnât care about things such as graphics or sound but just run the game, taking communication from each client in the game (in case there are many, there can be up to 8 in a game), processing it, together with the game itself and sending back communication to the clients about what is happening in the game.
Now, when you play on realms, the realms obviously runs the server, and you run a client on your computer (each player do).
In an open multiplayer game, each player still runs a client on their computer, in addition, one of the player run the server part as well (both runs âseparateâ on that computer and that persons client still communicate normally with the server even if that component happens to run on the same physical computer).
When you play single player, it is basically the same as open multiplayer but the game doesnât allow additional players to join. You still have both the client and the server components running on your computer and they still communicate with each other the same way as in multiplayer games (well, there is no sending of data over the net of course). There is not a special single player version of the game where the client and server part is merged into one.
In all cases where you play the game, be it single player, open multiplayer (hosting or non hosting) and realm, closed multi player), each player runs the exact same client component, and the server used is the EXACT same. There arenât multiple different server components for different game types.
Of course, nothing would prevent Blizzard from actually DO having different server programs, but that makes little sense, why in effect programming and maintaining several different âgamesâ when they could all be the same or at least extremely similar. They already duplicate some code between the client and server component, and that has in the past (and probably still) lead to several bugs where the code have not been similar enough and the information displayed on the client have not matched the actual server data. On top of that, it would be VERY confusing for players, playing a game that would differ depending on what type of game you player, even more so if the differences are small, subtle and unknown. That would be horrible.
Obviously the server IS aware of what type of state it is running in (on a realm, as a single player server or a open multiplayer), and differences are handled in a few places by checking the appropriate flag or variable showing it and acting differently. Mostly that would be from basic things such as not allowing other people to join a game in single player and such. Looking at the game code, it is easy to see that the actual game played do NOT have much, if any, (canât think of any at the moment) checks were the actual game played would check to see if we play a single player game or realm play and so on.
In case anyone wonder, the server code on your computer, has ALL the components and functions that would normally ever only be used on realms. One can look at all the game code that handle multiple games running at the same time on the server. One can see all the code that handle and set up the possible 1024 game slots on the server and so on). It is all there on your own computer since the server component is the same on realms and on your computer. The only thing lacking on your computer is the components handling the character database on realms and other such realm components such the chatting and initiating games through a call to the server. However, the functions receiving that call and setting up and inserting a new game onto the server exists on your computer along with the functions to setup a single player game (there are slight differences).
Looking at the game play part, there really is no differences. Looking at the code that drop items, there is no such check for single player, multiplayer or realm play. On top of that, there is no stats, code or other thing to keep track of how often you kill a monster or do runs. Actually, there is no need for it anyway. Setting up such huge system really make no sense to start with, but that is another story).
Of course, Blizzard do update and patch the server component on their realms more often that they patch the same server on your computer. That is mostly to fix realm problems such as duping, bug exploits and other cheats, or to fix critical bugs. Rarely do they make actual game play changes on the realms, but wait with those until there is a downloadable patch. For one, many changes would actually cause problems since the client would be desynced with the server to much and one would need far more data communication to keep in synch.
So no, there are no such run âcountersâ, nor any special MF dimishing effects in the game, not in single player, not on realms.
There are three types of people in the world. Those who can count and those who can't.