public static void Boot() { LogManager.GetCurrentClassLogger().Info("Booting Redfox server...\r\n\r\n ██████╗ ███████╗██████╗ ███████╗ ██████╗ ██╗ ██╗\r\n ██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗╚██╗██╔╝\r\n ██████╔╝█████╗ ██║ ██║█████╗ ██║ ██║ ╚███╔╝ \r\n ██╔══██╗██╔══╝ ██║ ██║██╔══╝ ██║ ██║ ██╔██╗ \r\n ██║ ██║███████╗██████╔╝██║ ╚██████╔╝██╔╝ ██╗\r\n ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝\r\n ___ ___ _ ___ _____ _ _ \r\n (_-</ -_) '_\\ V / -_) '_|\r\n /__/\\___|_| \\_/\\___|_| \r\n"); Core.serverConfig = ServerConfig.FromFile("Config/Server.json"); try { InitializeExtensions(); } catch (Exception ex) when(!Env.Debugging) { LogManager.GetCurrentClassLogger().Error("There was an error while initializing extensions: " + ex.ToString()); CleanUp(); } messageHandler = new MessageHandlerManager(); UserManager = new UserManager(); try { InitializeZones(); } catch (Exception ex) when(!Env.Debugging) { LogManager.GetCurrentClassLogger().Error("There was an error while initializing zones: " + ex.ToString()); CleanUp(); } try { InitializeNetwork(); } catch (Exception ex) when(!Env.Debugging) { LogManager.GetCurrentClassLogger().Error("There was an error while initializing network: " + ex.ToString()); CleanUp(); } LogManager.GetCurrentClassLogger().Info("Redfox server is ready"); }
public override void OnReceive(byte[] data) { using (BigEndianReader reader = new BigEndianReader(data)) { MessagePart messagePart = new MessagePart(false); if (messagePart.Build(reader)) { dynamic message = MessageReceiver.BuildMessage((uint)messagePart.Id, reader); ConsoleUtils.Write(ConsoleUtils.Type.RECEIV, $"{message} Id {messagePart.Id} Length {messagePart.Length} ..."); MessageHandlerManager <LoginClient> .InvokeHandler(this, message); } } }
protected override async Task RegisterCustomHandlersAsync(MessageHandlerManager manager) { await TryRegisterHandlerAsync(new ExecuteTaskMessageHandler()) .ConfigureAwait(continueOnCapturedContext: false); await TryRegisterHandlerAsync(new CompareFilesMessageHandler()) .ConfigureAwait(continueOnCapturedContext: false); await TryRegisterHandlerAsync(new CopyItemMessageHandler()) .ConfigureAwait(continueOnCapturedContext: false); await TryRegisterHandlerAsync(new GetItemMessageHandler()) .ConfigureAwait(continueOnCapturedContext: false); await TryRegisterHandlerAsync(new VerifyXcodeVersionMessageHandler()) .ConfigureAwait(continueOnCapturedContext: false); await TryRegisterHandlerAsync(new GetUniversalTargetIdentifierMessageHandler()) .ConfigureAwait(continueOnCapturedContext: false); }
private void GameClient_OnClientReceivedData(byte[] data) { using (BigEndianReader reader = new BigEndianReader(data)) { MessagePart messagePart = new MessagePart(false); if (messagePart.Build(reader)) { dynamic message = MessageReceiver.BuildMessage((uint)messagePart.Id, reader); if (Config.Debug) { ConsoleUtils.Write(ConsoleUtils.Type.RECEIV, $"{message} Id {messagePart.Id} Length {messagePart.Length} ..."); } MessageHandlerManager <Client> .InvokeHandler(this, message); } } }
private static void Main(string[] args) { ConsoleUtils.InitializeConsole("Login"); Config.ReadConfig(); MessageReceiver.InitializeMessages(); MessageHandlerManager <LoginClient> .InitializeHandlers(); DatabaseManager.Connect(Config.DatabaseHost, Config.DatabaseUsername, Config.DatabasePassword, Config.DatabaseName); LoginServer loginServer = new LoginServer(); while (true) { Console.ReadLine(); } }
static void Main(string[] args) { ConsoleUtils.InitializeConsole("Login"); Config.ReadConfig(); MessageReceiver.InitializeMessages(); MessageHandlerManager <Network.Client> .InitializeHandlers(); DatabaseManager.Connect(Config.Database_Host, Config.Database_Username, Config.Database_Password, Config.Database_Name); Network.Server.Start(); while (true) { Console.ReadLine(); } }
static void Main(string[] args) { var mqconfig = new MqConfig { UserName = "******", Password = "******", HostIp = "localhost", Port = 5672, VirtualHost = "/", Exchange = "Abs.Exchange", ExchangeType = "direct", Durable = true, AutoDelete = false }; var ehm = new MessageHandlerManager(mqconfig); //_eventbus = new EventBus(ehm); ehm.Register <HelloEvent>(new HelloEventHandler()); Console.ReadLine(); }
private static void Main(string[] args) { ConsoleUtils.InitializeConsole("Game"); Config.ReadConfig(); MessageReceiver.InitializeMessages(); MessageHandlerManager <GameClient> .InitializeHandlers(); DataManager.InitializeDatas(); MapEngine.Initialize(); DatabaseManager.Connect(Config.DatabaseHost, Config.DatabaseUsername, Config.DatabasePassword, Config.DatabaseName); GameServer gameServer = new GameServer(); while (true) { Console.ReadLine(); } }
static void TestEventbus() { var config = new MqConfig { UserName = "******", Password = "******", HostIp = "localhost", Port = 5672, Exchange = "Eventbus", ExchangeType = "direct", VirtualHost = "/" }; var manager = new MessageHandlerManager(config); manager.Register <TestEvent>(new ActionEventHandler <TestEvent>(TestActionHandler)); manager.Register <TestEvent>(new TestEventHandler()); manager.Register <TestEvent>(new TestMessageHandler()); manager.Register <TestEvent>(new MessageHandlerTest()); Console.ReadLine(); manager.Unregister <TestEvent>(typeof(TestMessageHandler)); }
/// <summary> /// This method gets called by the runtime. Use this method to add services to the container. /// </summary> /// <param name="services"></param> public void ConfigureServices(IServiceCollection services) { if (jwtOptins == null) { jwtOptins = new JwtIssuerOptions(); } services.AddJwt(out jwtOptins); // 添加jwt验证: services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, //是否验证Issuer ValidateAudience = true, //是否验证Audience ValidateLifetime = true, //是否验证失效时间 ClockSkew = TimeSpan.FromSeconds(30), ValidateIssuerSigningKey = true, //是否验证SecurityKey ValidAudience = Const.Domain, //Audience ValidIssuer = Const.Domain, //Issuer,这两项和前面签发jwt的设置一致 IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Const.SecurityKey)) //拿到SecurityKey }; }); services.AddScoped <IEventBus, EventBus>(); var mqconfig = new MqConfig { UserName = "******", Password = "******", HostIp = "localhost", Port = 5672, VirtualHost = "/", Exchange = "Abs.Exchange", ExchangeType = "direct", Durable = true, AutoDelete = false }; var ehm = new MessageHandlerManager(mqconfig); services.AddSingleton <IEventHandlerManager>(ehm); services.AddScoped <IJwtService, JwtService>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new Info { Title = "AspNetCore WebApi", Version = "v1" }); options.DocInclusionPredicate((docName, description) => true); options.IncludeXmlComments(@"bin\Debug\netcoreapp2.2\AspNetCoreTest.xml"); options.AddSecurityDefinition("Bearer", new ApiKeyScheme { In = "header", Type = "apiKey", Name = "Authorization", Description = "请输入API访问 Token,前面加上Bearer。例如:Bearer {token}" }); options.AddSecurityRequirement(new Dictionary <string, IEnumerable <string> > { { "Bearer", Enumerable.Empty <string>() } }); }); }