mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-07 10:22:56 +00:00
Fixed Utils::getUniqueID() on Linux due to /proc/cpuinfo
This commit is contained in:
@ -2008,7 +2008,7 @@ class Server{
|
|||||||
|
|
||||||
$version = new VersionString();
|
$version = new VersionString();
|
||||||
$this->lastSendUsage = new SendUsageTask("http://stats.pocketmine.net/usage.php", [
|
$this->lastSendUsage = new SendUsageTask("http://stats.pocketmine.net/usage.php", [
|
||||||
"serverid" => Binary::readLong(substr(Utils::getUniqueID(true, $this->getIp() . ":" . $this->getPort()), 0, 8)),
|
"serverid" => $this->serverID,
|
||||||
"port" => $this->getPort(),
|
"port" => $this->getPort(),
|
||||||
"os" => Utils::getOS(),
|
"os" => Utils::getOS(),
|
||||||
"name" => $this->getName(),
|
"name" => $this->getName(),
|
||||||
|
@ -59,13 +59,14 @@ class Utils{
|
|||||||
*/
|
*/
|
||||||
public static function getUniqueID($raw = false, $extra = ""){
|
public static function getUniqueID($raw = false, $extra = ""){
|
||||||
$machine = php_uname("a");
|
$machine = php_uname("a");
|
||||||
$machine .= file_exists("/proc/cpuinfo") ? file_get_contents("/proc/cpuinfo") : "";
|
$machine .= file_exists("/proc/cpuinfo") ? `cat /proc/cpuinfo | grep "model name"`: "";
|
||||||
$machine .= sys_get_temp_dir();
|
$machine .= sys_get_temp_dir();
|
||||||
$machine .= $extra;
|
$machine .= $extra;
|
||||||
if(Utils::getOS() == "win"){
|
$os = Utils::getOS();
|
||||||
exec("ipconfig /ALL", $mac);
|
if($os === "win"){
|
||||||
|
@exec("ipconfig /ALL", $mac);
|
||||||
$mac = implode("\n", $mac);
|
$mac = implode("\n", $mac);
|
||||||
if(preg_match_all("#Physical Address[. ]{1,}: ([0-9A-F\-]{17})#", $mac, $matches)){
|
if(preg_match_all("#Physical Address[. ]{1,}: ([0-9A-F\\-]{17})#", $mac, $matches)){
|
||||||
foreach($matches[1] as $i => $v){
|
foreach($matches[1] as $i => $v){
|
||||||
if($v == "00-00-00-00-00-00"){
|
if($v == "00-00-00-00-00-00"){
|
||||||
unset($matches[1][$i]);
|
unset($matches[1][$i]);
|
||||||
@ -73,6 +74,17 @@ class Utils{
|
|||||||
}
|
}
|
||||||
$machine .= implode(" ", $matches[1]); //Mac Addresses
|
$machine .= implode(" ", $matches[1]); //Mac Addresses
|
||||||
}
|
}
|
||||||
|
}elseif($os === "linux"){
|
||||||
|
@exec("ifconfig /ALL", $mac);
|
||||||
|
$mac = implode("\n", $mac);
|
||||||
|
if(preg_match_all("#HWaddr[ \t]{1,}([0-9a-f:]{17})#", $mac, $matches)){
|
||||||
|
foreach($matches[1] as $i => $v){
|
||||||
|
if($v == "00:00:00:00:00:00"){
|
||||||
|
unset($matches[1][$i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$machine .= implode(" ", $matches[1]); //Mac Addresses
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$data = $machine . PHP_MAXPATHLEN;
|
$data = $machine . PHP_MAXPATHLEN;
|
||||||
$data .= PHP_INT_MAX;
|
$data .= PHP_INT_MAX;
|
||||||
|
Reference in New Issue
Block a user