own3mall преди 7 години
родител
ревизия
e878238137
променени са 3 файла, в които са добавени 5 реда и са изтрити 4 реда
  1. 3 2
      includes/database_mysqli.php
  2. 1 1
      modules/gamemanager/mini_start.php
  3. 1 1
      modules/gamemanager/start_server.php

+ 3 - 2
includes/database_mysqli.php

@@ -1422,11 +1422,12 @@ class OGPDatabaseMySQL extends OGPDatabase
 
 	// Gamemanager functions
 	public function getHomeIpPorts($home_id){
-		$query = sprintf("SELECT ip_id,ip,port,force_mod_id
-			FROM %shome_ip_ports NATURAL JOIN %sremote_server_ips
+		$query = sprintf("SELECT ip_id, ip, port, force_mod_id, agent_ip, use_nat 
+			FROM %shome_ip_ports NATURAL JOIN %sremote_server_ips NATURAL JOIN %sremote_servers
 			WHERE home_id = %d;",
 			$this->table_prefix,
 			$this->table_prefix,
+			$this->table_prefix,
 			$this->realEscapeSingle($home_id));
 		return $this->listQuery($query);
 	}

+ 1 - 1
modules/gamemanager/mini_start.php

@@ -297,7 +297,7 @@ elseif($server_home['home_id'] == $_POST['home_id'])
 	$ip_port = $_POST['ip_port'];
 	list($ip, $port) = explode(":", $ip_port);
 	
-	if($server_home['ip'] == $ip && $server_home['port'] == $port) 
+	if(($server_home['ip'] == $ip || ($ip == $server_home['agent_ip'] && $server_home['use_nat'] == 1)) && $server_home['port'] == $port) 
 	{
 		$cli_param_data['IP'] = $server_home['ip'];
 		$cli_param_data['PORT'] = $server_home['port'];

+ 1 - 1
modules/gamemanager/start_server.php

@@ -76,7 +76,7 @@ function exec_ogp_module()
 
 	{
 	
-		if($ip_ports_row['ip'] == $_REQUEST['ip'] && $ip_ports_row['port'] == $_REQUEST['port']) 
+		if(($ip_ports_row['ip'] == $_REQUEST['ip'] || ($_REQUEST['ip'] == $ip_ports_row['agent_ip'] && $ip_ports_row['use_nat'] == 1)) && $ip_ports_row['port'] == $_REQUEST['port']) 
 		
 		{