\r
\r
while ( (opt = getopt(argc, argv, "w")) != -1 ) \r
- {\r
+ {\r
switch(opt) \r
- {\r
+ {\r
case 'w':\r
wait = 1;\r
break;\r
uint8_t check_serverTick(void)\r
{\r
last = shmptr->alive;\r
- sleep( 1 ); // Sleep for 1 sec\r
- return(shmptr->alive - last); \r
+ sleep( 1 ); // Sleep for 1 sec\r
+ return(shmptr->alive - last); \r
}\r
\r
void run_shm(void)\r
\r
int cc;\r
\r
- printf( "\033[2J\033[H" ); //clear screen VT100\r
+ printf( "\033[2J\033[H" ); //clear screen VT100\r
\r
\r
- for( cc = 0 ; cc < shmptr->server_max_clients ; cc++ )\r
+ for( cc = 0 ; cc < shmptr->server_max_clients ; cc++ )\r
{\r
\r
if( !shmptr->client[cc].authenticated )\r
continue; \r
\r
- printf( "%s@%s:%i in channel: %s\n\\r
- \tOnline(secs): %lu Idle(secs): %lu\n\\r
- \tusingUDP=%i\n\\r
- \tdeaf=%i, mute=%i\n\\r
- \tself_deaf=%i, self_mute=%i\n\\r
- \trecording=%i\n\\r
- \tbOpus=%i\n\\r
- \tUDP_Avg/Var: %3.2f/%3.2f \n\\r
- \tTCP_Avg/Var: %3.2f/%3.2f \n\\r
- \tUDP_C/TCP_C: %lu/%lu\n", \r
- shmptr->client[cc].username,\r
- shmptr->client[cc].ipaddress,\r
- shmptr->client[cc].udp_port,\r
- shmptr->client[cc].channel,\r
- shmptr->client[cc].online_secs,\r
- shmptr->client[cc].idle_secs,\r
+ printf( "%s@%s:%i in channel: %s\n\\r
+ \tclient_OS: %s %s\n\\r
+ \tclient_info: %s\n\\r
+ \tavailableBandwidth: %i\n\\r
+ \tOnline(secs): %lu Idle(secs): %lu\n\\r
+ \tusingUDP=%i\n\\r
+ \tdeaf=%i, mute=%i\n\\r
+ \tself_deaf=%i, self_mute=%i\n\\r
+ \trecording=%i\n\\r
+ \tbOpus=%i\n\\r
+ \tisAdmin=%i\n\\r
+ \tisSuppressed=%i\n\\r
+ \tUDP_Avg/Var: %3.2f/%3.2f\n\\r
+ \tTCP_Avg/Var: %3.2f/%3.2f\n\\r
+ \tUDP_C/TCP_C: %lu/%lu\n", \r
+ shmptr->client[cc].username,\r
+ shmptr->client[cc].ipaddress,\r
+ shmptr->client[cc].udp_port,\r
+ shmptr->client[cc].channel,\r
+ shmptr->client[cc].os,\r
+ shmptr->client[cc].os_version,\r
+ shmptr->client[cc].release,\r
+ shmptr->client[cc].availableBandwidth,\r
+ shmptr->client[cc].online_secs,\r
+ shmptr->client[cc].idle_secs,\r
\r
- shmptr->client[cc].bUDP,\r
- shmptr->client[cc].deaf,\r
- shmptr->client[cc].mute,\r
- shmptr->client[cc].self_deaf,\r
- shmptr->client[cc].self_mute,\r
- shmptr->client[cc].recording,\r
- shmptr->client[cc].bOpus,\r
+ shmptr->client[cc].bUDP,\r
+ shmptr->client[cc].deaf,\r
+ shmptr->client[cc].mute,\r
+ shmptr->client[cc].self_deaf,\r
+ shmptr->client[cc].self_mute,\r
+ shmptr->client[cc].recording,\r
+ shmptr->client[cc].bOpus,\r
+ \r
+ shmptr->client[cc].isAdmin,\r
+ shmptr->client[cc].isSuppressed,\r
\r
- shmptr->client[cc].UDPPingAvg,\r
- shmptr->client[cc].UDPPingVar,\r
- shmptr->client[cc].TCPPingAvg,\r
- shmptr->client[cc].TCPPingVar,\r
- shmptr->client[cc].UDPPackets,\r
- shmptr->client[cc].TCPPackets ); fflush(stdout); // fflush need because of sleep() call\r
+ shmptr->client[cc].UDPPingAvg,\r
+ shmptr->client[cc].UDPPingVar,\r
+ shmptr->client[cc].TCPPingAvg,\r
+ shmptr->client[cc].TCPPingVar,\r
+ shmptr->client[cc].UDPPackets,\r
+ shmptr->client[cc].TCPPackets ); fflush(stdout); // fflush need because of sleep() call\r
}\r
- if( !check_serverTick() ) \r
+ if( !check_serverTick() )\r
{\r
- exit(EXIT_FAILURE); //You dont have to exit you could just report the fact that the data is not valid \r
- }\r
+ exit(EXIT_FAILURE); //You dont have to exit you could just report the fact that the data is not valid \r
+ }\r
}
\ No newline at end of file