public void Create() { if (Server != null) { throw new InvalidOperationException("The server has already been created! (Is CreateOnEnable enabled?)"); } var spawnData = new ServerSpawnData(Address, Port, IpVersion); //Data settings spawnData.Data.Settings["directory"] = DataDirectory; //Logging settings spawnData.Plugins.PluginTypes.Add(typeof(UnityConsoleWriter)); var fileWriter = new ServerSpawnData.LoggingSettings.LogWriterSettings { Name = "FileWriter1", Type = "FileWriter", LogLevels = new[] { LogType.Trace, LogType.Info, LogType.Warning, LogType.Error, LogType.Fatal } }; fileWriter.Settings["file"] = LogFileString; var consoleWriter = new ServerSpawnData.LoggingSettings.LogWriterSettings { Name = "UnityConsoleWriter1", Type = "UnityConsoleWriter", LogLevels = new[] { LogType.Info, LogType.Warning, LogType.Error, LogType.Fatal } }; var debugWriter = new ServerSpawnData.LoggingSettings.LogWriterSettings { Name = "DebugWriter1", Type = "DebugWriter", LogLevels = new[] { LogType.Warning, LogType.Error, LogType.Fatal } }; spawnData.Logging.LogWriters.Add(fileWriter); spawnData.Logging.LogWriters.Add(consoleWriter); spawnData.Logging.LogWriters.Add(debugWriter); // Plugins // spawnData.Plugins.PluginTypes.Add(typeof(DbConnector)); Server = new DarkRiftServer(spawnData); Server.Start(); }
/// <summary> /// Configures a log writer on the DarkRift server. /// </summary> /// <param name="name">The name of the log writer.</param> /// <param name="type">The type of log writer.</param> /// <param name="logLevels">The log levels to use.</param> /// <param name="settings">The settings to pass to the log writer.</param> /// <returns>The configuration builder to continue construction.</returns> public DarkRiftServerConfigurationBuilder AddLogWriter(string name, string type, NameValueCollection settings, params LogType[] logLevels) { ServerSpawnData.LoggingSettings.LogWriterSettings logWriterSettings = new ServerSpawnData.LoggingSettings.LogWriterSettings { Name = name, Type = type, LogLevels = logLevels }; foreach (string key in settings.AllKeys) { logWriterSettings.Settings[key] = settings[key]; } ServerSpawnData.Logging.LogWriters.Add(logWriterSettings); return(this); }
/// <summary> /// Creates the server. /// </summary> public void Create() { if (Server != null) { throw new InvalidOperationException("The server has already been created! (Is CreateOnEnable enabled?)"); } ServerSpawnData spawnData = new ServerSpawnData(address, port, ipVersion); //Server settings spawnData.Server.MaxStrikes = maxStrikes; spawnData.Server.UseFallbackNetworking = true; //Unity is broken, work around it... spawnData.EventsFromDispatcher = eventsFromDispatcher; //Plugin search settings spawnData.PluginSearch.PluginTypes.AddRange(UnityServerHelper.SearchForPlugins()); spawnData.PluginSearch.PluginTypes.Add(typeof(UnityConsoleWriter)); //Data settings spawnData.Data.Directory = dataDirectory; //Logging settings spawnData.Plugins.LoadByDefault = true; if (logToFile) { ServerSpawnData.LoggingSettings.LogWriterSettings fileWriter = new ServerSpawnData.LoggingSettings.LogWriterSettings(); fileWriter.Name = "FileWriter1"; fileWriter.Type = "FileWriter"; fileWriter.LogLevels = new LogType[] { LogType.Trace, LogType.Info, LogType.Warning, LogType.Error, LogType.Fatal }; fileWriter.Settings["file"] = logFileString; spawnData.Logging.LogWriters.Add(fileWriter); } if (logToUnityConsole) { ServerSpawnData.LoggingSettings.LogWriterSettings consoleWriter = new ServerSpawnData.LoggingSettings.LogWriterSettings(); consoleWriter.Name = "UnityConsoleWriter1"; consoleWriter.Type = "UnityConsoleWriter"; consoleWriter.LogLevels = new LogType[] { LogType.Info, LogType.Warning, LogType.Error, LogType.Fatal }; spawnData.Logging.LogWriters.Add(consoleWriter); } if (logToDebug) { ServerSpawnData.LoggingSettings.LogWriterSettings debugWriter = new ServerSpawnData.LoggingSettings.LogWriterSettings(); debugWriter.Name = "DebugWriter1"; debugWriter.Type = "DebugWriter"; debugWriter.LogLevels = new LogType[] { LogType.Warning, LogType.Error, LogType.Fatal }; spawnData.Logging.LogWriters.Add(debugWriter); } //Plugins spawnData.Plugins.LoadByDefault = loadByDefault; spawnData.Plugins.Plugins.AddRange(plugins); //Databases spawnData.Databases.Databases.AddRange(databases); //Cache spawnData.Cache.MaxCachedWriters = MaxCachedWriters; spawnData.Cache.MaxCachedReaders = MaxCachedReaders; spawnData.Cache.MaxCachedMessages = MaxCachedMessages; spawnData.Cache.MaxCachedSocketAsyncEventArgs = MaxCachedSocketAsyncEventArgs; spawnData.Cache.MaxActionDispatcherTasks = MaxCachedActionDispatcherTasks; Server = new DarkRiftServer(spawnData); Server.Start(); }