public NecSetting(NecSetting setting)
 {
     listenIpAddress               = setting.listenIpAddress;
     authIpAddress                 = setting.authIpAddress;
     authPort                      = setting.authPort;
     msgIpAddress                  = setting.msgIpAddress;
     msgPort                       = setting.msgPort;
     areaIpAddress                 = setting.areaIpAddress;
     areaPort                      = setting.areaPort;
     requireRegistration           = setting.requireRegistration;
     requirePin                    = setting.requirePin;
     poolCharacterIdLowerBound     = setting.poolCharacterIdLowerBound;
     poolCharacterIdSize           = setting.poolCharacterIdSize;
     poolNpcLowerBound             = setting.poolNpcLowerBound;
     poolNpcIdSize                 = setting.poolNpcIdSize;
     poolMonsterIdLowerBound       = setting.poolMonsterIdLowerBound;
     poolMonsterIdSize             = setting.poolMonsterIdSize;
     poolDeadBodyIdLowerBound      = setting.poolDeadBodyIdLowerBound;
     poolDeadBodyIdSize            = setting.poolDeadBodyIdSize;
     poolDynamicIdLowerBound       = setting.poolDynamicIdLowerBound;
     poolDynamicIdSize             = setting.poolDynamicIdSize;
     logLevel                      = setting.logLevel;
     logUnknownIncomingPackets     = setting.logUnknownIncomingPackets;
     logOutgoingPackets            = setting.logOutgoingPackets;
     logIncomingPackets            = setting.logIncomingPackets;
     discordBotToken               = setting.discordBotToken;
     discordGuild                  = setting.discordGuild;
     discordBotChannelServerStatus = setting.discordBotChannelServerStatus;
     repositoryFolder              = setting.repositoryFolder;
     secretsFolder                 = setting.secretsFolder;
     databaseSettings              = new DatabaseSettings(setting.databaseSettings);
     authSocketSettings            = new AsyncEventSettings(setting.authSocketSettings);
     msgSocketSettings             = new AsyncEventSettings(setting.msgSocketSettings);
     areaSocketSettings            = new AsyncEventSettings(setting.areaSocketSettings);
 }
 public ThreadedBlockingQueueConsumer(AsyncEventSettings socketSetting,
                                      string identity = "ThreadedBlockingQueueConsumer")
 {
     _maxUnitOfOrder = socketSetting.MaxUnitOfOrder;
     _identity       = identity;
     _queues         = new BlockingCollection <ClientEvent> [_maxUnitOfOrder];
     _threads        = new Thread[_maxUnitOfOrder];
 }
예제 #3
0
 public NecQueueConsumer(ServerType serverType, NecSetting setting, AsyncEventSettings socketSetting) : base(
         socketSetting, serverType.ToString())
 {
     _serverType         = serverType;
     _setting            = setting;
     _lock               = new object();
     _clientHandlers     = new Dictionary <int, IClientHandler>();
     _connectionHandlers = new Dictionary <int, IConnectionHandler>();
     _connections        = new Dictionary <ITcpSocket, NecConnection>();
 }
        public void Start()
        {
            AsyncEventSettings settings = new AsyncEventSettings();

            _consumer = new BlockingQueueConsumer();
            _server   = new AsyncEventServer(IPAddress.IPv6Any, 2345, _consumer, settings);
            _server.Start();
            _consumerThread      = new Thread(HandleEvents);
            _consumerThread.Name = "ConsumerThread";
            _consumerThread.Start();
        }
예제 #5
0
 public QueueConsumer(MhfSetting setting, AsyncEventSettings socketSetting)
 {
     _setting            = setting;
     _logger             = LogProvider.Logger <MhfLogger>(this);
     _maxUnitOfOrder     = socketSetting.MaxUnitOfOrder;
     _queues             = new BlockingCollection <ClientEvent> [_maxUnitOfOrder];
     _threads            = new Thread[_maxUnitOfOrder];
     _lock               = new object();
     _clientHandlers     = new Dictionary <int, IClientHandler>();
     _connectionHandlers = new Dictionary <int, IConnectionHandler>();
     _connections        = new Dictionary <ITcpSocket, MhfConnection>();
 }
        public TcpBridgeSettings(TcpBridgeSettings settings)
        {
            PublicEndPoint  = new NetworkPoint(settings.PublicEndPoint);
            ListenEndPoint  = new NetworkPoint(settings.ListenEndPoint);
            ClientEndPoints = new List <NetworkPoint>();
            foreach (NetworkPoint tcpEndpoint in settings.ClientEndPoints)
            {
                ClientEndPoints.Add(new NetworkPoint(tcpEndpoint));
            }

            ServerSettings = new AsyncEventSettings(settings.ServerSettings);
        }
 public EzServerSettings(EzServerSettings settings)
 {
     Active                    = settings.Active;
     ListenIpAddress           = settings.ListenIpAddress;
     PublicIpAddress           = settings.PublicIpAddress;
     Port                      = settings.Port;
     BridgePort                = settings.BridgePort;
     LoadHandlerScripts        = settings.LoadHandlerScripts;
     HandlerScriptsPath        = settings.HandlerScriptsPath;
     LogUnknownIncomingPackets = settings.LogUnknownIncomingPackets;
     LogOutgoingPackets        = settings.LogOutgoingPackets;
     LogIncomingPackets        = settings.LogIncomingPackets;
     DatabaseSettings          = new DatabaseSettings(settings.DatabaseSettings);
     ServerSettings            = new AsyncEventSettings(settings.ServerSettings);
     BridgeServerSettings      = new AsyncEventSettings(settings.BridgeServerSettings);
 }
 public EzServerSettings(IPAddress publicIpAddress, IPAddress listenIpAddress, ushort port, ushort bridgePort)
 {
     Active                    = true;
     ListenIpAddress           = listenIpAddress;
     PublicIpAddress           = publicIpAddress;
     Port                      = port;
     BridgePort                = bridgePort;
     LoadHandlerScripts        = false;
     HandlerScriptsPath        = String.Empty;
     LogUnknownIncomingPackets = true;
     LogOutgoingPackets        = true;
     LogIncomingPackets        = true;
     DatabaseSettings          = new DatabaseSettings();
     ServerSettings            = new AsyncEventSettings();
     BridgeServerSettings      = new AsyncEventSettings();
 }
        public TcpBridgeSettings(NetworkPoint listenEndPoint, NetworkPoint publicEndPoint, List <NetworkPoint> clientEndPoints)
        {
            PublicEndPoint  = new NetworkPoint(publicEndPoint);
            ListenEndPoint  = new NetworkPoint(listenEndPoint);
            ClientEndPoints = new List <NetworkPoint>();
            foreach (NetworkPoint tcpEndpoint in clientEndPoints)
            {
                ClientEndPoints.Add(new NetworkPoint(tcpEndpoint));
            }

            if (!ClientEndPoints.Contains(PublicEndPoint))
            {
                ClientEndPoints.Add(PublicEndPoint);
            }

            ServerSettings = new AsyncEventSettings();
        }
 public NecSetting()
 {
     listenIpAddress                   = IPAddress.Any;
     authIpAddress                     = IPAddress.Loopback;
     authPort                          = 60000;
     msgIpAddress                      = IPAddress.Loopback;
     msgPort                           = 60001;
     areaIpAddress                     = IPAddress.Loopback;
     areaPort                          = 60002;
     requireRegistration               = false;
     requirePin                        = false;
     poolDynamicIdLowerBound           = 1;
     poolDynamicIdSize                 = 1000000;
     poolCharacterIdLowerBound         = 200000000;
     poolCharacterIdSize               = 100000000;
     poolNpcLowerBound                 = 400000000;
     poolNpcIdSize                     = 100000000;
     poolMonsterIdLowerBound           = 600000000;
     poolMonsterIdSize                 = 100000000;
     poolDeadBodyIdLowerBound          = 800000000;
     poolDeadBodyIdSize                = 100000000;
     logLevel                          = 0;
     logUnknownIncomingPackets         = true;
     logOutgoingPackets                = true;
     logIncomingPackets                = true;
     discordBotToken                   = "";
     discordGuild                      = 541789394873352203;
     discordBotChannelServerStatus     = 710367511824171019;
     repositoryFolder                  = Path.Combine(Util.RelativeExecutingDirectory(), "Client/Data/Settings");
     secretsFolder                     = Path.Combine(Util.RelativeExecutingDirectory(), "Client/Data/Secrets");
     databaseSettings                  = new DatabaseSettings();
     authSocketSettings                = new AsyncEventSettings();
     authSocketSettings.MaxUnitOfOrder = 2;
     msgSocketSettings                 = new AsyncEventSettings();
     msgSocketSettings.MaxUnitOfOrder  = 2;
     areaSocketSettings                = new AsyncEventSettings();
     areaSocketSettings.MaxUnitOfOrder = 2;
 }
 public BafQueueConsumer(AsyncEventSettings socketSetting) : base(socketSetting, "BafQueueConsumer")
 {
     _clients        = new Dictionary <ITcpSocket, BafClient> [socketSetting.MaxUnitOfOrder];
     _packetHandlers = new Dictionary <PacketId, IPacketHandler>();
 }