#region Arthea License /*********************************************************************** * Arthea MUD by R. Jennings (2007) http://arthea.googlecode.com/ * * By using this code you comply with the Artistic and GPLv2 Licenses. * ***********************************************************************/ #endregion #if ENABLE_COMPRESSION using Arthea.Connections; #endif using Arthea.Connections.Players; namespace Arthea.Commands.PlayerCommands { /// <summary> /// Implements an AFK Command. /// </summary> public class CompressCommand : Command { #region [rgn] Constructors (1) /// <summary> /// Constructor /// </summary> public CompressCommand() : base("compress") { } #endregion [rgn] #region [rgn] Methods (1) // [rgn] Public Methods (1) /// <summary> /// Processes an afk command. /// </summary> /// <param name="player"></param> /// <param name="argument"></param> public override void Process(Player player, String argument) { #if ENABLE_COMPRESSION if (!player.Connection.Flags.Has(ConnectionFlags.MCCP)) { player.Connection.WriteToSocket(new byte[] { Telopt.IAC, Telopt.Will, Telopt.Compress2, 0 }); player.Connection.WriteToSocket(new byte[] { Telopt.IAC, Telopt.Will, Telopt.Compress, 0 }); player.WriteLine("Compression initiation sequence sent to your client."); } else { player.Connection.EndCompression(); player.WriteLine("Compression disabled."); } #else player.WriteLine("Compression is not enabled."); #endif } #endregion [rgn] } }