Found another little problem:
My websever returns the REMOTE_ADDR as a kind of IPv6:
::fffff:255.255.255.255
So I needed another "explode" to get the last part, which is the usual IP. I also added an isset statement to check whether AddServer.php was called with a proper post statement containing the needed variables. Here is the modified code part:
//check for valid post
if (!isset( $_POST['Port'], $_POST['Name'] )) die("ERROR: JUST FAIL");
//gets the ip address from the host that called this script:
$Ip_Addr = $_SERVER['REMOTE_ADDR'];
//if the host is on the same machine as the serverlist server,
//insert "127.0.0.1" (= localhost)
if($Ip_Addr == "::1" || $Ip_Addr == "localhost") $Ip_Addr = "127.0.0.1";
//converts the ip address into a 4 byte integer:
$Ip_TempF = explode(":", $Ip_Addr);
$Ip_Temp = explode(".", $Ip_TempF[3]);
$Ip = ($Ip_Temp[0]<<24) + ($Ip_Temp[1]<<16) + ($Ip_Temp[2]<<8)
+ ($Ip_Temp[3]);
@darkinferno: I have changed it to work that way, it only takes a few minutes. I can post the files if you want to, but there is another bug still remaining that makes the dll crash on some occasions.