Multi-Server MMO Startup Problems :)
Options
chris
✭
Hey guys,
ive got a logic Problem while programming a Multi Server Infrastructur with MMO.
Setup:
Master Server as Proxy/ConnectionBroker
SubServers like ChatServer, LoginServer, GameServer/RegionServer
Now my Problem is...
I got a List of all Connected Peers at my Master Server.
I wanna handle an Event/Operation on my Chat Server like:
Chat to All Users, or Chat to All users Near me, or Chat to a specific User.
But _how_ can i do a Chat to an other Peer or much important to _all_ Peers?
I dont wanna have 2 Lists of connected peers, because on my MasterServer there is already one..
Hope you understand me
Best Regards,
Chris
ive got a logic Problem while programming a Multi Server Infrastructur with MMO.
Setup:
Master Server as Proxy/ConnectionBroker
SubServers like ChatServer, LoginServer, GameServer/RegionServer
Now my Problem is...
I got a List of all Connected Peers at my Master Server.
I wanna handle an Event/Operation on my Chat Server like:
Chat to All Users, or Chat to All users Near me, or Chat to a specific User.
But _how_ can i do a Chat to an other Peer or much important to _all_ Peers?
I dont wanna have 2 Lists of connected peers, because on my MasterServer there is already one..
Hope you understand me
Best Regards,
Chris
0
Comments
-
Ok, I have a similar architecture as yours. Clients and GameServers(Login, Character, Chat, Zone) connects to MasterServer(which is a proxy). When a client connects the master-server assigns it a unique Id, i call it UserId(very imaginative indeed). Whenever a client sends a message to a sub-server the master attaches its userId to all requests and sends it back to the sub-server. For chat, what I do is, after the user gets authenticated and chose a character to play, the master will sends a request to the chat server to subscribe the current user. After whenever the user sends a chat request it will be sent to the chat server with his/her UserId set. When the user enters a specific zone the zone server it self subscribes the user(UserId) on its channel(General, Trade, etc) then whenever another user sends a message on the zone's channel it will be sent to the client using the UserId through master server then to the client.0