fCraft.Config.Init C# (CSharp) Method

Init() public static method

public static Init ( string configFileName ) : bool
configFileName string
return bool
        public static bool Init( string configFileName ) {
            // generate random salt
            Random random = new Random();
            Salt = (long)random.Next() * (long)random.Next();
            Logger.Log( "Config: Salt = " + Salt );            

            // try to load config file (XML)
            XDocument file;
            if( File.Exists( configFileName ) ) {
                try {
                    file = XDocument.Load( configFileName );
                    if( file.Root == null || file.Root.Name != ConfigRootName ) {
                        Logger.LogAlert( "Config.Init: Malformed or incompatible config file " + configFileName+". Loading defaults." );
                        file = new XDocument();
                        file.Add( new XElement( ConfigRootName ) );
                    } else {
                        Logger.Log( "Config.Init: Config file " + configFileName + " loaded succesfully." );
                    }
                } catch( Exception ex ) {
                    Logger.LogError( "Config.Init: Fatal error while loading config file " + configFileName + ": " + ex.Message );
                    return false;
                }
            } else {
                // create a new one (with defaults) if no file exists
                file = new XDocument();
                file.Add( new XElement( ConfigRootName ) );
            }

            XElement config = file.Root;

            // load settings
            ServerName = ReadString( config, "ServerName", DefaultServerName );
            MOTD = ReadString( config, "MOTD", DefaultMOTD );
            MaxPlayers = ReadInt( config, "MaxPlayers", DefaultMaxPlayers );
            IsPublic = ReadBool( config, "IsPublic", DefaultIsPublic );
            VerifyNames = ReadBool( config, "VerifyNames", DefaultVerifyNames );

            // save the settings
            try {
                file.Save( configFileName );
            } catch( Exception ex ) {
                Logger.LogError( "Config.Init: Fatal error while saving config file " + configFileName + ": " + ex.Message );
                return false;
            }
            return true;
        }

Usage Example

Example #1
0
 public UI()
 {
     InitializeComponent();
     Logger.Init("fCraft.log", this);
     Config.Init("config.xml");
     World.server      = new Server();
     this.FormClosing += HandleShutDown;
     World.server.Run();
 }