public static void AddDefaultServices( this ServerBuilder builder, ServerBuilderDefaultServices exceptServices = ServerBuilderDefaultServices.None, ServerBuilderDefaultMiddleware exceptMiddleware = ServerBuilderDefaultMiddleware.None) { builder.ConfigureServices(services => { if ((exceptMiddleware & ServerBuilderDefaultMiddleware.ProjectileSyncPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <ProjectileSyncPacket>, RangeSyncHandlerMiddleware <ProjectileSyncPacket> >( x => new RangeSyncHandlerMiddleware <ProjectileSyncPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.DetonateSatchelsPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <DetonateSatchelsPacket>, RangeSyncHandlerMiddleware <DetonateSatchelsPacket> >( x => new RangeSyncHandlerMiddleware <DetonateSatchelsPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance, false) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.DestroySatchelsPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <DestroySatchelsPacket>, RangeSyncHandlerMiddleware <DestroySatchelsPacket> >( x => new RangeSyncHandlerMiddleware <DestroySatchelsPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance, false) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.ExplosionPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <ExplosionPacket>, RangeSyncHandlerMiddleware <ExplosionPacket> >( x => new RangeSyncHandlerMiddleware <ExplosionPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.ExplosionSyncDistance, false) ); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.PlayerPureSyncPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <PlayerPureSyncPacket>, RangeSyncHandlerMiddleware <PlayerPureSyncPacket> >( x => new RangeSyncHandlerMiddleware <PlayerPureSyncPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.LightSyncRange)); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.KeySyncPacketMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <KeySyncPacket>, RangeSyncHandlerMiddleware <KeySyncPacket> >( x => new RangeSyncHandlerMiddleware <KeySyncPacket>(x.GetRequiredService <IElementRepository>(), builder.Configuration.LightSyncRange)); } if ((exceptMiddleware & ServerBuilderDefaultMiddleware.LightSyncBehaviourMiddleware) == 0) { services.AddSingleton <ISyncHandlerMiddleware <LightSyncBehaviour>, MaxRangeSyncHandlerMiddleware <LightSyncBehaviour> >( x => new MaxRangeSyncHandlerMiddleware <LightSyncBehaviour>(x.GetRequiredService <IElementRepository>(), builder.Configuration.LightSyncRange) ); } }); }
public static void AddDefaults( this ServerBuilder builder, ServerBuilderDefaultPacketHandlers exceptPacketHandlers = ServerBuilderDefaultPacketHandlers.None, ServerBuilderDefaultBehaviours exceptBehaviours = ServerBuilderDefaultBehaviours.None, ServerBuilderDefaultServices exceptServices = ServerBuilderDefaultServices.None, ServerBuilderDefaultMiddleware exceptMiddleware = ServerBuilderDefaultMiddleware.None) { builder.AddDefaultPacketHandler(exceptPacketHandlers); builder.AddDefaultBehaviours(exceptBehaviours); builder.AddDefaultServices(exceptServices, exceptMiddleware); builder.AddNetWrapper( Directory.GetCurrentDirectory(), "net", builder.Configuration.Host, builder.Configuration.Port, builder.Configuration.AntiCheat); }