getIpPorts(); echo "

".get_lang("dsi_list")."

\n"; if ( isset($_GET['home_id-mod_id-ip-port']) AND $_GET['home_id-mod_id-ip-port'] == "" ) unset( $_GET['home_id-mod_id-ip-port'] ); echo get_lang("dsi_select_server"); if (!isset($_GET['home_id-mod_id-ip-port']) and !$online) { create_home_selector_address($_GET['m'], $_GET['p'], $server_homes); $show_all = TRUE; } else { create_home_selector_address($_GET['m'], $_GET['p'], $server_homes); create_home_selector($_GET['m'], $_GET['p'], "show_all"); $show_all = FALSE; } $qty = count($server_homes); $cols = 1; if ( ( $qty >= 4 && $qty < 17 ) OR isset($_GET['home_id-mod_id-ip-port']) ) { $cols = 4; $type = "sky"; } else { $type = "normal"; } if ( $qty >= 17 ) $cols = 2; $counter = 1; echo $show_all ? "\n
\n". "\t\n". "
\n". "
\n" : ""; $servers = 0; $servers_running = 0; foreach ( $server_homes as $server_home ) { $servers++; // Get display IP $public_ip = checkDisplayPublicIP($server_home['display_public_ip'],$server_home['ip'] != $server_home['agent_ip'] ? $server_home['ip'] : $server_home['agent_ip']); $remote = new OGPRemoteLibrary($server_home['agent_ip'], $server_home['agent_port'], $server_home['encryption_key'], $server_home['timeout']); $screen_running = $remote->is_screen_running(OGP_SCREEN_TYPE_HOME,$server_home['home_id']) === 1; if($screen_running) $servers_running++; if( ( $online and $screen_running ) OR ( isset( $_GET['home_id-mod_id-ip-port'] ) and $_GET['home_id-mod_id-ip-port'] == $server_home['home_id'].'-'.$server_home['mod_id'].'-'. $server_home['ip'].'-'.$server_home['port'] ) OR ( !$online and $show_all ) ) { $port = $server_home['port']; $url = false; $server_xml = read_server_config(SERVER_CONFIG_LOCATION."/".$server_home['home_cfg_file']); if ($server_xml->protocol == "lgsl"){ list($c_port, $q_port, $s_port) = lgsl_port_conversion($server_xml->lgsl_query_name, $port, "", ""); $url = lgsl_software_link($server_xml->lgsl_query_name, $public_ip, $c_port, $q_port, $s_port); } else if ($server_xml->protocol == "gameq"){ $query_port = get_query_port($server_xml, $port); $gq = new \GameQ\GameQ(); $server = array( 'id' => 'server', 'type' => $server_xml->gameq_query_name, 'host' => $public_ip . ":" . $query_port, ); $gq->addServer($server); $gq->setOption('timeout', 1); $gq->setOption('debug', FALSE); $results = $gq->process(); if(isset($results['gq_joinlink']) and $results['gq_joinlink'] != "") { $url = $results['gq_joinlink']; } else { if($server_xml->installer == "steamcmd") $url = "steam://connect/$public_ip:$port"; else $url = "#Notavailable"; } } else if ($server_xml->protocol == "teamspeak3"){ $url = "ts3server://$public_ip:$port"; } if ($cols != 4 && $cols != 1 && $counter == $cols) { $side = "left"; } elseif ($cols != 4 && $cols != 1) { $side = "right"; } else { $side = "center"; } if( isset($_GET['home_id-mod_id-ip-port']) ) { $side = "center"; } if( isset($_GET['home_id-mod_id-ip-port']) ) { $output .= dsi_render_table($server_home["ip"], $server_home["port"], $url, FALSE, TRUE); } else { $output .= dsi_render_table($server_home["ip"], $server_home["port"], $url, FALSE, FALSE, FALSE, $screen_running, TRUE, $type); } if ($counter == $cols) { $output .= "\t\n\t\n"; $counter = 1; } else { $counter++; } } } if( ($online and $servers_running > 0) OR ( !$online and $servers > 0) ) echo "
\n". "\n". $output . "
\n". "
\n"; } ?>