public override void Initialize()
        {
            config = Config.Read(Config.configPath);
            if (!File.Exists(Config.configPath))
            {
                config.Write(Config.configPath);
            }

            ServerApi.Hooks.GamePostInitialize.Register(this, OnGamePostInitialize);
            ServerApi.Hooks.NetGetData.Register(this, GetData);
            ServerApi.Hooks.ServerJoin.Register(this, OnJoin);

            PlayerHooks.PlayerPostLogin += OnPlayerPostLogin;

            GetDataHandlers.NewProjectile += OnNewProjectile;

            PluginCommands.registerCommands();
        }
        /// <summary>
        /// Creates a config if one doesn't exist, reads the config and stores it into the plugin memory,
        /// connects the sql database, starts hooks and PvPTimer, initialize commands,
        /// and stores whether the server has Server Side Characters enabled.
        /// </summary>
        public override void Initialize()
        {
            Config = Config.Read(Config.ConfigPath);
            if (!File.Exists(Config.ConfigPath))
            {
                Config.Write(Config.ConfigPath);
            }

            Database.ConnectDB();

            ServerApi.Hooks.GamePostInitialize.Register(this, OnGamePostInitialize);
            ServerApi.Hooks.NetGetData.Register(this, GetData);
            ServerApi.Hooks.ServerJoin.Register(this, OnJoin);

            PlayerHooks.PlayerPostLogin += OnPlayerPostLogin;

            PvPTimer.Elapsed += PvPTimerElapsed;

            PluginCommands.RegisterCommands();
        }