diff --git a/server/src/client/command_handler/bulk_parsers.h b/server/src/client/command_handler/bulk_parsers.h
index 4b7f76b..b25c8ec 100644
--- a/server/src/client/command_handler/bulk_parsers.h
+++ b/server/src/client/command_handler/bulk_parsers.h
@@ -78,13 +78,15 @@ namespace ts::command::bulk_parser {
 
             inline void apply_to(const std::shared_ptr<permission::v2::PermissionManager>& manager, permission::v2::PermissionUpdateType mode) const {
                 if(this->is_grant_permission()) {
-                    manager->set_permission(this->permission_type(), { this->value(), true }, permission::v2::PermissionUpdateType::do_nothing, mode);
+                    manager->set_permission(this->permission_type(), { 0, this->value() }, permission::v2::PermissionUpdateType::do_nothing, mode);
                 } else {
                     manager->set_permission(
                             this->permission_type(),
-                            { this->value(), true },
+                            { this->value(), 0 },
                             mode,
-                            permission::v2::PermissionUpdateType::do_nothing
+                            permission::v2::PermissionUpdateType::do_nothing,
+                            this->flag_skip(),
+                            this->flag_negated()
                     );
                 }
             }
diff --git a/server/src/client/query/QueryClientCommands.cpp b/server/src/client/query/QueryClientCommands.cpp
index 97c945b..e684a10 100644
--- a/server/src/client/query/QueryClientCommands.cpp
+++ b/server/src/client/query/QueryClientCommands.cpp
@@ -409,10 +409,10 @@ command_result QueryClient::handleCommandServerInfo(Command &) {
         auto total_stats = this->server->getServerStatistics()->total_stats();
         auto report_second = this->server->serverStatistics->second_stats();
         auto report_minute = this->server->serverStatistics->minute_stats();
-        cmd["connection_bandwidth_sent_last_second_total"] = std::accumulate(report_second.connection_bytes_sent.begin(), report_second.connection_bytes_sent.end(), 0U);
-        cmd["connection_bandwidth_sent_last_minute_total"] = std::accumulate(report_minute.connection_bytes_sent.begin(), report_minute.connection_bytes_sent.end(), 0U);
-        cmd["connection_bandwidth_received_last_second_total"] = std::accumulate(report_second.connection_bytes_received.begin(), report_second.connection_bytes_received.end(), 0U);
-        cmd["connection_bandwidth_received_last_minute_total"] = std::accumulate(report_minute.connection_bytes_received.begin(), report_minute.connection_bytes_received.end(), 0U);
+        cmd["connection_bandwidth_sent_last_second_total"] = std::accumulate(report_second.connection_bytes_sent.begin(), report_second.connection_bytes_sent.end(), (size_t) 0U);
+        cmd["connection_bandwidth_sent_last_minute_total"] = std::accumulate(report_minute.connection_bytes_sent.begin(), report_minute.connection_bytes_sent.end(), (size_t) 0U);
+        cmd["connection_bandwidth_received_last_second_total"] = std::accumulate(report_second.connection_bytes_received.begin(), report_second.connection_bytes_received.end(), (size_t) 0U);
+        cmd["connection_bandwidth_received_last_minute_total"] = std::accumulate(report_minute.connection_bytes_received.begin(), report_minute.connection_bytes_received.end(), (size_t) 0U);
 
         cmd["connection_filetransfer_bandwidth_sent"] = report_minute.file_bytes_sent;
         cmd["connection_filetransfer_bandwidth_received"] = report_minute.file_bytes_received;
@@ -434,10 +434,10 @@ command_result QueryClient::handleCommandServerInfo(Command &) {
         cmd["connection_packets_received_control"] = total_stats.connection_packets_received[stats::ConnectionStatistics::category::COMMAND];
         cmd["connection_bytes_received_control"] = total_stats.connection_bytes_received[stats::ConnectionStatistics::category::COMMAND];
 
-        cmd["connection_packets_sent_total"] = std::accumulate(total_stats.connection_packets_sent.begin(), total_stats.connection_packets_sent.end(), 0U);
-        cmd["connection_bytes_sent_total"] = std::accumulate(total_stats.connection_bytes_sent.begin(), total_stats.connection_bytes_sent.end(), 0U);
-        cmd["connection_packets_received_total"] = std::accumulate(total_stats.connection_packets_received.begin(), total_stats.connection_packets_received.end(), 0U);
-        cmd["connection_bytes_received_total"] = std::accumulate(total_stats.connection_bytes_received.begin(), total_stats.connection_bytes_received.end(), 0U);
+        cmd["connection_packets_sent_total"] = std::accumulate(total_stats.connection_packets_sent.begin(), total_stats.connection_packets_sent.end(), (size_t) 0U);
+        cmd["connection_bytes_sent_total"] = std::accumulate(total_stats.connection_bytes_sent.begin(), total_stats.connection_bytes_sent.end(), (size_t) 0U);
+        cmd["connection_packets_received_total"] = std::accumulate(total_stats.connection_packets_received.begin(), total_stats.connection_packets_received.end(), (size_t) 0U);
+        cmd["connection_bytes_received_total"] = std::accumulate(total_stats.connection_bytes_received.begin(), total_stats.connection_bytes_received.end(), (size_t) 0U);
     } else {
         cmd["connection_bandwidth_sent_last_second_total"] = "0";
         cmd["connection_bandwidth_sent_last_minute_total"] = "0";
@@ -486,11 +486,13 @@ command_result QueryClient::handleCommandChannelList(Command& cmd) {
     command_builder result{"", 1024, entries.size()};
     for(const auto& channel : entries){
         if(!channel) continue;
+
+        const auto channel_clients = this->server ? this->server->getClientsByChannel(channel).size() : 0;
         result.put_unchecked(index, "cid", channel->channelId());
         result.put_unchecked(index, "pid", channel->properties()[property::CHANNEL_PID].as<string>());
         result.put_unchecked(index, "channel_name", channel->name());
         result.put_unchecked(index, "channel_order", channel->channelOrder());
-        result.put_unchecked(index, "total_clients", this->server ? this->server->getClientsByChannel(channel).size() : 0);
+        result.put_unchecked(index, "total_clients", channel_clients);
         /* result.put_unchecked(index, "channel_needed_subscribe_power", channel->permissions()->getPermissionValue(permission::i_channel_needed_subscribe_power, channel, 0)); */
 
         if(cmd.hasParm("flags")){
@@ -522,8 +524,8 @@ command_result QueryClient::handleCommandChannelList(Command& cmd) {
         if(cmd.hasParm("topic")) {
             result.put_unchecked(index, "channel_topic", channel->properties()[property::CHANNEL_TOPIC].as<string>());
         }
-        if(cmd.hasParm("times")){
-            result.put_unchecked(index, "seconds_empty", channel->emptySince());
+        if(cmd.hasParm("times") || cmd.hasParm("secondsempty")){
+            result.put_unchecked(index, "seconds_empty", channel_clients == 0 ? channel->emptySince() : 0);
         }
         index++;
     }
@@ -776,10 +778,10 @@ command_result QueryClient::handleCommandHostInfo(Command &) {
 
     auto report_second = serverInstance->getStatistics()->second_stats();
     auto report_minute = serverInstance->getStatistics()->minute_stats();
-    res["connection_bandwidth_sent_last_second_total"] = std::accumulate(report_second.connection_bytes_sent.begin(), report_second.connection_bytes_sent.end(), 0U);
-    res["connection_bandwidth_sent_last_minute_total"] = std::accumulate(report_minute.connection_bytes_sent.begin(), report_minute.connection_bytes_sent.end(), 0U);
-    res["connection_bandwidth_received_last_second_total"] = std::accumulate(report_second.connection_bytes_received.begin(), report_second.connection_bytes_received.end(), 0U);
-    res["connection_bandwidth_received_last_minute_total"] = std::accumulate(report_minute.connection_bytes_received.begin(), report_minute.connection_bytes_received.end(), 0U);
+    res["connection_bandwidth_sent_last_second_total"] = std::accumulate(report_second.connection_bytes_sent.begin(), report_second.connection_bytes_sent.end(), (size_t) 0U);
+    res["connection_bandwidth_sent_last_minute_total"] = std::accumulate(report_minute.connection_bytes_sent.begin(), report_minute.connection_bytes_sent.end(), (size_t) 0U);
+    res["connection_bandwidth_received_last_second_total"] = std::accumulate(report_second.connection_bytes_received.begin(), report_second.connection_bytes_received.end(), (size_t) 0U);
+    res["connection_bandwidth_received_last_minute_total"] = std::accumulate(report_minute.connection_bytes_received.begin(), report_minute.connection_bytes_received.end(), (size_t) 0U);
 
 
     res["connection_filetransfer_bandwidth_sent"] = report_second.file_bytes_sent;
diff --git a/server/src/manager/SqlDataManager.h b/server/src/manager/SqlDataManager.h
index 6ff625e..80544e6 100644
--- a/server/src/manager/SqlDataManager.h
+++ b/server/src/manager/SqlDataManager.h
@@ -10,7 +10,7 @@ namespace ts {
                 virtual ~SqlDataManager();
 
                 [[nodiscard]] inline int get_database_version() const { return this->_database_version; }
-                [[nodiscard]] inline int get_permissions_version() const { return this->_database_version; }
+                [[nodiscard]] inline int get_permissions_version() const { return this->_permissions_version; }
                 bool initialize(std::string&);
                 void finalize();