Pereiti prie turinio

P0NAS

Nariai
  • Pranešimai

    101
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    0%

P0NAS Pranešimai

  1. Tai gal kažko trūksta serveryje, palygink phpinfo(); serverio ir wamp kiekvieną eilute

     

    Spėju tu perskaitei pirmas 3 eilutes ir iškart puoli atsakinėti.

     

    PHP versija hostingo 7.0. Apache 2.0. + Vienas pastebėjimas - mano kompiuteryje apache yra 2.4.9. Ar tai gali būti priežastis?

     

    Atspėjau? Ten net versijos PHP skiriasi:

    Wamp - 5.5

    Hostingas - 7.0

    ...

  2. Taip, įsikėliau šį failą į savo kompiuterį ir su Wamp serveriu paleidęs jį neradau jokių 500 errorų. Viskas veikė kuo puikiausiai. Aš klausiau hostingo administracijos ar tik jie ko nors neblokuoja, sako SOCKET'ų neblokuoja. O čia vien socket'ais naudojamasi, kaip matau. Tai kame reikalas?

  3. O ką logas sako kai gauni 500 statusą?

    Nu nežinau, daug ką, bet ten visi užrašai pasenę, niekas nebegalioja, ten rodo klaida pvz. 400 eilutėj, o tokios jau net nebėra. Aš nesuprantu kaip tuo error logu naudotis, jis ten rodo datas kažkokias, tai ten tos datos, kada tas erroras atsirado? Jei viską ištrinčiau, tai atnaujintų?

     

     

    EDIT:

    Jau išsiaiškinau, bet žinokit iš tikrųjų nieko nerodo apie tai... Viskas pasenę ir nieko galiojančio nėra...

  4. Arba dar geriau – ištaisius kodą parašyti dokumentaciją ir ją atvežti nurodytu adresu už savo kurą. Tfu, o atvažiavus automobilį palikti dovanų ir pačiam grįžti autobusu.

    Na, jei kas neturi ką veikti ir nori patobulėti (nes kai kažką darai, visada tobulėji) tai leidžiu

    sutvarkyti tas klases kad veiktų ir įduoti man

    :D

  5. Sveiki, PHP žinovai. Man reikia padaryti puslapį, kuriame rodytų Minecraft serverio šiuos dalykus:

     

    • Kiek žaidėjų dabar žaidžia
    • Kiek gali daugiausiai žaidėjų žaisti
    • MOTD, kitaip tariant dienos žinutę
    • PING'ą

     

     

    Sakykim kad pas mane toks kodas:

     

    include "status.php";
    $response = MinecraftServerStatus::query('play.mcprison.lt', 25565);
    if (! $response) {
    echo "OFFLINE";
     } else {
         echo $response['players']."/".$response['max_players'];
     }

     

    status.php :

     

    class Packet {
    
       protected $packetID;
    
       protected $data;
    
       public function __construct ($packetID) {
           $this->packetID = $packetID;
           $this->data = pack('C', $packetID);
       }
    
       public function addSignedChar ($data) {
           $this->data .= pack('c', $data);
       }
    
       public function addUnsignedChar ($data) {
           $this->data .= pack('C', $data);
       }
    
       public function addSignedShort ($data) {
           $this->data .= pack('s', $data);
       }
    
       public function addUnsignedShort ($data) {
           $this->data .= pack('S', $data);
       }
       public function addString ($data) {
           $this->data .= pack('C', strlen($data));
           $this->data .= $data;
       }
    
       public function send ($socket) {
           $this->data = pack('C', strlen($this->data)) . $this->data;
           socket_send($socket, $this->data, strlen($this->data), 0);
       }
    }
    
    
    class HandshakePacket extends Packet {
    
       public function __construct ($host, $port, $protocol, $nextState) {
           parent::__construct(0);
           $this->addUnsignedChar($protocol);
           $this->addString($host);
           $this->addUnsignedShort($port);
           $this->addUnsignedChar($nextState);
       }
    }
    
    
    class PingPacket extends Packet {
    
       public function __construct () {
           parent::__construct(0);
       }
    }
    
    
    class MinecraftServerStatus {
       public static function query ($host = '127.0.0.1', $port = 25565) {
           // check if the host is in ipv4 format
           $host = filter_var($host, FILTER_VALIDATE_IP) ? $host : gethostbyname($host);
    
           $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
           if (! @socket_connect($socket, $host, $port)) {
               return false;
           }
    
           // create the handshake and ping packet
           $handshakePacket = new HandshakePacket($host, $port, 107, 1);
           $pingPacket = new PingPacket();
    
           $handshakePacket->send($socket);
    
           // high five
           $start = microtime(true);
           $pingPacket->send($socket);
           $length = self::readVarInt($socket);
           $ping = round((microtime(true) - $start) * 1000);
    
           // read the requested data
           $data = socket_read($socket, $length, PHP_NORMAL_READ);
           $data = strstr($data, '{');
           $data = json_decode($data);
    
           $descriptionRaw = isset($data->description) ? $data->description : false;
           $description = $descriptionRaw;
    
           // colorize the description if it is supported
           if (gettype($descriptionRaw) == 'object' && isset($descriptionRaw->extra)) {
               $description = '';
               foreach ($descriptionRaw->extra as $item) {
                   $description .= isset($item->bold) && $item->bold ? '<b>' : '';
                   $description .= '<font color="' . $item->color . '">' . $item->text . '</font>';
                   $description .= isset($item->bold) && $item->bold ? '</b>' : '';
               }
           }
    
           return array(
                   'hostname' => $host,
                   'port' => $port,
                   'ping' => $ping,
                   'version' => isset($data->version->name) ? $data->version->name : false,
                   'protocol' => isset($data->version->protocol) ? $data->version->protocol : false,
                   'players' => isset($data->players->online) ? $data->players->online : false,
                   'max_players' => isset($data->players->max) ? $data->players->max : false,
                   'description' => $description,
                   'description_raw' => $descriptionRaw,
                   'favicon' => isset($data->favicon) ? $data->favicon : false,
                   'modinfo' => isset($data->modinfo) ? $data->modinfo : false
           );
       }
    
       private static function readVarInt ($socket) {
           $a = 0;
           $b = 0;
           while (true) {
               $c = socket_read($socket, 1);
               if (! $c) {
                   return 0;
               }
               $c = Ord($c);
               $a |= ($c & 0x7F) << $b ++ * 7;
               if ($b > 5) {
                   return false;
               }
               if (($c & 0x80) != 128) {
                   break;
               }
           }
           return $a;
       }
    }

     

    mc.servai.lt duomenimis serveris play.mcprison.lt yra įjungtas

     

    Gal galite pasakyti kame reikalas? Arba dar geriau sutvarkyti tas klases kad veiktų ir įduoti man, nes ten net ne aš dariau, ir nelabai man aišku, ko ten privaryta, atrodo, kai kurių dalykų net nereikėtų...

  6. Sunumeruok ir apklausą padaryk - bus paprasčiau, nes pagal mano logiką -

    trečias nuo viršaus, pirmas iš kairės

    ir

    pirmas nuo apačios pirmas iš kairės

    paprasčiau būtų pasakyti:

    Pirmas ir Antras nuo apačios pirmame stulpelyje.

    Šis atsakymas yra geresnis nei zilfisfus, nes zilfisfus nurodė tik

    paskutiniai du

    Ir nėra aišku ar nuo viršaus paskutiniai, ar nuo apačios. Taigi, taigi, kol kas aš čia TEISINGIAUSIAS ^_^

    Man (P0NUI) asmeniškai tai labiausiai patinka antro (1 + 1) nuo kairės (arba kitaip, poniškai sakant - kairiosios šalies) stulpelyje (arba kitaip, poniškai sakant - centre) esantis ketvirtas (2 + 2) nuo viršaus (arba kitaip, poniškai sakant - dangaus).

  7. Sveiki. Aš žinau, kad Minecraft tarp lietuvių yra gan populiarus, tad pagalvojau, kodėl gi nepradėjus reklamuoti ko nors Minecraft serverių topų svetainėse... Deja užėjęs į kelias, likau labai, laaaabai nusivylęs.

     

    m-craft.lt

    Pasikalbėkime apie tai per SKYPE...

     

    mc-servers.lt

    Pinigų nepriemam, keičiames reklamom.

     

    minecraftservai.lt

    3. Draudžiama turėti daugiau nei 1 topą tokiu pačiu adresu.

    Nes mes netikrinam, bet jeigu jau kas nors praneš, tai gausi atlygį!

    2. Draudžiama nurodyti kitą tinklapį kuris jums nepriklauso.

    Nes mes nežinom, kaip galima patikrinti, ar tinklalapis jūsų, ar ne jūsų.

     

    minecraftservai.lt

    Jūsų reklamos vieta... O kaip padaryti, kad ji ten atsirastų, patys sugalvokite.

     

    mc-serveriai.lt

    Nes mes žinom, kad jūs norite mus nemokamai pareklamuoti, todėl duodame kodą "be klaidų".

    <img src="http://Mc-Serveriai.LT/foto/baneris.gif">

    Čia ALT yra, tik nesimato.

     

    Ir dabar jau kyla noras sukurti NORMALIĄ, AIŠKIĄ, BE-KLAIDĘ Serverių Topų svetainę, ne vien Minecraft, nes jaučiu su kitais žaidimais irgi ne kažką...

    Kas nors pritaria?

×
×
  • Pasirinkite naujai kuriamo turinio tipą...