private bool DeployServer(bool bSkipHaks) { Console.WriteLine(""); Console.WriteLine("Deploying Server"); Console.WriteLine("Loading Module directory " + sModulePath + "..."); DirectoryResourceRepository directoryResourceRepository = new DirectoryResourceRepository(sModulePath); ContentManager contentManager = new ContentManager(sClientPath, sServerPath); NWN2ResourceManager manager = new NWN2ResourceManager(); contentManager.ServerContentItemScanning += (name, status, bBegin) => { if (!bBegin) Console.Write(" -> Staging (" + status.ToString() + ")"); else Console.Write("\nScanning: " + name); }; contentManager.InitializeModule(directoryResourceRepository); contentManager.ResetAllResourcesToDefaultServer(); contentManager.ResetScanResults(); checked { manager.AddRepository(directoryResourceRepository); string sModuleName = Path.GetFileNameWithoutExtension(sModulePath); string sCampaignName = ""; string sTlkPath = ""; foreach (DownloadableResource d in contentManager.GetDownloadableResources()) { switch (d.Type) { case DownloadableResource.FileType.Hak: if (!bSkipHaks) { string hakPath = sHomePath + "\\hak\\" + d.Name; Console.WriteLine("Adding Hak: " + d.Name); if (File.Exists(hakPath)) manager.AddRepository(new ERFResourceRepository(hakPath)); else Console.WriteLine("ERROR - Hak file not found in " + hakPath); } break; case DownloadableResource.FileType.Tlk: sTlkPath = sHomePath + "\\tlk\\" + d.Name; if (File.Exists(sTlkPath)) Console.WriteLine("Found TLK: " + d.Name); else Console.WriteLine("ERROR - Tlk not found in " + sTlkPath); break; } } Console.WriteLine(""); Console.WriteLine("Module Name -> " + sModuleName + "\nModule Path -> " + sModulePath + "\nTlk Path -> " + sTlkPath + "\nSkip Haks -> " + bSkipHaks.ToString()); Console.WriteLine(""); Console.WriteLine("Staging Server Content..."); contentManager.StageServerRequiredResources(manager, sCampaignName, sModuleName, sModulePath, sTlkPath, bSkipHaks); contentManager.SaveModuleList(directoryResourceRepository, true); Console.WriteLine(""); Console.WriteLine("Staging Server Complete."); } return true; }