2. díl - Webová administrace pro Minecraft Server

PHP Ostatní Webová administrace pro Minecraft Server

Vítám vás u prvního dílu mých nových tutoriálů, kde se budeme zabývat tvorbou webového rozhraní pro Minecraft server. Budeme moci např. odebírat VIP, dávat bany, spravovat žádosti o Post.

Tak se pustíme do díla.

Jako první si vytvoříme konfigurační soubor config.php a následně se připojíme k databázi.

<?php
$config = array( "hostitel"  => "host" , "databaze" => "databaze" , "uzivatel"  => "uživatel" , "pass"  => "heslo" , );
$con = mysql_connect($config["hostitel"], $config["uzivatel"], $config["pass"]);
mysql_select_db($config["databaze"], $con);

?>

Takže máme konfigurační soubor. Dále si stáhneme soubor rcon.php v balíčku, který přikládám k tomuto článku. Tento soubor umístíme na web a nic s ním nebudeme dělat.

Dále si ještě poupravíme soubor config.php, a to sice tak, aby jsme byli připojeni k Minecraft serveru. Nejdřív si u Minecraft serveru otevřete soubor server.properties. Upravte: enable-rcon=false na enable-rcon=true

Poté si na konec souboru připíšeme tyto řádky.

rcon.password=mojetajneheslo
rcon.port=XXXXX

U rovného řádku si za rovnítkem napíšeme vaše heslo, doporučuji různou spletitu písmen, například: adfg&&EE22fagfg8899 (samozřejmě použijte jiné heslo!)

U druhého řádku se jedná o RCON PORT, nikoli o port serveru, avšak tento port nemůže být jen tak nějaký. Normálně to jsou otevřené porty 26XXX, 29XXX a 30XXX, přičemž ta XXX jsou tři poslední číslice SERVER portu, takže pokud mám port 25655, bude rcon port např: 26655.

Takže teď již na slibovanou úpravu souboru config.php

za toto vše si připíšeme toto:

$server = "IP vaseho serveru bez portu";
$port = "port, nejedna se o port serveru! Jedna se o rcon port v server.properties";
$heslo = "heslo od rconu, podle server.properties";

Takže,základ máme :-)

Teď si vytvoříme přihlašování do systému. Vytvoříme si tabulku:

CREATE TABLE `uzivatele` (
    `login` varchar(40) NOT NULL,
    `heslo` varchar(32) NOT NULL
);

Takže máme založenou tabulku.

Teď si do ní přidáme uživatele admin s heslem Admin v dm5ce

INSERT INTO `uzivatele`(`login`, `heslo`) VALUES ("Admin","e3afed0047b08059d0fada10f400c1e5fdhfsjkhfksjdfhsdkf");

Dále si uděláme soubor index.php. Tato stránka bude obsahovat formulář na přihlášení, může vypadat nějak takto:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Jednoduché přihlášení</title></head>

<body>

  <form action="login.php" method="post">
    <table>
      <tr>
        <td>Nick: </td>
        <td><input type="text" name="nick" value="" size="25" tabindex="1" /></td>
      </tr>
      <tr>
        <td>Heslo: </td>
        <td><input type="password" name="heslo" value="" size="25" tabindex="2" /></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" name="submit" value="Log In" /></td>
      </tr>

    </table>
  </form>

</body>
</html>

Dále si vytvoříme soubor login.php, tento soubor nám zpracuje data z formuláře. Kód může být nějak takto:

<?php
include "config.php";/* připojení k databázi */
$login = mysql_real_escape_string($_POST["nick"]);/* nick zadaný ve formuláři pro přihlašování */
$heslo = mysql_real_escape_string($_POST["heslo"]);/* heslo zadané ve formuláři pro přihlašování */
 $md5heslo = MD5("$heslo"."fdhfsjkhfksjdfhsdkf");
/* — DOTAZ K MYSQL PRO OVĚŘENÍ PŘIHLAŠOVACÍCH DAT — */
$dotaz = mysql_query("select * from uzivatele where login = '$login' and heslo = '$md5heslo'");
$overeni = mysql_num_rows($dotaz);
$row = mysql_fetch_array($dotaz);
if($overeni == 1) {
    session_start();
    $_SESSION['login'] = stripslashes($login);
    $_SESSION['id'] = $row["id"];
    header("Location: admin.php");
    die();
} else {
    echo"Zadal jsi špatný login nebo heslo!";
}
?>

V tomto kódu nahrazujeme nebezpečné znaky u loginu a hesla. Dále si vytvoříme soubor admin.php a konečně soubor s admistrací.

Prozatím nám stačí s tímto obsahem:

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<?php
  if($_SESSION['login']!=""){
    echo'<strong>Nacházíš se v administraci!</strong> ';
  } else {
    echo'Tato stránka je přístupná pouze přihlášeným uživatelům!';
  }
?>

</body>
</html>

Tak to je vše z prvního dílu našeho seriálu. Příště si uděláme scripty na VIP a zobrazování koupených služeb.


 

Stáhnout

Staženo 696x (1.75 kB)
Aplikace je včetně zdrojových kódů v jazyce php

 

  Aktivity (1)

Článek pro vás napsal jakub
Avatar
Autor se věnuje programování v HTML,CSS a nově i v jazyce LabView

Jak se ti líbí článek?
Celkem (5 hlasů) :
55555


 



 

 

Komentáře
Zobrazit starší komentáře (17)

Avatar
Salieri
Člen
Avatar
Salieri:

@Jakub
Soubor Config.php se dá zapsat jednodušeji.....

Odpovědět 28.12.2013 8:26
Hlavní zlo? **Školství a Matematika**!
Avatar
Jakub "Jacob" Sycha:

Jiří Gracík (FunebrakCZ) To má bejt výzva? >:D

Editováno 18.5.2014 21:59
 
Odpovědět 18.5.2014 21:59
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Jakub "Jacob" Sycha
Jiří Gracík:

Klidně, pochybuji, že by se někdo psal s minecraft serverem, když minecraft tak jednou za měsíc aktualizují a hlavně proto, že jich je napsáno už poměrně dost. Jednotlivec nemá absolutně šanci :)

Odpovědět 19.5.2014 8:00
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na Jiří Gracík
Jakub "Jacob" Sycha:

Šanci má, protože kdyby chtěl udělat něco, ci ti po spuštění vygeneruje svět a nechá tě to po něm běhat (a nic víc), tak to zabere pár hodin, a technicky to bude Minecraft server (neřekl jsi totiž, co všechno by ten server měl umět...

Editováno 19.5.2014 17:31
 
Odpovědět 19.5.2014 17:29
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Jakub "Jacob" Sycha
Jiří Gracík:

Ten server by asi měl nějak odpovídat funkcím a možnostem hry ne? Proč by někdo dělal server, který (skoro)nic nebude umět?

Odpovědět 19.5.2014 20:13
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na Jiří Gracík
Jakub "Jacob" Sycha:

Ale tady nejde o funkčnost, tady jde o to, že jsi řekl, že by nedokázal udělat Minecraft server, ale neřekl jsi plnohodnotný Minecraft server, takže i něco, k čemu se dá jen připojit JE Minecraft server... Funkčnost tady vůbec neřeším.

 
Odpovědět  -1 22.5.2014 9:11
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Jakub "Jacob" Sycha
Jiří Gracík:

Tak když si to myslíš, tak pak si vyhrál.

Odpovědět 22.5.2014 10:41
Creating websites is awesome till you see the result in another browser ...
Avatar
kuxik009
Redaktor
Avatar
kuxik009:

Připomínka ke článku - do tabulek je lepší vždy dávat ID.

 
Odpovědět 22.3.2015 19:09
Avatar
youtubak777
Člen
Avatar
youtubak777:

Jen taková připomínka, proč je v názvu u prvního dílu 2. díl a u druhého dílu také 2 díl ? :D

 
Odpovědět 29.3.2015 19:55
Avatar
Michal Mach
Člen
Avatar
Michal Mach:

sry ale nějak mi to nefungovalo

 
Odpovědět 3. června 16:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 27. Zobrazit vše