public void GameMaster()
 {
     if (Character.Information.GM == 1)
     {
         PacketReader Reader = new PacketReader(PacketInformation.buffer);
         if (Reader == null)
         {
             Disconnect("normal");
             return;
         }
         ushort CommandType = Reader.UInt16();
         Console.WriteLine("GM_COMMAND::{0} USED.BY:{1} ", (GM_COMMAND)CommandType, Character.Information.Name);
         switch ((GM_COMMAND)CommandType)
         {
             case GM_COMMAND.FINDUSER:
                 GMfinduser(Reader.Text());
                 break;
             case GM_COMMAND.GOTOWN:
                 GMgotown();
                 break;
             case GM_COMMAND.TOTOWN:
                 GMtotown(Reader.Text());
                 break;
             case GM_COMMAND.WORLDSTATUS:
                 GMworldstatus();
                 break;
             case GM_COMMAND.LOADMONSTER:
                 GMloadmonster(Reader.Int32(), Reader.Byte(), Reader.Byte());
                 break;
             case GM_COMMAND.MAKEITEM:
             case GM_COMMAND.MAKERENTITEM:
                 GMmakeitem(Reader.Int32(), Reader.Byte());
                 break;
             case GM_COMMAND.MOVETOUSER:
                 GMmovetouser(Reader.Text());
                 break;
             case GM_COMMAND.ZOE:
                 GMzoe(Reader.Int32(), Reader.Byte());
                 break;
             case GM_COMMAND.BAN:
                 GMban(Reader.Text());
                 break;
             case GM_COMMAND.INVISIBLE:
                 GMinvisible();
                 break;
             case GM_COMMAND.INVINCIBLE:
                 GMinvincible();
                 break;
             case GM_COMMAND.WARP:
                 if (PacketInformation.buffer.Length > 4)
                     GM_WP(Reader.Byte(), Reader.Byte(), Reader.Single(), Reader.Single(), Reader.Single());
                 break;
             case GM_COMMAND.RECALLUSER:
                 GMrecalluser(Reader.Text());
                 break;
             case GM_COMMAND.MOBKILL:
                 GMmobkill(Reader.Int32(), Reader.UInt16());
                 break;
             case GM_COMMAND.BLOCKLOGOUT:
                 GMblocklogout(Reader.Text(), Reader.Byte());
                 break;
             case GM_COMMAND.LIENAME:
                 GM_LIENAME(Reader.Text());
                 GM_TRANSFORM(Reader.Text());
                 break;
             case GM_COMMAND.INITQ:
                 GMinitq();
                 break;
             case GM_COMMAND.MOVETONPC:
                 GMmovetonpc(Reader.Text());
                 break;
             case GM_COMMAND.ROTIME: // Kontrol Edilecek
                 //GMspawnuniques();
                 break;
             case GM_COMMAND.CLEARINVENTORY:
                 GMclearinventory();
                 break;
             case GM_COMMAND.ENTERGMM:
                 GMentergmm();
                 break;
             case GM_COMMAND.WEATHER_RAIN:
                 Helpers.SendToClient.SendAll(Packet.Weather(2, Reader.Int32()));
                 break;
             case GM_COMMAND.WEATHER_SNOW:
                 Helpers.SendToClient.SendAll(Packet.Weather(3, Reader.Int32()));
                 break;
             case GM_COMMAND.WEATHER_CLEAR:
                 Helpers.SendToClient.SendAll(Packet.Weather(1, Reader.Int32()));
                 break;
             default:
                 Print.Format("Non Coded GM Command:{0} -> {1}", CommandType, Decode.StringToPack(PacketInformation.buffer));
                 break;
         }
         Reader.Close();
     }
     else
     {
         Disconnect("ban");
     }
 }