MCSharp.Server.SanityCheck C# (CSharp) Method

SanityCheck() private method

Checks the MCSharp environment to ensure everything is ready to launch
private SanityCheck ( ) : bool
return bool
        bool SanityCheck()
        {
            bool blnSane = true;
            try
            {
                string levelsPath = Path.GetFullPath("levels/");
                string backupsPath = Path.GetFullPath("levels/backups/");
                string logsPath = Path.GetFullPath("logs/");

                Logger.Log("Checking if current directory has write access", LogType.Debug);
                // Check to see if the current folder has write permission
                if (hasWriteAccessToFolder(Directory.GetCurrentDirectory()))
                {
                    Logger.Log("Current directory does have write access", LogType.Debug);
                    if (Directory.Exists(levelsPath))
                    {
                        Logger.Log("Checking if 'levels' directory has write access", LogType.Debug);
                        // Check to see if the levels folder has write permission
                        if (hasWriteAccessToFolder(levelsPath))
                        {
                            Logger.Log("'levels' directory does have write access", LogType.Debug);
                            if (Directory.Exists(backupsPath))
                            {
                                Logger.Log("Checking if 'levels/backups' directory has write access", LogType.Debug);
                                // Check to see if the levels/backups fikder has write permission
                                if (!hasWriteAccessToFolder(backupsPath))
                                {
                                    Logger.Log("The server does not have write permission to the levels/backups folder.", LogType.Error);
                                    Logger.Log("Folder: " + Directory.GetCurrentDirectory(), LogType.ErrorMessage);
                                    blnSane = false;
                                }
                                else
                                {
                                    Logger.Log("The server does not write permission to the levels/backups folder.", LogType.Debug);
                                }
                            }
                        }
                        else
                        {
                            Logger.Log("The server does not have permission to the levels folder.", LogType.Error);
                            Logger.Log("Folder: " + Directory.GetCurrentDirectory() + "/levels", LogType.ErrorMessage);
                            blnSane = false;
                        }
                    }

                    // Check to see if the logs folder has write permission
                    if (Directory.Exists(logsPath))
                    {
                        if (!hasWriteAccessToFolder(logsPath))
                        {
                            Logger.Log("The server does not have permission to the logs folder.", LogType.Error);
                            Logger.Log("Folder: " + Directory.GetCurrentDirectory(), LogType.ErrorMessage);
                            blnSane = false;
                        }
                    }
                }
                else
                {
                    Logger.Log("The server does not have permission to the current server folder.", LogType.Error);
                    Logger.Log("Folder: " + Directory.GetCurrentDirectory(), LogType.ErrorMessage);
                    blnSane = false;
                }
            }
            catch (Exception ex)
            {
                Logger.Log("Sanity check failed. Server may not work as expected.", LogType.Error);
                Logger.Log(ex.Message, LogType.ErrorMessage);
            }

            return blnSane;
        }