/// <summary> /// Creates the network client, using current client configuration values /// </summary> private void SetupNetworking() { if (_netClient == null) { var receiveHandler = new MessagesReceiveHandler(_logger, NetMessages.ServerToClientMessages, _net_cl_log_messages.Boolean); RegisterMessageHandlers(receiveHandler); _netClient = new NetworkClient( _logger, this, this, new SendMappings(NetMessages.ClientToServerMessages), receiveHandler, _binaryDataDescriptorSet, _objectListTypeRegistry, _cl_name, NetConstants.AppIdentifier, _clientport.Integer, _cl_resend.Float, _cl_timeout.Float); _netClient.Start(); } }
private void CreateNetworkServer() { if (_netServer == null) { var port = _hostport.Integer; if (port == 0) { port = _defport.Integer; _hostport.Integer = _defport.Integer; } var ipAddress = NetUtilities.StringToIPAddress(_ipname.String, port); var receiveHandler = new MessagesReceiveHandler(_logger, NetMessages.ClientToServerMessages, _net_sv_log_messages.Boolean); RegisterMessageHandlers(receiveHandler); //Always allow the maximum number of clients since we can't just recreate the server whenever we want (clients stay connected through map changes) _netServer = new NetworkServer( _logger, this, this, new SendMappings(NetMessages.ServerToClientMessages), receiveHandler, _binaryDataDescriptorSet, _objectListTypeRegistry, _engine.EngineTime, _maxPlayers, NetConstants.AppIdentifier, ipAddress, NetConstants.MaxClients, _sv_timeout.Float ); _netServer.Start(); } _netServer.OnNewMapStarted(); }
private void RegisterMessageHandlers(MessagesReceiveHandler receiveHandler) { receiveHandler.RegisterHandler <NewConnection>(this); }
private void RegisterMessageHandlers(MessagesReceiveHandler receiveHandler) { receiveHandler.RegisterHandler <ServerInfo>(this); receiveHandler.RegisterHandler <Print>(this); }