Commands.Add(newCKick("kick","kick a player by name. syntax: !kick <player> <reason>.","k",Player.Permission.Trusted,2,true));
Commands.Add(newCSay("say","broadcast message to all players. syntax: !say <message>.","s",Player.Permission.Moderator,1,false));
Commands.Add(newCTempBan("tempban","temporarily ban a player for 1 hour. syntax: !tempban <player> <reason>.","tb",Player.Permission.Moderator,2,true));
Commands.Add(newCBan("ban","permanently ban a player from the server. syntax: !ban <player> <reason>","b",Player.Permission.SeniorAdmin,2,true));
Commands.Add(newCWhoAmI("whoami","give information about yourself. syntax: !whoami.","who",Player.Permission.User,0,false));
Commands.Add(newCList("list","list active clients syntax: !list.","l",Player.Permission.Moderator,0,false));
Commands.Add(newCHelp("help","list all available commands. syntax: !help.","h",Player.Permission.User,0,false));
Commands.Add(newCFastRestart("fastrestart","fast restart current map. syntax: !fastrestart.","fr",Player.Permission.Moderator,0,false));
Commands.Add(newCMapRotate("maprotate","cycle to the next map in rotation. syntax: !maprotate.","mr",Player.Permission.Administrator,0,false));
Commands.Add(newCSetLevel("setlevel","set player to specified administration level. syntax: !setlevel <player> <level>.","sl",Player.Permission.Owner,2,true));
Commands.Add(newCUsage("usage","get current application memory usage. syntax: !usage.","us",Player.Permission.Moderator,0,false));
Commands.Add(newCUptime("uptime","get current application running time. syntax: !uptime.","up",Player.Permission.Moderator,0,false));
Commands.Add(newCWarnClear("warnclear","remove all warning for a player syntax: !warnclear <player>.","wc",Player.Permission.Trusted,1,true));
Commands.Add(newCUnban("unban","unban player by database id. syntax: !unban @<id>.","ub",Player.Permission.SeniorAdmin,1,true));
Commands.Add(newCListAdmins("admins","list currently connected admins. syntax: !admins.","a",Player.Permission.User,0,false));
Commands.Add(newCLoadMap("map","change to specified map. syntax: !map","m",Player.Permission.Administrator,1,false));
Commands.Add(newCFindPlayer("find","find player in database. syntax: !find <player>","f",Player.Permission.SeniorAdmin,1,false));
Commands.Add(newCListRules("rules","list server rules. syntax: !rules","r",Player.Permission.User,0,false));
Commands.Add(newCPrivateMessage("privatemessage","send message to other player. syntax: !pm <player> <message>","pm",Player.Permission.User,2,true));
Commands.Add(newCFlag("flag","flag a suspicious player and announce to admins on join . syntax !flag <player> <reason>:","flag",Player.Permission.Moderator,2,true));
Commands.Add(newCReport("report","report a player for suspicious behaivor. syntax !report <player> <reason>","rep",Player.Permission.User,2,true));
Commands.Add(newCListReports("reports","get most recent reports. syntax !reports","reports",Player.Permission.Moderator,0,false));
Commands.Add(newCMask("mask","hide your online presence from online admin list. syntax: !mask","mask",Player.Permission.Administrator,0,false));
Commands.Add(newCListBanInfo("baninfo","get information about a ban for a player. syntax: !baninfo <player>","bi",Player.Permission.Moderator,1,true));
Commands.Add(newCListAlias("alias","get past aliases and ips of a player. syntax: !alias <player>","known",Player.Permission.Moderator,1,true));
Commands.Add(newCExecuteRCON("rcon","send rcon command to server. syntax: !rcon <command>","rcon",Player.Permission.Owner,1,false));
Commands.Add(newCFindAllPlayers("findall","find a player by their aliase(s). syntax: !findall <player>","fa",Player.Permission.Moderator,1,false));
Commands.Add(newCPlugins("plugins","view all loaded plugins. syntax: !plugins","p",Player.Permission.Administrator,0,false));
Logger.WriteWarning($"Update task average execution is longer than desired for {(Status.Dependant as Server).GetIP()}::{(Status.Dependant as Server).GetPort()} [{Status.RunAverage}ms]");