![]() |
|
|
Žemėlapių kūrimasEgzistuoja nemažai tinklapių, renkančių informaciją iš Traviano serverių ir pateikiančių ją įvairiais būdais. Paprastai tai yra žemėlapiai ir statistika. Šis vadovas skirtas tiems, kas nori sukurti tokį puslapį. Čia pateikiamas PHP / MySQL (dažniausiai taikomas metodas) kodavimo pavyzdys, todėl, norėdami juo pasinaudoti, turite žinoti šias kalbas.. Turinys
Reikiami įgūdžiaiTurite žinote vieną iš tinklapių programavimo kalbų ir turėti darbo su SQL sistemomis įgūdžius. Tinklapio prieglobos reikalavimai
Labiausiai paplitusi kombinacija yra PHP ir MySQL. Tačiau reikia turėti omenyje, jog dažnai serverių savininkai leidžia naudoti PHP kalbą tik saugiu režimu (safemode). Tai nulemia žymius apribojimus. Saugiajame režime galios šie apribojimai:
Plačiau apie tai rašoma skiltyje "Informacijos įkėlimas į savo serverį ". Kur galima rasti duomenis?Kadangi botų ir skriptų naudojimas žaidime draudžiamas, duomenys turi būti renkami kitokiu būdu. Travian Games GmbH pateikia nuolat atnaujinamus visų serverių duomenų bazių SQL-Dump'us, turinčius pagrindinę informaciją apie visas gyvenvietes tam tikrame serveryje. Dump‘ai atnaujinami kasryt apie 08:00 Lietuvos laiku ir pateikiami dviem formatais: nesuglaustas (.sql) ir suglaustas gzip būdu (.sql.gz). Vokiečių serverių dump‘ai pavadinti „karte.sql[.gz]“; lietuvių ir visų kitų - „map.sql[.gz]“. Failai yra atitinkamų serverių šakniniuose kataloguose. Pavyzdžiui:
Duomenų formatasKadangi failai yra SQL-Dumps, jie turi tik SQL-Insert komandas. Todėl reikia turėti omenyje, kad negalima naudoti advanced inserts metodo. Galima naudoti tik insert per record (kitaip keli elementai būtų suglaudžiami į vieną).. Ankstesnėje Travian 2 versijoje failai buvo koduojami ANSI formatu, tačiau dabar visi dump‘ai pateikiami UTF-8 koduote. Norėdami sukurti duomenų bazės lentelę, galite pasinaudoti šiuo SQL kodu: CREATE TABLE `x_world` ( `id` int(9) unsigned NOT NULL default '0', `x` smallint(3) NOT NULL default '0', `y` smallint(3) NOT NULL default '0', `tid` tinyint(1) unsigned NOT NULL default '0', `vid` int(9) unsigned NOT NULL default '0', `village` varchar(20) NOT NULL default '', `uid` int(9) NOT NULL default '0', `player` varchar(20) NOT NULL default '', `aid` int(9) unsigned NOT NULL default '0', `alliance` varchar(8) NOT NULL default '', `population` smallint(5) unsigned NOT NULL default '0', UNIQUE KEY `id` (`id`) ); Kokia informacija pateikiama?Lentelės stulpelių reikšmė:
Svarbu: Informacija apie karius (off ir def duomenys) nepateikiama. Informacijos įkėlimas į savo serverįDuomenų įkėlimas rankiniu būdu dažniausiai nesulekia problemų. Parsisiųskite reikiamą dump'ą ir įkraukite jį į reikiamą duomenų bazė PHPmyAdmin arba atitinkamos priemonės pagalba.
Atnaujinimo skriptas nėra PHP arba kitoks skriptas, kurio pagalba generuojamas puslapis. Tai yra serverio konsolėje paleistas apvalkalo skriptas. Deja, dažniausiai vartotojai neturi priėjimo prie serverio, kuriame yra patalpintas jų tinklapis.. Tai nesukeltų didelių problemų, nes šiuos veiksmus galima būtų atlikti system() komandos pagalba. Tačiau, kadangi dauguma tiekėjų nustato saugos režimą (safemode) saugumo sumetimais, šis būdas negalioja. Tuomet vienintelė išeitis yra naudoti PHP kiekvienam atskiram elementui. Daugelis tiekėjų riboja skriptų veikimo trukmę nuo 10 iki 30 sekundžių, tai gali neužtekti stambaus serverio SQL-dump‘ui atsisiųsti. Be to, gali būti apribotas priėjimas prie išorinių failų ir veiksmai su duomenimis esančiais kitame serveryje. Gali būti uždraustas netgi šių failų siuntimasis.. Todėl iškart perspėjame: norėdami kurti žemėlapius savo svetainėje pamirškite apie nemokamus tinklapio prieglobos tiekėjus.. Atsikratėte saugaus režimo arba gavote priėjimą prie savo serverio apvalkalo? Puiku, tuomet galime tęsti. Toliau pateikiamas veikiantis pavyzdys, sukurtas PHP ir MySQL pagalba (reikalingas serveris ir klientinė programa su komandinę eilutę „mysql“). Taip pat bus reikalingas wget (komandinės eilutės krovimosi įrankis). Aiškumo dėlei pateiktame pavyzdyje buvo beveik visiškai praleistas klaidų apdorojimas. Norėdami paleisti skriptą, sukurkite aplankalą „data“ skripto direktorijoje. Serverio vartotojui turi būti suteikta įrašymo teisė „write“. Be to, turite sukurti lentelės "x_world" duomenų bazę, kaip nurodyta prieš tai. Po to įveskite skripto viršuje nurodomą prieigos informaciją. Atnaujinimo skripto kodas
<?php
Pavyzdys: aljanso žemėlapis
Toliau pateikiamas skriptas yra aljanso žemėlapio kūrimo pavyzdys. Viršuje nurodykite prisijungimo duomenis ir reikiamo aljanso ID numerį. Šios informacijos pagalba skriptas sugeneruos žemėlapį su visomis serverio gyvenvietėmis, paryškindamas nurodyto aljanso miestus.. Būtina turėti PHP priedus GD-Lib ir Image functions , teisingam skripto vykdymui ir vaizdo glodinimui užtikrinti. Turėkite omenyje, jog šis skriptas reikalauja itin žymių serverio sąnaudų, todėl nepatartina vykdyti jo per dažnai. Neskelbkite jo viešai prieiname puslapyje, bet patalpinkite kurioje nors labiau tinkamoje vietoje ir leiskite jį kešuoti kartą per dieną. Tam reikia tiesiog nuskaityti kitus imagepng() funkcijos parametrus. Aljanso žemėlapio generavimo kodas: <?php
Gerbiamas lankytojau, šiuo metu esate mūsų svetainės neregistruotas svečias, arba nesate prisijungę. Jei norite papildyti straipsnį, ar turite įdomių minčių, susijusių su jo tema - kviečiame rašyti komentarus. Užsiregistravę turėsite galimybę tai daryti patogiau.
Kiti straipsniai:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| © 2007 Travianas.lt - Traviano pagalbos svetainė E-mail | RSS | Registruotis | Paskutiniai komentarai | Reklama |