public static Encryption CreateServerGame(GameEncryptionType type, uint seed) { IEncryptor encryptor; IDecryptor decryptor; switch (type) { case GameEncryptionType.None: encryptor = new Huffman(); decryptor = new NoEncryption(); break; case GameEncryptionType.Old: // Blowfish encryptor = new Huffman(); decryptor = new BlowfishEncryption(); break; case GameEncryptionType.Rare: // Blowfish + Twofish encryptor = new Huffman(); decryptor = new BlowfishTwofishEncryption(seed); break; case GameEncryptionType.New: // Twofish + MD5 encryptor = new HuffmanMD5Encryption(seed); decryptor = new TwofishEncryption(seed); break; default: throw new Exception("Internal error."); } return(new Encryption(encryptor, decryptor)); }
public static Encryption CreateClientGame(GameEncryptionType type, uint seed) { IEncryptor encryptor; IDecryptor decryptor; switch (type) { case GameEncryptionType.None: encryptor = new NoEncryption(); decryptor = new Huffman(); break; case GameEncryptionType.Old: // Blowfish encryptor = new BlowfishEncryption(); decryptor = new Huffman(); break; case GameEncryptionType.Rare: // Blowfish + Twofish encryptor = new BlowfishTwofishEncryption(seed); decryptor = new Huffman(); break; case GameEncryptionType.New: // Twofish + MD5 encryptor = new TwofishEncryption(seed); decryptor = new HuffmanMD5Encryption(seed); break; default: throw new Exception("Internal error."); } return new Encryption(encryptor, decryptor); }
private GameEncryptionType GetServerEncryption(GameEncryptionType clientEncryption) { int v = Int32.Parse(Core.LaunchData.ServerEncryption); switch (v) { case 0: return(GameEncryptionType.None); case 1: return(clientEncryption); case 2: return(GameEncryptionType.Old); case 3: return(GameEncryptionType.Rare); case 4: return(GameEncryptionType.New); default: Trace.WriteLine("server game encryption. Using same as client.", "Communication"); return(CommunicationManager.ClientEncryption); } }
public static EncryptionVersion FromGame(GameEncryptionType game) { switch (game) { case GameEncryptionType.None: return(new EncryptionVersion()); case GameEncryptionType.Old: return(new EncryptionVersion(1, 26, 4)); case GameEncryptionType.Rare: return(new EncryptionVersion(2, 0, 0)); case GameEncryptionType.New: return(new EncryptionVersion(2, 0, 4)); default: throw new Exception("Internal error."); } }
private GameEncryptionType GetServerEncryption(GameEncryptionType clientEncryption) { int v = Int32.Parse(Core.LaunchData.ServerEncryption); switch (v) { case 0: return GameEncryptionType.None; case 1: return clientEncryption; case 2: return GameEncryptionType.Old; case 3: return GameEncryptionType.Rare; case 4: return GameEncryptionType.New; default: Trace.WriteLine("server game encryption. Using same as client.", "Communication"); return CommunicationManager.ClientEncryption; } }