W ostatnim czasie w Legend Online pojawiła się informacja (nawiasem mówiąc uprzykrzająca życie, np chat gildyjny jak ma się okno na pół ekranu) o niekorzystaniu z pirackich wersji gry. Ciekawy jestem co nasze GMy mają na myśli pisząc takie rzeczy…
Wyjaśnijmy co to piractwo (za Wikipedią):
Piractwo medialne – potoczne określenie działalności polegającej na nielegalnym kopiowaniu i posługiwaniu się własnością intelektualną (programami komputerowymi, muzyką, filmami itp.) bez zgody autora lub producenta i bez uiszczenia odpowiednich opłat.
Wszystko jasne. Tylko jak to ma się do Legend Online?
Oasis Games (dalej OAS) udostępnia mini klienta do tej gry (no, może nie taki mini), twierdzą, że korzystanie z nieautoryzowanych programów jest nielegalne.
Też wszystko ładnie, pięknie, ja to rozumiem.
Jednak, weźmy na tapetę taką przeglądarkę, np Firefox. Nie jest w żaden sposób powiązana z OAS, jednak potrafi uruchomić grę. Czy ludzie, którzy Firefoxa napisali zapytali OAS o zgodę na uruchomienie ich gry? Pewnie nie. Jednak suma summarum to nieautoryzowany rejestrator/klient (jak kto woli, dalej będę używał słowa klient).
Więc po co alternatywne klienty? Mój, zazuna i pewnie jeszcze kilka się znajdzie…
Oficjalny klient dostępny w chwili obecnej to zamulator. Muli aż (nie)miło. Jednak OAS chyba nie widzi w tym problemu, mimo, że wielu graczy zgłasza im to. OAS obudźcie się! Gracze chcą po prostu normalnie grać i doładowywać wam diaxy!
Jednak klienci nieoficjalni to nieoficjalni…
Owszem, zgadza się. Jednak porównajmy technicznie co się dzieje w kazdym z nich:
Oficjalny klient 1.1 (stary klient): Pokazuje ładne okno logowania. Logujemy się i.. gramy.
Klient zazuna: Okno logowania już nie takie ładne, ale też gramy.
Mój klient: Okno logowania minimalistyczne, ma bugi (przyznam się ;)), działa.
Czemu akurat o tych trzech piszę?
Łączy je jedna rzecz. Każdy z nich po prostu odpala Flash Playera i włącza grę z adresu URL zwracanego przez stronę gry. Czyli OAS 'każe’ każdemu z nich odpalić swój content. Na tym rola klienta się kończy. Dalej, każdy z tych klientów jest po prostu 'oknem’, w którym widać grę i można sobie pograć (tak jak w przeglądarce), kontrolę przejmuje OAS (sama gra). Flash Player ten sam, aplikacja 'host’ nic nie ma do samej gry (przeglądarka czy właśnie klienci). Sam 'host’ nie ma wpływu na samą grę. Flash Player po prostu wykonuje to, co mu gra każe. „Z gówna bata nie ukręcisz”. Więc gdzie tu piractwo?
Teoretycznie i praktycznie można grę odpalić w czystym 'kontenerze’ Flasha, dostępny na stronie Adobe. (To zwykłe okno, w którym dajesz ścieżkę do pliku swf i on go odpala, nic więcej).
No dobra, a po co powstały alternatywne klienty?
Żeby każdemu żyło się lepiej ;).
To dlaczego oficjalny klient muli?
Muli, bo ma za dużo bajerów. Poza tym oparty jest na silniku Chrome, ale coś OAS to nie wyszło. Problem może być bardziej złożony bo…
Mam internet, super światłowód 600Mbit/s i gra mi się ładuje pół godziny…
Fajnie, cieszę się, że masz taki super net. SpeedTesty pewnie też to pokazują. Też tak bym chciał ;). Jednak to prędkość od operatora do Ciebie. To nie to samo co prędkość od Ciebie do serwera gry. 'Po drodze’ mogą być tzw 'wąskie gardła’. No i czar prysł.
W takim razie czym się różni Twoj klient od innych? Skoro technicznie to jest to samo?
Niczym. Klient sam w sobie wykorzystuje dokładnie te same technologie co pozostałe.
To dlaczego szybciej działa?
Mój klient składa się z dwóch modułów – 1 sam klient, który odpala grę (’host’ dla Flash Playera), 2 cache, przyspieszający cała zabawę. Jednak możesz sobie podpiąć moduł cache do starego klienta jak i do przeglądarki Google Chrome. Działa.
Czemu przyspieszenie nie jest natychmiastowe, czemu każesz się przebiec po lokacjach w grze?
Z prostego powodu. Samo istnienie cache nic nie daje, jeżeli cache nie ma plików, których akurat gra potrzebuje. Innymi słowy – najpierw coś musi trafić do cache, żeby cache był efektywny.
Co to cache?
To pamięć podręczna. W skrócie jak to działa – pobierasz jakąś grafikę i cache zachowuje ją na później. Kiedy będzie potrzeba znowu pobrania tej samej grafiki, to już pójdzie z Twojego dysku, a nie ze zdalnego serwera (znacząco szybciej). Tu masz zysk na lagach.
A nie będzie to zwracać nieaktualnych plików?
Nie. Póki co to serwery gry są zgodne z HTTP/1.1. Wysyłają do klientów nagłówki pozwalające na cache’owanie obiektów.
Jak ten cały cache jest realizowany?
Jest realizowany jako serwer proxy (pośredniczący). Pośredniczy w komunikacji gra => serwer gry.
Więc można użyć serwera proxy od operatora?
Oczywiście. Klienci Orange mogą sobie na przykład ustawić adres na w3cache.tpnet.pl port 8080.
To skąd to przyspieszenie, sama gra ma w sobie cache?
Owszem, ma, ale działa to jak działa, więc trochę trzeba grze pomóc. Proxy z cache zapisuje już pobrane grafiki na Twoim dysku. Jeśli będzie potrzeba to zamiast ze zdalnego serwera to zwróci lokalna kopię.
Co to Polipo? Dlaczego Polipo?
Polipo to malutki, ale bardzo efektywny serwer proxy. Ma w sobie kilka ciekawych optymalizacji jeśli chodzi o ściąganie plików. Potrafi zauważalnie zmniejszyć laga.
Czy Polipo to Twoj program?
Nie. Autorem jest Juliusz Chroboczek, można poczytać tutaj.
To po co ten Twój klient, przecież można na oficjalnym 1.1 to samo zrobić?
Mój klient jedynie wszystko automatyzuje. Nie masz całej grzebaniny. Jeśli chcesz to odsyłam niżej po instrukcje jak sobie oficjalnego dopasować.
Ale dlaczego to działa na tych trzech, a na oficjalnym nie?
Jako, że oficjalny 1.1, zanun i ja odpalamy bezpośrednio Flash Playera w wersji ActiveX to one używają WinInet, albo 'Opcji internetowych’ jak kto woli. Oficjalny ma 'swój świat’.
Czy Twoj klient jest autoryzowany przez OAS?
NIE! No i nie będzie. To jest mój osobisty projekt, nie związany z nikim z OAS. Proszę nie „przylepiać” go administratorom czy moderatorom.
Wow, ale esej mi wyszedl :D. Tak apropos tego calego piractwa. Definicja OAS jest co najmniej smieszna, skoro w kazdym kliencie jest dokładnie to samo. Mam nadzieję, że rozwiałem wszystkie wątpliwości dotyczące zarówno klienta jak i samego cache. Miłej gry 😉