示例#1
0
        public NecServer(NecSetting setting)
        {
            Setting       = setting;
            Router        = new PacketRouter();
            _authConsumer = new NecQueueConsumer(Setting);
            _authConsumer.SetIdentity("Auth");
            _msgConsumer = new NecQueueConsumer(Setting);
            _msgConsumer.SetIdentity("Msg");
            _areaConsumer = new NecQueueConsumer(Setting);
            _areaConsumer.SetIdentity("Area");

            _authServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AuthPort,
                _authConsumer
                );

            _msgServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.MsgPort,
                _msgConsumer
                );

            _areaServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AreaPort,
                _areaConsumer
                );

            LoadHandler();
        }
示例#2
0
        public MpServer()
        {
            MessageConsumer serverConsumer = new MessageConsumer();

            serverConsumer.AddHandle(new HandleLogin());
            _server = new AsyncEventServer(IPAddress.Any, 2345, serverConsumer);
        }
        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();
        }
示例#4
0
        protected virtual void Initialize()
        {
            EventHandlerConsumer consumer = new EventHandlerConsumer();

            consumer.ReceivedPacket     += Svr_ReceivedPacket;
            consumer.ClientConnected    += Svr_ClientConnected;
            consumer.ClientDisconnected += Svr_ClientDisconnected;
            _server = new AsyncEventServer(Config.IpAddress, Config.Port, consumer);
            _server.Configure(Config);
            _handlers = new Dictionary <int, EzHandler>();
            Clients   = new EzClientList();
        }
示例#5
0
        public EzServer(EzServerSettings settings)
        {
            Settings = settings;
            LogProvider <EzLogger> .Provider.Configure(Settings);

            _logger = LogProvider <EzLogger> .GetLogger(this);

            _handlers      = new Dictionary <int, IHandler>();
            _server        = new AsyncEventServer(Settings.ListenIpAddress, Settings.Port, this, Settings.ServerSettings);
            Clients        = new ClientLookup();
            Database       = new SQLiteDb(settings.DatabaseSettings.SQLitePath);
            SessionManager = new SessionManager();
        }
示例#6
0
        public NecServer(NecSetting setting)
        {
            _running = false;
            Setting  = new NecSetting(setting);

            NecromancyBot = new NecromancyBot(setting);
            NecromancyBot.AddSingleton(this);

            Instances         = new InstanceGenerator();
            Instances64       = new InstanceGenerator64();
            Clients           = new ClientLookup();
            Characters        = new CharacterLookup();
            Maps              = new MapLookup();
            Chat              = new ChatManager(this);
            Router            = new PacketRouter();
            Database          = new NecDatabaseBuilder().Build(Setting.DatabaseSettings);
            SettingRepository = new SettingRepository(Setting.RepositoryFolder).Initialize();
            _authConsumer     = new NecQueueConsumer(ServerType.Auth, Setting, Setting.AuthSocketSettings);
            _authConsumer.ClientDisconnected += AuthClientDisconnected;
            _msgConsumer = new NecQueueConsumer(ServerType.Msg, Setting, Setting.MsgSocketSettings);
            _msgConsumer.ClientDisconnected += MsgClientDisconnected;
            _areaConsumer = new NecQueueConsumer(ServerType.Area, Setting, Setting.AreaSocketSettings);
            _areaConsumer.ClientDisconnected += AreaClientDisconnected;

            _authServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AuthPort,
                _authConsumer,
                Setting.AuthSocketSettings
                );

            _msgServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.MsgPort,
                _msgConsumer,
                Setting.MsgSocketSettings
                );

            _areaServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AreaPort,
                _areaConsumer,
                Setting.AreaSocketSettings
                );

            LoadChatCommands();
            LoadSettingRepository();
            LoadHandler();
            LoadCharacterRepository();
        }
        public KrGameServer(Setting setting)
        {
            Setting   = new Setting(setting);
            _consumer = new Consumer(Setting);

            _consumer.AddHandler(new LoginRequest(this));
            _consumer.AddHandler(new UnknownRequest(this));

            _server = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.Port,
                _consumer,
                Setting.SocketSettings
                );
        }
 /// <summary>
 /// Creates a new instance of <see cref="TcpBridge"/>
 /// </summary>
 /// <param name="settings">Configuration</param>
 public TcpBridge(TcpBridgeSettings settings)
 {
     _settings = new TcpBridgeSettings(settings);
     _clients  = new List <IPEndPoint>();
     _consumer = new GenericConsumer <Message>();
     _consumer.ReceivedGeneric += ConsumerOnReceivedGeneric;
     _endPointLookup            = new Dictionary <ITcpSocket, IPEndPoint>();
     _socketLookup              = new Dictionary <IPEndPoint, ITcpSocket>();
     _queued    = new Dictionary <ITcpSocket, Queue <Message> >();
     _tcpServer = new AsyncEventServer(_settings.ListenEndPoint.Address, _settings.ListenEndPoint.Port, this,
                                       settings.ServerSettings);
     foreach (NetworkPoint networkPoint in _settings.ClientEndPoints)
     {
         _clients.Add(networkPoint.ToIpEndPoint());
     }
 }
示例#9
0
 public BafServer(BafSetting setting)
 {
     _setting      = new BafSetting(setting);
     _consumer     = new BafQueueConsumer(_setting.ServerSetting);
     _scriptEngine = new BafScriptEngine();
     _shopItems    = new Dictionary <int, ShopItem>();
     _songs        = new Dictionary <int, Song>();
     _channels     = new Channel[ChannelTabs][];
     _server       = new AsyncEventServer(
         IPAddress.Any,
         3232,
         _consumer,
         _setting.ServerSetting
         );
     Load();
 }
示例#10
0
        public NecServer(NecSetting setting)
        {
            _running     = false;
            this.setting = new NecSetting(setting);

            necromancyBot = new NecromancyBot(this.setting);
            necromancyBot.AddSingleton(this);
            instances         = new InstanceGenerator(this);
            clients           = new ClientLookup();
            maps              = new MapLookup();
            chat              = new ChatManager(this);
            router            = new PacketRouter();
            settingRepository = new SettingRepository(this.setting.repositoryFolder).Initialize();
            database          = new NecDatabaseBuilder(this.setting, settingRepository).Build();
            _authConsumer     = new NecQueueConsumer(ServerType.Auth, this.setting, this.setting.authSocketSettings);
            _authConsumer.clientDisconnected += AuthClientDisconnected;
            _msgConsumer = new NecQueueConsumer(ServerType.Msg, this.setting, this.setting.msgSocketSettings);
            _msgConsumer.clientDisconnected += MsgClientDisconnected;
            _areaConsumer = new NecQueueConsumer(ServerType.Area, this.setting, this.setting.areaSocketSettings);
            _areaConsumer.clientDisconnected += AreaClientDisconnected;

            _authServer = new AsyncEventServer(
                this.setting.listenIpAddress,
                this.setting.authPort,
                _authConsumer,
                this.setting.authSocketSettings
                );

            _msgServer = new AsyncEventServer(
                this.setting.listenIpAddress,
                this.setting.msgPort,
                _msgConsumer,
                this.setting.msgSocketSettings
                );

            _areaServer = new AsyncEventServer(
                this.setting.listenIpAddress,
                this.setting.areaPort,
                _areaConsumer,
                this.setting.areaSocketSettings
                );

            LoadChatCommands();
            LoadDatabaseObjects();
            LoadHandler();
        }
示例#11
0
        public Program()
        {
            _consoleLock = new object();
            LogProvider.GlobalLogWrite += LogProviderOnGlobalLogWrite;
            AsyncEventServer login = new AsyncEventServer(IPAddress.Any, 60000, new LoginServer());
            AsyncEventServer world = new AsyncEventServer(IPAddress.Any, 12849, new WorldServer());

            login.Start();
            world.Start();
            Console.WriteLine("Press any key to exit..");
            Console.ReadKey();
            login.Stop();
            world.Stop();

            //12849
            //12594
        }
示例#12
0
        public MhfServer(MhfSetting setting)
        {
            Setting = new MhfSetting(setting);

            LogProvider.Configure <MhfLogger>(Setting);
            _logger = LogProvider.Logger <MhfLogger>(this);

            Instances = new InstanceGenerator();
            Clients   = new ClientLookup();
            Router    = new PacketRouter();
            Database  = new MhfDatabaseBuilder().Build(Setting.DatabaseSetting);

            _authConsumer = new QueueConsumer(Setting, Setting.ServerSocketSettings);
            _authConsumer.ClientDisconnected += AuthClientDisconnected;
            _authServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AuthServerPort,
                _authConsumer,
                Setting.ServerSocketSettings
                );

            _lobbyConsumer = new QueueConsumer(Setting, Setting.ServerSocketSettings);
            _lobbyConsumer.ClientDisconnected += LobbyClientDisconnected;
            _lobbyServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.LobbyServerPort,
                _lobbyConsumer,
                Setting.ServerSocketSettings
                );

            _webServer = new WebServer(Setting, new KestrelWebServer(Setting));

            WebFileProvider = new PhysicalFileProvider(Setting.WebSetting.WebFolder);

            LoadPacketHandler();
            LoadWebRoutes();
        }
        public TcpConnectionDemo()
        {
            LogProvider.GlobalLogWrite += LogProviderOnLogWrite;

            EventConsumer serverConsumer = new EventConsumer();

            serverConsumer.ClientConnected    += ServerConsumerOnClientConnected;
            serverConsumer.ClientDisconnected += ServerConsumerOnClientDisconnected;
            serverConsumer.ReceivedPacket     += ServerConsumerOnReceivedPacket;
            AsyncEventServer server = new AsyncEventServer(IPAddress.Any, 2345, serverConsumer);

            server.Start();

            EventConsumer clientConsumer = new EventConsumer();

            clientConsumer.ClientConnected    += ClientConsumerOnClientConnected;
            clientConsumer.ClientDisconnected += ClientConsumerOnClientDisconnected;
            clientConsumer.ReceivedPacket     += ClientConsumerOnReceivedPacket;
            SyncReceiveTcpClient client = new SyncReceiveTcpClient(clientConsumer);

            client.ConnectError += ClientConsumerOnConnectError;


            client.Connect(IPAddress.Parse("127.0.0.1"), 2345, TimeSpan.Zero);
            Console.WriteLine("Demo: Press any key to send.");
            Console.ReadKey();

            client.Send(new byte[9]);
            Console.WriteLine("Demo: Press any key to disconnect.");
            Console.ReadKey();

            client.Close();
            server.Stop();
            Console.WriteLine("Demo: Press any key to exit.");
            Console.ReadKey();
        }
示例#14
0
        public NecServer(NecSetting setting)
        {
            ClientLookup  = new ClientLookup();
            MapLookup     = new MapLookup();
            Setting       = setting;
            Router        = new PacketRouter();
            _authConsumer = new NecQueueConsumer(Setting);
            _authConsumer.SetIdentity("Auth");
            _authConsumer.ClientDisconnected += AuthClientDisconnected;
            _msgConsumer = new NecQueueConsumer(Setting);
            _msgConsumer.SetIdentity("Msg");
            _msgConsumer.ClientDisconnected += MsgClientDisconnected;
            _areaConsumer = new NecQueueConsumer(Setting);
            _areaConsumer.SetIdentity("Area");
            _areaConsumer.ClientDisconnected += AreaClientDisconnected;

            _authServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AuthPort,
                _authConsumer
                );

            _msgServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.MsgPort,
                _msgConsumer
                );

            _areaServer = new AsyncEventServer(
                Setting.ListenIpAddress,
                Setting.AreaPort,
                _areaConsumer
                );

            LoadHandler();
        }