Server question.

08/27/2011 01:29 BaussHacker#1
Alright, I'm going to make a new source again, the other one didn't went very well. I structured it too much, so it got a bit confused :P

What I was thinking. I have split my auth server and game server, but don't know if I should make another server for maybe handling stuff like npcs and mobs or should I just stick with auth server and game server.

:)
08/27/2011 01:53 Spirited#2
There's really no point in splitting the servers into two or more projects unless you have multiple computers to run it on (which creates lag). I would just do one project for the servers.
08/27/2011 02:06 BaussHacker#3
Quote:
Originally Posted by Fаng View Post
There's really no point in splitting the servers into two or more projects unless you have multiple computers to run it on (which creates lag). I would just do one project for the servers.
Auth server and game server is already split.
08/27/2011 02:57 _DreadNought_#4
Bauss, use the MVA architecture.

[Only registered and activated users can see links. Click Here To Register...]
08/27/2011 03:24 Spirited#5
Quote:
Originally Posted by BaussHacker View Post
Auth server and game server is already split.
I mean project wise. Keep them in one console - one project.
08/27/2011 14:27 Mr_PoP#6
Quote:
Originally Posted by Fаng View Post
I mean project wise. Keep them in one console - one project.
it's preferred to separate your projects for many reasons , and if you didn't split it ,you still will use threads so your splitting it within one project tho.
08/27/2011 15:19 Korvacs#7
Its definitely better having them as seperate applications, there are times when you may want to disable the auth server but keep the game server online, or where the auth server crashes and you need to restart it, having it all rolled into one application doesnt easily allow for these circumstances.

It just allows for greater flexibility, one auth server can service many game servers as the amount of work it does is very small, you cant really do that if the auth and game server are rolled into one.

Theres also defensive reasons for it, having them seperate means that ddosing wont be as effective, and you can always just bring up another auth server on a seperate server etc etc.

As for NPC/Mob server(s) FusionOrigins uses an approach which has an npc server and a mob server, if you take a look or have already seen it, using this sort of approach can be extremely complex and difficult to manage, its definitely not necessary to go down this route, however for things like NPCs it could be advantages, mobs im not certain about to be honest, in my experience you can do it, but the amount of actions performed means that you have to relay alot of data around, you could probably get around this by using some form of shared memory instance rather than sending data between server.
08/27/2011 16:17 CptSky#8
Sending data between two local server may have a delay of like 10~40 ms, so if you split too much your project, players will have an highter ping. But it's good to split some things like the AccServer and the GameServer. And in your project, maybe using some DLL, so you'll not always update the application, but the libraries.
08/27/2011 16:36 Korvacs#9
Quote:
Originally Posted by CptSky View Post
Sending data between two local server may have a delay of like 10~40 ms, so if you split too much your project, players will have an highter ping. But it's good to split some things like the AccServer and the GameServer. And in your project, maybe using some DLL, so you'll not always update the application, but the libraries.
Yeah, like i say you can do it for some things and it could benefit you, for npcs you could send a req to the external server and have the external server send the packets to the client if you included the client socket in the transfer, would save some time.

But like i say some form of shared memory system could solve alot of this issue.