/// <inheritdoc /> private ProxiedTcpServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] NetworkAddressInfo proxyToEndpointAddress, [NotNull] ILog logger, [NotNull] INetworkMessageDispatchingStrategy <TPayloadWriteType, TPayloadReadType> messageHandlingStrategy, [NotNull] PayloadHandlerRegisterationModules <TPayloadReadType, TPayloadWriteType> handlerModulePair, [NotNull] NetworkSerializerServicePair serializers) : base(serverAddress, messageHandlingStrategy, logger) { HandlerModulePair = handlerModulePair ?? throw new ArgumentNullException(nameof(handlerModulePair)); Serializers = serializers ?? throw new ArgumentNullException(nameof(serializers)); ProxyToEndpointAddress = proxyToEndpointAddress ?? throw new ArgumentNullException(nameof(proxyToEndpointAddress)); ServiceContainer = BuildServiceContainer(); }
/// <inheritdoc /> public WotlkToVanillaProxyAppBase(NetworkAddressInfo listenerAddress, NetworkAddressInfo proxyToEndpointAddress, [NotNull] ILog logger, PayloadHandlerRegisterationModules <GamePacketPayload, GamePacketPayload> handlerModulePair, NetworkSerializerServicePair serializers) : base(listenerAddress, proxyToEndpointAddress, logger, handlerModulePair, serializers) { //TODO: Support .NET Core global exception handling AppDomain.CurrentDomain.UnhandledException += (sender, args) => { Exception e = args.ExceptionObject as Exception; Logger.Fatal($"Unhandled Exception: {e.GetType().Name} Message: {e.Message} \n\n Stack: {e.StackTrace}"); }; }
public RegisterZoneServerOnlineEventListener(IServerStartedEventSubscribable subscriptionService, [NotNull] IZoneRegistryService zoneRegistryService, [NotNull] WorldConfiguration worldConfig, [NotNull] NetworkAddressInfo addressInfo, [NotNull] ILog logger, [NotNull] IZoneRegistryServiceQueueable zoneRegisterQueueable) : base(subscriptionService) { ZoneRegistryService = zoneRegistryService ?? throw new ArgumentNullException(nameof(zoneRegistryService)); WorldConfig = worldConfig ?? throw new ArgumentNullException(nameof(worldConfig)); AddressInfo = addressInfo ?? throw new ArgumentNullException(nameof(addressInfo)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); ZoneRegisterQueueable = zoneRegisterQueueable ?? throw new ArgumentNullException(nameof(zoneRegisterQueueable)); }
/// <inheritdoc /> public AuthenticationServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] ILog logger) : base(serverAddress) { if (serverAddress == null) { throw new ArgumentNullException(nameof(serverAddress)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } Logger = logger; Serializer = new FreecraftCoreGladNetSerializerAdapter(CreateSerializer()); ServiceContainer = BuildServiceContainer(); }
static async Task Main(string[] args) { NetworkAddressInfo info = new NetworkAddressInfo(IPAddress.Parse("127.0.0.1"), 3724); AuthenticationServerApplicationBase authServer = new AuthenticationServerApplicationBase(info, new ConsoleOutLogger("ConsoleLogger", LogLevel.All, true, false, false, null)); if (authServer.StartServer()) { await authServer.BeginListening() .ConfigureAwait(false); } else { throw new InvalidOperationException($"Unable start server."); } }
/// <inheritdoc /> public ServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] INetworkMessageDispatchingStrategy <BaseGameServerPayload, BaseGameClientPayload> messageHandlingStrategy, [NotNull] IManagedSessionFactory managedSessionFactory, [NotNull] IManagedClientSessionFactory managedClientSessionFactory) : base(serverAddress, messageHandlingStrategy, new NoOpLogger()) { if (serverAddress == null) { throw new ArgumentNullException(nameof(serverAddress)); } if (messageHandlingStrategy == null) { throw new ArgumentNullException(nameof(messageHandlingStrategy)); } ManagedSessionFactory = managedSessionFactory ?? throw new ArgumentNullException(nameof(managedSessionFactory)); ManagedClientSessionFactory = managedClientSessionFactory ?? throw new ArgumentNullException(nameof(managedClientSessionFactory)); if (Logger.IsDebugEnabled) { Logger.Debug($"Created server base."); } }
/// <inheritdoc /> public ServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] ILog logger, [NotNull] IManagedSessionFactory managedSessionFactory, [NotNull] IManagedClientSessionFactory managedClientSessionFactory) : base(serverAddress, logger) { if (serverAddress == null) { throw new ArgumentNullException(nameof(serverAddress)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } ManagedSessionFactory = managedSessionFactory ?? throw new ArgumentNullException(nameof(managedSessionFactory)); ManagedClientSessionFactory = managedClientSessionFactory ?? throw new ArgumentNullException(nameof(managedClientSessionFactory)); if (Logger.IsDebugEnabled) { Logger.Debug($"Created server base."); } }
/// <inheritdoc /> protected ProxiedTcpServerApplicationBase(NetworkAddressInfo listenerAddress, [NotNull] NetworkAddressInfo proxyToEndpointAddress, [NotNull] ILog logger, PayloadHandlerRegisterationModules <TPayloadReadType, TPayloadWriteType> handlerModulePair, NetworkSerializerServicePair serializers) : this(listenerAddress, proxyToEndpointAddress, logger, new InPlaceAsyncLockedNetworkMessageDispatchingStrategy <TPayloadWriteType, TPayloadReadType>(), handlerModulePair, serializers) { }
/// <inheritdoc /> public WotlkGameProxyApplicationBase(NetworkAddressInfo listenerAddress, NetworkAddressInfo proxyToEndpointAddress, [NotNull] ILog logger, PayloadHandlerRegisterationModules <GamePacketPayload, GamePacketPayload> handlerModulePair, NetworkSerializerServicePair serializers) : base(listenerAddress, proxyToEndpointAddress, logger, handlerModulePair, serializers) { }
/// <inheritdoc /> public AuthenticationProxyApplicationBase(NetworkAddressInfo listenerAddress, [NotNull] NetworkAddressInfo proxyToEndpointAddress, [NotNull] ILog logger, PayloadHandlerRegisterationModules <AuthenticationClientPayload, AuthenticationServerPayload> handlerModulePair, NetworkSerializerServicePair serializers) : base(listenerAddress, proxyToEndpointAddress, logger, handlerModulePair, serializers) { }
/// <inheritdoc /> public PsobbProxyApplicationBase(NetworkAddressInfo listenerAddress, NetworkAddressInfo proxyToEndpointAddress, ILog logger, PayloadHandlerRegisterationModules <PSOBBGamePacketPayloadClient, PSOBBGamePacketPayloadServer> handlerModulePair, NetworkSerializerServicePair serializers) : base(listenerAddress, proxyToEndpointAddress, logger, handlerModulePair, serializers) { //Don't init the crypto stuff here because the base will call RegisterDependecies before this ctor executes }
/// <inheritdoc /> public ZoneServerApplicationBaseCreationContext([NotNull] ILog logger, [NotNull] NetworkAddressInfo serverAddress) { Logger = logger ?? throw new ArgumentNullException(nameof(logger)); ServerAddress = serverAddress ?? throw new ArgumentNullException(nameof(serverAddress)); }