public Server(ServerSettings settings) { // Attempt to load world if (!File.Exists(settings.SavePath)) { throw new FileNotFoundException("Save file not found."); } string worldData = File.ReadAllText(settings.SavePath); WorldStateData worldStateData = new WorldStateData(worldData); this.settings = settings; SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); processorContext = new ServerProcessorContext(this); router = new PacketRouter(processorContext); foreach (PacketProcessor packetProcessor in PacketProcessor.GetProcessors()) { router.RegisterPacketProcessor(packetProcessor); } playerConnections = new Dictionary <Guid, long>(); playerManager = new PlayerManager(this); simulationManager = new SimulationManager(this); worldStateManager = new WorldStateManager(this, settings.SavePath, worldStateData); worldRequestQueueManager = new WorldRequestQueueManager(this); timeManager = new TimeManager(this); environmentManager = new EnvironmentManager(this); disasterManager = new DisasterManager(this); Initialize(); }
private void InitializeProcessors() { router = new PacketRouter(processorContext); foreach (PacketProcessor packetProcessor in PacketProcessor.GetProcessors()) { router.RegisterPacketProcessor(packetProcessor); } }