Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Úvod Vítám vás u představení mého nového filterscriptu, tentokrát se jedná o server logger. Server logger je script, který odesílá data o serveru na web a ten to následně zpracuje. Vypadá to následovně, hráč se připojí na server, a script automaticky odešle jeho jméno s typem události na web a ten to zpracuje a odešle do mysql ze které se to potom vše bere a vytváří se log. Návod Stáhneme soubory - http://pawno.cz/files/file/199-isl-isigars-server-logger/ Rozbalíme a dáme na plochu Otevřeme si "isl.pwn" v pawn editoru IMG - http://prntscr.com/2ead6h Nastavíme cestu k webu a hash slovo Vycompilujeme a dáme na web. Otevřeme si "samp.php" - http://prntscr.com/2eadha Nastavíme mysql databázy + hash slovo (stejné jako u sl.pwn) Uložíme a nahrajeme na web do základní složky V administraci mysql (phpmyadmin) si naimportujeme soubor "tabulka.sql" - http://prntscr.com/2eadpl Pro vypsání vložíme <?php render_log(); ?> (Můžete najít v priklad.php) UPOZORNĚNÍ: Pokud tento log není na stránce samp.php a chcete ho jinde nezapomeňte funkci vložit přímo na stránku, kde se má zobrazovat Co potřebuje? MYSQL databázy, filterscript aktivovaný a nastavený na serveru, Na webu nastaven "příjmač" dat. Obrázky http://prntscr.com/2ea6cx Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Nejde mi to stáhnout Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 Soubor nebyl schválen ... Soubor schválen ! Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Mám takový problém s tim Hash, nejde mi to zkompilovat Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 Mám takový problém s tim Hash, nejde mi to zkompilovat A co to píše ? Tak ten hash vlož přímo do toho odkazu jak je tam www.neco.tk?name=neco&type=1&hash=nejakeslovo Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Už v pořádku. Mám to dát na web nebo do filterscripts v serveru? To isl.amx Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 Už v pořádku. Mám to dát na web nebo do filterscripts v serveru? To isl.amx Filterscript a zapiš co configu serveru Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 jj Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 Potom jen vložíš na web a do mysql databáze implementuješ tu tabulku Až budu mít čas a chuť tak to upravím a přídám tam config, kde si budeš moci volit co se bude logovat + veřejně nebo neveřejně Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Nějak mi to nefakčí, taková podotázka, kde má sehnat ten HASH? Může ten config vypadat tako? /* [ISL] Isigar's Server logger Vytvořil: Stanislav Isigar Opletal Web: http://isigar.tk/ Skype: beaconcraft.cz Email: [email protected] */ #include <a_samp> #include <a_http> #define SEND_TYPE_CONNECT 1 #define SEND_TYPE_DISCONNECT 2 #define SEND_TYPE_SPAWN 3 #define SEND_TYPE_DEATH 4 #define HASH 515165116 forward WebResponse(index, response_code, data[]); stock GetName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); return name; } stock SendMessage(playerid,type) { new data[200]; format(data,sizeof(data),"www.samp.teracraft.eu/samp.php?name=%s&type=%i",GetName(playerid),type,HASH); HTTP(playerid,HTTP_GET,data," ","WebResponse"); } public OnFilterScriptInit() { print("\n--------------------------------------"); print(" [ISL] Loaded."); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerConnect(playerid) { SendMessage(playerid,1); return 1; } public OnPlayerDisconnect(playerid, reason) { SendMessage(playerid,2); return 1; } public OnPlayerSpawn(playerid) { SendMessage(playerid,3); return 1; } public OnPlayerDeath(playerid, killerid, reason) { SendMessage(playerid,4); return 1; } public WebResponse(index, response_code, data[]) { if(response_code == 200) { //Povedlo se můžete si doplnit co checete } else { print("Nastala chyba!"); } } A web takto ? <?php /* Mysql server setup */ $server = 'innodb.endora.cz'; $username = 'terasampsql'; $password = ' heslo'; $db = 'terasampsql'; /* Security code */ $hash = "515165116"; $connect = mysql_connect($server,$username,$password); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } else { mysql_select_db($db); } if(isset($_GET["type"]) AND isset($_GET["name"]) AND isset($_GET["hash"])) { if($_GET["hash"] == $hash) { $datum = StrFTime("%d.%m.%Y %H:%M", Time()); $sql = "INSERT INTO server_log (username,type,date) VALUES (".$_GET["name"].",".$_GET["type"].",".$datum.")"; $result = mysql_query($sql); mysql_close($connect); } } function render_serverlog() { $res = "Začátek logu<br>"; $server = 'localhost'; $username = 'root'; $password = ''; $db = 'gamerules'; $connect = mysql_connect($server,$username,$password); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } else { mysql_select_db($db); } $sql = "SELECT * FROM server_log"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { if($row["type"] == 1)//Connect { $res .= "".$row["date"].": Hráč ".$row["username"]." se pĹ™ipojil na server!<br>"; } if($row["type"] == 2)//Disconnect { $res .= "".$row["date"].": Hráč ".$row["username"]." se odpojil ze server!<br>"; } if($row["type"] == 3)//Spawn { $res .= "".$row["date"].": Hráč ".$row["username"]." se spawnul!<br>"; } if($row["type"] == 4)//Death { $res .= "".$row["date"].": Hráč ".$row["username"]." zemĹ™el!<br>"; } } echo($res); mysql_close($connect); } ?> Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 stock SendMessage(playerid,type) { new data[200]; format(data,sizeof(data),"www.samp.teracraft.eu/samp.php?name=%s&type=%i&hash=%s",GetName(playerid),type,HASH); HTTP(playerid,HTTP_GET,data," ","WebResponse"); } Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 jo aha, dik Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 HASH není v pravém smyslu hash je to jen ochrana proti zavolání funkce, která ukládá do databáze z linku třeba takto www.tvujweb.eu/samp.php?type=1&name=bot kdybych na tuto adresu šel tak to uloží do databáze další log ale tím že tam máš unikatní hash tak to nic nezmůže Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Stále mi to nechce zapisovat Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 Stále mi to nechce zapisovat A co to píše do konzole ? Přidej si mě na skype : beaconcraft.cz - A stáhni si teamviewer upravím ti to a nastavím tam Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Nic mi to nepíše Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Otázka 1: Ak by som použil nejaký port listener zistil by som heslo a adresu serveru?Otázka 2: Kolko trvá zapísanie údajov jedného hráča? Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 Tak nic koukám nastala chybička počkej hned to upravím Otázka 1: Ak by som použil nejaký port listener zistil by som heslo a adresu serveru?Otázka 2: Kolko trvá zapísanie údajov jedného hráča? 1. K čemu ? XD Co to meleš ? 2. Míň jak 1 sekundu jelikož server má menší zátěž než web, server jen odešle jednorázově data a web si to zpracuje Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 1. Prečítaj si prosím ešte raz moju prvú otázku.2. Že menej než sekundu . Sprav debugger a spočítaj to na ms. Pol sekundy na hráča je stále vela x krát počas hrania. Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 1. Prečítaj si prosím ešte raz moju prvú otázku. 2. Že menej než sekundu . Sprav debugger a spočítaj to na ms. Pol sekundy na hráča je stále vela x krát počas hrania. Hele ok krom toho tím jsi si chtěl dokázat co ? že si velký kluk ? XD Link to comment Share on other sites More sharing options...
Tanga 131 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Chceš zamaskovať to, že je to pomalé tak nepíšeš kolko to trvá?? Link to comment Share on other sites More sharing options...
Robin 67 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 hash uplne od veci staci kontrola IP servera Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 hash uplne od veci staci kontrola IP servera Neni špatný nápad Link to comment Share on other sites More sharing options...
Jakub Kučera 6 Odesláno: 27. Prosinec, 2013 Share Odesláno: 27. Prosinec, 2013 Tak co? Bude to fungovat? Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 27. Prosinec, 2013 Author Share Odesláno: 27. Prosinec, 2013 Tak co? Bude to fungovat? Jo bude dej mi tvůj skype upravím ti to Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now