/// <summary>
        /// Replace ban list
        /// </summary>
        /// <param name="bans">bans = null will clear ban list</param>
        public void SetBans(SerializableDictionary <int, VirtualServerEntity.Ban> bans)
        {
            // clear banlist
            if (bans == null)
            {
                // clear remote
                _server.setBans(null);

                // clear cache
                _entity.Bans.Clear();

                return;
            }

            // update remote
            Ban[] _bans = new Ban[bans.Count];
            for (int i = 0; i < bans.Count; i++)
            {
                var b = bans[i];
                _bans[i] = new Ban(b.Address, b.Bits, b.Name, b.Hash, b.Reason, b.Start, b.Duration);
            }
            _server.setBans(_bans);

            // clear cache
            _entity.Bans.Clear();

            // update cache
            _entity.Bans = bans;
        }