Îíëàéí èãðà «Ýñöèëîí»
Ëîãèí
Ïàðîëü
Ðåãèñòðàöèÿ
Çàáûëè ïàðîëü?

API äëÿ ïëåìåííûõ ñàéòîâ

 äàííîé ñòàòüå îïèñûâàþòñÿ ðàçëè÷íûå API äëÿ ñåðâèñîâ ïëåìåííûõ ñàéòîâ. Åñëè òû íå ÿâëÿåøü ïðîãðàììèñòîì è ðàçðàáîò÷èêîì ïëåìåííîãî ñàéòà, òî äàííàÿ ñòàòüÿ áóäåò òåáå áåçèíòåðåñíà.

Êðàòêàÿ èíôîðìàöèÿ ïåðñîíàæà

Èñïîëüçîâàíèå ïîëíîé èíôîðìàöèè ïåðñîíàæà (https://escilon.ru/info/íèê%20ïåðñà) âî âíåøíèõ ñåðâèñàõ êðàéíå íåæåëàòåëüíî, âî-ïåðâûõ, èç-çà ëèøíåé íàãðóçêè íà ñåðâåð ïðîåêòà, à, âî-âòîðûõ, èç-çà âîçìîæíûõ èçìåíåíèé ñòðóêòóðû ñòðàíèöû èíôîðìàöèè, â ðåçóëüòàòå ÷åãî âàø ïàðñåð èíôû ñëîìàåòñÿ. ×òîáû èçáåæàòü âñåõ ýòèõ íåïðèÿòíîñòåé, íóæíî èñïîëüçîâàòü êîðîòêóþ èíôîðìàöèþ ïåðñîíàæà, ðàñïîëîæåííóþ ïî àäðåñó https://escilon.ru/info_short/?login=íèê%20ïåðñà. Íèê ïåðñà â àäðåñå ðåãèñòðîíåçàâèñèì, îäíàêî æåëàòåëüíî óêàçûâàòü åãî ïðàâèëüíî è urlencoded. Ïî óìîë÷àíèþ ôîðìàò ñòðàíèöû - äàìï php-ìàññèâà. Åñëè ïåðåäàòü â get-ïàðàìåòðå íåíóëåâîé ôëàã xml, òî ôîðìàòîì âûâîäà áóäåò xml â êîäèðîâêå windows-1251.

Íàçâàíèÿ áîëüøèíñòâà àòðèáóòîâ ïåñîíàæà äîñòàòî÷íî èíôîðìàòèâíû è ìû ïîÿñíèì òîëüêî íåêîòîðûå èç íèõ:

  • health_fix, mana_fix, tiredness_fix - ìåòêè âðåìåíè, äëÿ êîòîðûõ àêòóàëüíû çíà÷åíèÿ health, mana è tiredness ñîîòâåòñòâåííî. Çäåñü è äàëåå ìåòêè âðåìåíè çàäàþòñÿ â ôîðìàòå unix timestamp.
  • in_request - íåïóñòîå çíà÷åíèå îçíà÷àåò, ÷òî ïåðñîíàæ íàõîäèòñÿ â çàÿâêå íà áîé.
  • actual_at - êðàòêàÿ èíôîðìàöèÿ êåøèðóåòñÿ ñåðâåðîì íà 3 ìèíóòû. Â äàííîì ïîëå õðàíèòñÿ ìåòêà âðåìåíè, êîãäà áûëè àêòóàëüíû äàííûå èíôîðìàöèè.

Ôàêòè÷åñêè â êðàòêîé èíôîðìàöèè åñòü âñå äàííûå î ïåðñîíàæå, êðîìå ýôôåêòîâ è ýêèïèðîâêè. Íåîáõîäèìîñòü ñ÷èòûâàíèÿ ýòèõ äâóõ ôàêòîðîâ ìîæåò áûòü åäèíñòâåííûì îïðàâäàíèåì èñïîëüçîâàíèÿ ïîëíîé èíôû ñêðèïòàìè ïëåìåííîãî ñàéòà. Åñëè âûÿñíèòñÿ, ÷òî âû íåîïðàâäàííî èãíîðèðóåòå êðàòêóþ èíôîðìàöèþ è ïàðñèòå ïîëíóþ, òî IP âàøåãî ñåðâåðà áóäåò çàáëîêèðîâàí, à íà ïëåìÿ áóäåò íàëîæåíî ñòðîæàéøåå âçûñêàíèå.

Êðàòêèé ëîã áîÿ

Äëÿ àíàëèçà áîÿ ìîæåò ïîíàäîáèòüñÿ ïàðñèòü åãî ëîã. ×òîáû îáëåã÷èòü ýòó çàäà÷ó è îñâîáîäèòü âàø ñêðèïò îò îøèáîê â ñëó÷àå èçìåíåíèÿ âåðñòêè ëîãà, ìû ñäåëàëè êðàòêóþ ôîðìó ëîãà: https://escilon.ru/fight_log/id_áîÿ/?short=1

Êàæäàÿ ñòðîêà ëîãà íà÷èíàåòñÿ ñ ìåòêè âðåìåíè äåéñòâèÿ, îïèñûâàåìîãî â ñòðîêå. Îïðàâäàíèé èñïîëüçîâàíèÿ ïîëíîãî ëîãà áîÿ ïëåìåííûìè ñàéòàìè íå ñóùåñòâóåò, òàê ÷òî â ëþáûõ çàäà÷àõ ïàðñèíãà ëîãà áîÿ äîëæíà èñïîëüçîâàòüñÿ òîëüêî êðàòêàÿ ôîðìà.

Hash-ip

×àñòî âîçíèêàåò çàäà÷à àóòåíòèôèêàöèè ïîëüçîâàòåëÿ ïðè åãî ðåãèñòðàöèè íà ïëåìåííîì ñàéòå. Íàèáîëåå åå ïðîñòûå ðåøåíèÿ (òðåáîâàíèå ïðèéòè íà ñïåöèàëüíóþ ðåäêîïîñåùàåìóþ ëîêàöèþ èëè ïðîïèñàòü ó ñåáÿ â èíôîðìàöèè îðèãèíàëüíûé êîä) çàñòàâëÿþò ïîëüçîâàòåëÿ ñîâåðøàòü êàêèå-òî äåéñòâèÿ, êîòîðûå, î÷åâèäíî, óñëîæíÿþò ðåãèñòðàöèþ. Ìû ïðåäëàãàåì äîâîëüíî ïðîñòîé ìåòîä, îñíîâàííûé íà ñðàâíåíèè IP ðåãèñòðèðóåìîãî ïîëüçîâàòåëÿ íà ñàéòå è IP ïåðñîíàæà â Ýñöèëîíå. Î÷åâèäíî, ÷òî ñîâïàäåíèå ýòèõ IP ÿâëÿåòñÿ íåîáõîäèìûì óñëîâèåì àóòåíòèôèêàöèè. Áóäåòå ëè âû ñ÷èòàòü åãî äîñòàòî÷íûì - ýòî óæå íà âàøåé ñîâåñòè. Ìû ñ÷èòàåì, ÷òî âïîëíå ìîæíî ñäåëàòü òàêîå äîïóùåíèå, ðàäè çíà÷èòåëüíîãî óïðîùåíèÿ ðåãèñòðàöèè.

Èòàê, ïî àäðåñó https://escilon.ru/getip/?login=íèê%20ïåðñà ìîæíî ïîëó÷èòü md5-õåø IP-àäðåñà ïåðñîíàæà, åñëè îí îíëàéí. Êàê è äëÿ êîðîòêîé èíôîðìàöèè, íèê ïåðñà â àäðåñå ðåãèñòðîíåçàâèñèì, îäíàêî æåëàòåëüíî óêàçûâàòü åãî ïðàâèëüíî è urlencoded. Åñëè óêàçàííîãî ïåðñîíàæà íåò â áàçå äàííûõ Ýñöèëîíà, òî áóäåò âûäàí îòâåò "Can't find user with nick íèê ïåðñà", åñëè ïåðñîíàæ îôôëàéí (ò.å. îïðåäåëèòü åãî IP íåâîçìîæíî), òî áóäåò âûäàí îòâåò "User íèê ïåðñà is offline".

Ïîìèìî çàäà÷ àóòåíòèôèêàöèè ïîëüçîâàòåëÿ ïðè ðåãèñòðàöèè, äàííûé ñåðâèñ ìîæíî èñïîëüçîâàòü äëÿ áûñòðîãî îòâåòà íà âîïðîñ "ñóùåñòâóåò ëè òàêîé ïåðñîíàæ" è "îíëàéí ëè ýòîò ïåðñîíàæ", èáî çàïðîñ hash-ip îáðàáàòûâàåòñÿ êóäà áûñòðåå, ÷åì çàïðîñ êîðîòêîé èíôîðìàöèè.

Ðåéòèíãè

Òåêñòîâûé ôàéë ðåéòèíãîâ ïåðñîíàæåé ðàñïîëîæåí ïî àäðåñó https://static.escilon.ru/raitings.txt. Â øòàòíîì ðåæèìå îí ãåíåðèðóåòñÿ îäèí ðàç â ñóòêè â 5.30 ïî Ìîñêâå. Ôîðìàò ôàéëà ïðîñòîé è åäâà ëè íóæäàåòñÿ â ïîÿñíåíèÿõ. Åäèíñòâåííûé ñîâåò ïðîãðàììèñòàì ðåéòèíãîâ - íå ïàðñèòå äàííûé ôàéë êàæäûé ðàç ïðè çàïðîñå ðéòèíãà íà ñàéòå. Íàø ñåðâåð ýòî íå çàãðóçèò, à âîò âàøèõ ïîëüçîâàòåëåé çàñòàâèò æäàòü ïîêà âàøè ñêðèïòû áóäóò ðàç çà ðàçîì äåëàòü îäèíàêîâóþ ðàáîòó. Êåøèðóéòå ðåçóëüòàòû ïàðñèíãà ðåéòèíãà è ðàçäàâàéòå åãî ïîñåòèòåëÿì óæå èç êåøà, ýòî ñáåðåæåò ðåñóðñû âàøåãî ñåðâåðà è âðåìÿ âàøèõ ïîëüçîâàòåëåé.

Ïîìèìî ðåéòèíãîâ ïåðñîíàæåé (áîåâîãî è íåñêîëüêèõ ìèðíûõ) ñóùåñòâóåò ðåéòèíã ïåùåðíîãî êâåñòà. Ôàéë ðåéòèíãà ðàñïîëîæåí ïî àäðåñó https://static.escilon.ru/cavequest.txt. Ïåðâàÿ ñòðîêà - ýòî ìåòêà âðåìåíè ñîçäàíèÿ ôàéëà è òåêóùàÿ ñòàäèÿ êâåñòà. Ñòàäèè êâåñòà: prepare - ïåðåðîæäåíèå ëàáèðèíòà, quest - êâåñòîâûé ýòàï, draw - íè÷üÿ, prewin - ýòàï ïîáåäû, êîãäà ïîáåäèòåëü åùå íå âûáðàë ïðèç, win - ýòàï ïîáåäû, êîãäà ïîáåäèòåëü óæå âûáðàë ïðèç. Ïîäðîáíåå î ñòàäèÿõ êâåñòà è óñëîâèÿõ èõ ïåðåêëþ÷åíèÿ ìîæíî ïðî÷èòàòü â îïèñàíèè ëàáèðèíòà.

Ïëåìåíà

Îäèí ðàç â ñóòêè â 4 ÷àñà óòðà ïî Ìîñêâå ãåíåðèðóåòñÿ ôàéë ñî ñïèñêîì âñåõ çàðåãèñòðèðîâàííûõ ïëåìåí ñ ðàçëè÷íîé äîïîëíèòåëüíîé èíôîðìàöèåé (èêîíêà, íèêè âîæäÿ è ìëàäøåãî âîæäÿ, ñîñòàâ ïëåìåíè): https://static.escilon.ru/tribes.txt. Ôîðìàò ôàéëà - äàìï php-ìàññèâà. Åùå ðàç íàïîìèíàåì, ÷òî äëÿ ïîëó÷åíèÿ ïîäðîáíîé èíôîðìàöèè î ÷ëåíàõ ïëåìåíè (óðîâåíü, ñòàòóñ â ïëåìåíè è ò.ä.) íåîáõîäèìî èñïîëüçîâàòü êðàòêóþ èíôîðìàöèþ, íî íèêàê íå ïîëíóþ.

XML-áèáëèîòåêà

Íàø êàìåííûé âåê òàê áîãàò ðàçëè÷íûìè âåùàìè, ÷òî ïðîöåññ çàïîëíåíèÿ èõ ýíöèêëîïåäèè íà ïëåìåííîì ñàéòå (è ïîääåðæàíèå åå àêòóàëüíîñòè) ìîæåò îáåðíóòüñÿ ñîëèäíûì ðàñõîäîì âðåìåíè. ×òîáû ñáåðå÷ü âàøå âðåìÿ ìû ñäåëàëè xml-ôîðìó áèáëèîòåêè âåùåé, ÷òîáû åå óäîáíî áûëî ïàðñèòü äëÿ àâòîìàòè÷åñêîãî çàïîëíåíèÿ ïëåìåííîé ýíöèêëîïåäèè. Ê àäðåñàì âèäà https://face.escilon.ru/stitem_stone.html è https://face.escilon.ru/item_88856523ad40d147a0be164f94e4ca99.html ìîæíî äîáàâèòü get-ïàðàìåòð xml=1 ÷òîáû ïîëó÷èòü êðàòêóþ xml-âåðñèþ ñïèñêà ïðåäìåòîâ çàäàííîãî êëàññà èëè èíôîðìàöèþ î êîíêðåòíîì ïðåäìåòå.  íàñòîÿùåå âðåìÿ xml-âàðèàíò åñòü òîëüêî ó ýíöèêëîïåäèè âåùåé. Ýíöèêëîïåäèè ðåñóðñîâ, ìàçåé è æèâîòíûõ òàêîãî ôóíêöèîíàëà ïîêà íå èìåþò.

Èñòîðèÿ ïåðñîíàæà

Ïåðñîíàæû â êàìåííîì âåêå ðàñòóò, ïåðåõîäÿò ñ óðîâíÿ íà óðîâåíü, âñòóïàþò è ïîêèäàþò ïëåìåíà. Ïðîñëåäèòü æèçíü îòäåëüíîãî ïåðñîíàæà ìîæíî ÷åðåç API èñòîðèè ïåðñîíàæà, âûçîâ îñóùåñòâëÿåòñÿ ïî àäðåñó https://face.escilon.ru/player_history_api.php?login=ÈÌß_ÏÅÐÑÎÍÀÆÀ Èìÿ ïåðñîíàæà çàäàåòñÿ â êîäèðîâêå UTF-8, íàïðèìåð, òàê. Ôîðìàò âûâîäà - òåêñò ñ ðàçäåëèòåëåì "|" ìåæäó ïîëÿìè è "\r\n" ìåæäó ñòðîêàìè. Ïåðâîå ïîëå - äàòà è âðåìÿ ñîáûòèÿ, âòîðîå - òèï (level - âçÿòèå óðîâíåé, tribe - ñîáûòèÿ, ñâÿçàííûå ñ ïëåìåíàìè) è òðåòüå ïîëå - òåêñò ñîáûòèÿ.
© «Ýñöèëîí» 2006-2018
Âñå ïðàâà çàùèùåíû.
Äèçàéí-ñòóäèÿ «ÀðòÊëàññ» — ðàçðàáîòêà ñàéòîâ, ãðàôè÷åñêèé äèçàéí, ôèðìåííûé ñòèëü
Äèçàéí ñàéòà —
äèçàéí-ñòóäèÿ «ÀðòÊëàññ»