Character stats API + sygnaturki
wolowitz Offline
Necromancers

Liczba postów: 6
2
Dołączył: Nov 2010
Reputacja: 0
#1
Character stats API + sygnaturki
Czołem maniacy,

Kilka tygodni temu pisałem na forum RO o możliwości stworzenia czegoś takiego jak API dla statystyk naszych postaci. Chodziło w głównej mierze o to, aby możliwe byłe łatwe eksportowanie informacji, dostępnych po zalogowaniu w zakładce My Account -> Characters. Sugestia ta była podyktowana faktem, iż dzisiaj owszem mamy War Status, jednak jest on zawężony wyłącznie do pierwszych 30 rekordów, przez co wielu graczy musi poświęcić kawałek swojego życia, aby w końcu pojawić się w którymś z dostępnych rankingów. O szczegółach tego pomysłu możecie poczytać tutaj

Ze względu na brak realnej szansy, że coś takiego mogłoby ujrzeć światło dzienne, przygotowałem mały skrypt ROStatsToXML, umożliwiający eksportowanie informacji o naszych postaciach do formatu XML. Opis skryptu oraz link do pobrania znajdziecie tutaj.
Skrypt działa w ten sposób, że na żądanie pobrania informacji o danej postaci, loguje się na konto użytkownika i z sekcji Characters parsuje znalezione tam informacje. Ze uwagi na taką właśnie architekturę, konieczne jest zdefiniowanie loginu oraz hasła użytkownika do konta. Dane te są bezpieczne (trzymane są jako zdefiniowana wartość stała w kodzie aplikacji), nigdzie nie są wyświetlane ani dostępne z poziomu przeglądarki, jednak uruchomienie tejże aplikacji wymaga własnego serwera www (freehost, hosting komercyjny etc.) z dostępnymi modułami cURL oraz DOMDocument.

Sama ta aplikacja nie robi nic więcej jak eksport danych naszej postaci. Pisząc na forum RO o tym pomyśle, przedstawiłem kilka możliwości wykorzystania tejże technologii:
- generator dynamicznych sygnaturek z informacjami o naszej postaci,
- własne rankingi graczy (np. klanowe itd.),
- możliwość integracji naszej postaci z kontami użytkowników na fansite'ach RO,
- i wiele więcej.
Aby zwizualizować również ten pomysł, przygotowałem bardzo proste API do generowania sygnaturek z informacjami o nasze postaci. Przykład takiej sygnaturki możecie zobaczyć tutaj:

[Obrazek: aHR0cDovL2lmZGVzaWduLnBsL35zaW1vbnMvcm9zdGF0cy8=.png]

Jak wygenerować własną sygnaturkę? To proste. Po pierwsze musimy mieć zainstalowany i skonfigurowany pod nasze konto skrypt ROStatsToXML. Sprawdzamy następnie link do zainstalowanej aplikacji - jeśli w odpowiedzi otrzymaliśmy XML z danymi naszej postaci to przechodzimy do następnego etapu, w przeciwnym razie poprawiamy instalację i konfigurację skryptu. Kolejnym etapem jest zakodowanie naszego linku do MIME base64 - aby to zrobić możemy użyć narzędzia online http://www.opinionatedgeek.com/dotnet/to...e64encode/ (wklejamy tam pełny URL do naszych statystyk). W wyniku tej operacji otrzymamy zakodowany URL, który kopiujemy i wklejamy do poniższego URLa w miejscu xxx:

Kod:
http://api.regnum-online.pl/signature-v1/xxx.png

Jeśli potrzebujemy wersji z ciemnymi napisami zamiast białymi, używamy tego URLa:

Kod:
http://api.regnum-online.pl/signature-v1/dark-xxx.png
w którym oczywiście tak jak poprzednio w miejscu xxx wklejamy nasz zakodowany URL.

I to tyle, odwiedzając w ten sposób przygotowany link otrzymamy w odpowiedzi własną sygnaturkę z informacjami o naszej postaci. Wpis na forum RO na ten temat znajdziecie tutaj.
Dane na niej będą odświeżane z częstotliwością odświeżania danych w pliku XML (domyślnie co 3 godziny). Nasza sygnaturka również będzie tak długo dostępna, jak długo będą uruchomione nasze statystyki XML.

Podsumowując, architektura API statystyk naszych postaci daje wiele możliwości. Zaprezentowany przykład sygnaturek to tylko wierzchołek góry lodowej - aplikacji wykorzystujących takie API może być od groma. Sam od siebie mogę dodać, że w niedalekiej przyszłości mam zamiar przygotować coś na kształt własnych statystyk graczy, gdzie podobnie jak w przypadku sygnaturek, podając swój zakodowany URL będziemy mogli zbierać listę graczy (np. statystyki klanowe itd.).

Mam nadzieję, że API + sygnaturki Wam się przydadzą, chętnie zobaczyłbym inne sygnaturki niż tylko moich własnych postaci.
[Obrazek: aHR0cDovL2FwaS5yZWdudW0tb25saW5lLnBsL3Jv...FjYz0z.png]
[Obrazek: aHR0cDovL2FwaS5yZWdudW0tb25saW5lLnBsL3Jv...FjYz0y.png]
11-28-2010, 10:12 AM
The Pastor Offline
Fap Fap

Liczba postów: 71
2
Dołączył: Nov 2010
Reputacja: -2
#2
RE: Character stats API + sygnaturki
Fajny pomysł Big Grin
Dzis nie mam czasu na zrobienie ale jutro się pobawię i pokaże Big Grin

TAki offtop
Kiedy będzie aktywna całkowicie strona http://www.regnum-online.pl? Bo nie mogę sie doczekać Big Grin
Bądź człowiekiem daj minusa Damiemu! " - "
11-28-2010, 08:18 PM
wolowitz Offline
Necromancers

Liczba postów: 6
2
Dołączył: Nov 2010
Reputacja: 0
#3
RE: Character stats API + sygnaturki
Z chęcią zobaczyłbym sygnaturkę z innym emblematem, aby na żywo sprawdzić czy wymiary nie psują ogólnego wizerunku (Alsiusowy jest najszerszy - 44 px, Syrtowy najwęższy - 38 px).

Co do regnum-online.pl to nie spodziewałbym się wcześniej niż na święta (termin bardzo przybliżony), mam teraz sporo roboty na głowie, a chciałbym aby serwis był unikalny i atrakcyjny. Wstępny pomysł polega na tym, aby było to coś na zasadzie social-site z dużą bazą wiedzy na temat RO. Wszelka pomoc w przygotowaniu materiałów na stronę jest oczywiście mile widziana Smile W najbliższym zaś czasie postaram się natomiast uruchomić serwer TeamSpeak3 dla polskiej społeczności, będzie możliwość założenia własnego kanału klanowego oraz otrzymania Channel Admina.

EDIT: serwer TeamSpeak3 został już uruchomiony:

[Obrazek: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

Czym jest TeamSpeak3 chyba tłumaczyć nie trzeba, wszelkie informacje na ten temat (jak i download programu) znajdziecie na oficjalnej stronie projektu (TS3 dostępny jest również na linuxa, większość dystrybucji posiada go w swoich repozytoriach). Jak już wspomniałem wcześniej, polskie klany (a jest ich przecież od groma Smile) mogą liczyć na własny kanał na serwerze (publiczny lub prywatny), clan leaderzy otrzymają dodatkowo Channel Admina do zarządzania kanałem.
Zachęcam i zapraszam wszystkich do korzystania z TeamSpeak'a, z doświadczenia z innych gier sieciowych wiem jak przydatny może być to dodatek do gry (łatwiejsza komunikacja w zespole, czas na gadanie o pierdołach itd.).

PS: na TSie spotkacie mnie raczej pod moim starym jak ja nickiem - simons

PS2: @pakos: gdybyś miał ochotę wydzielić informację o serwerze TS do innego wątku czy newsa, nie mam nic przeciwko Smile
[Obrazek: aHR0cDovL2FwaS5yZWdudW0tb25saW5lLnBsL3Jv...FjYz0z.png]
[Obrazek: aHR0cDovL2FwaS5yZWdudW0tb25saW5lLnBsL3Jv...FjYz0y.png]
(Ten post był ostatnio modyfikowany: 11-29-2010, 02:54 PM {2} przez wolowitz.)
11-29-2010, 11:41 AM




Użytkownicy przeglądający ten wątek: 1 gości