- memcpy( &shmptr->client[cc].bUDP, &client_itr->bUDP, bt_end );\r
- memcpy( &shmptr->client[cc].UDPPingAvg, &client_itr->UDPPingAvg, pa_end );\r
- memcpy( &shmptr->client[cc].UDPPackets, &client_itr->UDPPackets, pc_end );\r
- } \r
- cc++; \r
- }\r
-\r
-} \r
+ shmptr->client[cc].online_secs = ( now - client_itr->connectTime ) / 1000000LL;\r
+ shmptr->client[cc].idle_secs = ( now - client_itr->idleTime ) / 1000000LL;\r
+ \r
+ shmptr->client[cc].bUDP = client_itr->bUDP;\r
+ shmptr->client[cc].deaf = client_itr->deaf;\r
+ shmptr->client[cc].mute = client_itr->mute;\r
+ shmptr->client[cc].bOpus = client_itr->bOpus;\r
+ shmptr->client[cc].self_deaf = client_itr->self_deaf;\r
+ shmptr->client[cc].self_mute = client_itr->self_mute;\r
+ shmptr->client[cc].recording = client_itr->recording;\r
+ shmptr->client[cc].authenticated = client_itr->authenticated;\r
+ \r
+ shmptr->client[cc].availableBandwidth = client_itr->availableBandwidth;\r
+ \r
+ shmptr->client[cc].UDPPingAvg = client_itr->UDPPingAvg;\r
+ shmptr->client[cc].UDPPingVar = client_itr->UDPPingVar;\r
+ shmptr->client[cc].TCPPingAvg = client_itr->TCPPingAvg;\r
+ shmptr->client[cc].TCPPingVar = client_itr->TCPPingVar;\r
+ \r
+ shmptr->client[cc].isAdmin = client_itr->isAdmin;\r
+ shmptr->client[cc].isSuppressed = client_itr->isSuppressed;\r
+ \r
+ shmptr->client[cc].UDPPackets = client_itr->UDPPackets;\r
+ shmptr->client[cc].TCPPackets = client_itr->TCPPackets;\r
+ \r
+ } \r
+ cc++; \r
+ }\r
+ } \r
+}\r
+void Sharedmemory_alivetick(void)\r
+{\r
+ shmptr->alive++;\r