PHP-Fussion Minecraft status

Pokec o čemkoliv ostatním
Message
Autor
Uživatelský avatar
TheLaoming
Příspěvky: 308
Věk: 19
Registrován: 14 bře 2015, 20:42
Reputation: 0
Bydliště: Ostrava !!!
Kontaktovat uživatele:

PHP-Fussion Minecraft status

#1 Příspěvekod TheLaoming » 07 zář 2017, 17:17

Zdravím, mám problém s minecraft statusem na webu. Jako jediný typ hry mi instantě vypadává je-li na serveru více jak 18 lidí. Prostě 2 minuty běží v pohodě a pak najednou na 5 minut 0/0 výpadek. Dělá to pouze při 18+ hráčích, při menším počtu to jede v pohodě.

Ta chyba vypadá nějak takto:
Spoiler: zobrazit
bug.png
bug.png (56.91 KiB) Zobrazeno 141 x

bug2.png
bug2.png (7.92 KiB) Zobrazeno 141 x


Navíc když otevřu detail serveru a zrovna to nevypadává, ukazuje to taky špatný počet hráčů (místo 30 například 18) a pokud tam je menší počet hráčů, ukazuje to vždy o 1 méně v detailu.

A vypadat to má takto:
ok.png
ok.png (9.44 KiB) Zobrazeno 141 x


Tohle je tuším aktuální kod statusu:
Spoiler: zobrazit

Kód: Vybrat vše

function lgsl_query_MC(&$server, &$lgsl_need, &$lgsl_fp) {

    $Data = WriteData($lgsl_fp, "\x09" );

    if (!$Data) { return FALSE; }

    $Challenge = Pack( 'N', $Data );

    $status     = WriteData($lgsl_fp, "\x00", $Challenge . "\x01\x02\x03\x04" );

    $status        = SubStr( $status, 11 );

    $status        = Explode( "\x00\x00\x01player_\x00\x00", $status );

    $players     = SubStr( $status[ 1 ], 0, -2 );

    $players     = Explode( "\x00", $players );

    $status        = Explode( "\x00", $status[ 0 ] );

    $data         = array ("general" => $status, "plugins" => explode(",",$status[9]), "players" => $players);

    $server['b']['status']         = 1;

    $server['s']['map']         = $data['general'][11];   

    $server['s']['game']           = $data['general'][3];

    $server['s']['name']           = $data['general'][1];

    $server['s']['map']            = $data['general'][11];

    $server['s']['players']        = $data['general'][13];

    $server['s']['playersmax']     = $data['general'][15];

    $server['e']['version']     = $data['general'][7];

    $server['e']     = $data['plugins'];

    $players = array();

    for($i=1;$i<sizeof($data['players']);$i++) {

        $add = array("pid" => $i , "name" => $data['players'][$i]);

        array_push($players,$add);

    }

    $server['p']        = $players;

    return TRUE;

}


Pokud víte kde mám chybu, byl bych rád za radu. Nebo pokud víte někdo o nějakém kodu, který by fungoval lépe na PHP-Fussion ?
Obrázek
CS 1.6, CS:GO a MC Servery: Mix-Arena.eu
Obrázek

Obrázek

Zpět na „Off topic“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti