public void OnRegisterClusterRequestSuccesful(RequestSuccesfulEventArgs args) { LoginConnector.OnClusterRequestSuccesful -= OnRegisterClusterRequestSuccesful; if (args.Accepted) { ClusterId = args.Id; LoginConnector.OnNewChannelRequestSuccesful += new LoginConnector.RequestSuccesfulHandler(OnRegisterNewChannelSuccesful); this.m_PlayerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); this.m_PlayerSocket.Bind(new IPEndPoint(IPAddress.Any, 28000)); this.m_PlayerSocket.Listen(100); ClientManager = new ClientManager(); ChannelManager = new ChannelManager(); WorldConnector = new WorldConnector(((int)Config.GetSetting("ClusterPort")).ToString()); WorldConnector.StartListening(); Thread acceptPlayerThread = new Thread(() => ClientManager.AcceptPlayers(this.m_PlayerSocket)); acceptPlayerThread.Start(); Thread processPlayerThread = new Thread(() => ClientManager.ProcessPlayers()); processPlayerThread.Start(); Console.WriteLine("Cluster request succesful!"); } else { Console.WriteLine("Cluster request wasn't succesful!"); } }