Wyzwanie dla programisty
![Ukraine](http://www.erepublik.net/images/flags_png/S/Poland.png)
PANZERFAUST81
Postanowiłem tego arta umieścić w dziale analiz wojennych , gdyż dotyczy on praktycznie jedynie żołnierzy skupionych w PGB + WP , a więc tych , którzy korzystają z przywileju dofinansowań.
Wszyscy użytkownicy http://egov4you.info/ zauważyli już dawno , iż od kiedy nie ma API w erpie nie ma też na egovie „fajnych” dodatków. Wszelkie informacje , wykresy i dane „zatrzymały się „ na dniu 1454. Projekt aVie-go nie jest dalej rozwijany , a jedynie utrzymywany przy życiu celem prowadzenia zbiórek- i w tej materii lepiej lub gorzej sprawdza się do dziś.
Po ostatnich zmianach w grze wielu starych graczy zawiesiło swą działalność , lub definitywnie zrezygnowali z gry – odczuły to niewątpliwie wszystkie grupy bojowe.
Prowadzenie zbiórek w obecnych czasach jest trochę jak wróżenie z fusów – jednym razem rozkaz 1 kill podnosi mur o 9% innym razem 4 kile zmieniają położenie muru o 0,9% .
Stąd wyzwanie dla programisty , by stworzyć program [bota ] monitorującego dostępność graczy i ich potencjalną zdolność bojową. Myślę , że jest to dobre wyzwanie dla kogoś , kto ma do napisania jakąś prace licencjacką , inżynierską lub inną dyplomową.
W chwili obecnej autorowi Mieszka udało się zmusić erpa do przedstawienie wielu danych o użytkownikach – poniżej 2 przykłady:
Informacje o graczu: moonshinemaker ONLINE Link do profilu: http://www.erepublik.com/en/citizen/profile/2824821 [eWiek: 780] [eUrodziny: 2010-02-22]
Podstawowe: [Level: 39 (73946/75000] [CS: Poland] [Lokalizacja: Mazovia, Poland] [Partia: Partia Zielonych] [Medale: 63]
Militarne: [Siła: 8693.83], [Ranga: World Class Force(54)] [Następna ranga za: 15.83kk inf.] [q0: 2682] [q5: 5365] [q6: 5901] [Military Unit: Akademia Wojska Polskiego]
Top damage in a campaign: 2,176,413 Achieved while trying to defend Little Poland against Ukraine on day 1,583
Informacje o graczu: Grievous OFFLINE Link do profilu: http://www.erepublik.com/en/citizen/profile/584732 [eWiek: 1386] [eUrodziny: 2008-06-26]
[12:39] Podstawowe: [Level: 52 (136178/140000] [CS: Poland] [Lokalizacja: Little Poland, Poland] [Partia: Partia Wolnych Ludzi] [Medale: 600]
[12:39] Militarne: [Siła: 11352.2], [Ranga: God of War*(63)] [Następna ranga za: 364.56kk inf.] [q0: 3995] [q5: 7991] [q6: 8790] [Military Unit: Wojsko Polskie]
[12:39] Top damage in a campaign: 30,037,583 Achieved while trying to defend Little Poland against Bulgaria on day 1,502
Korzystając z przykładów należało by stworzyć program:
- monitorujący dostępność żołnierzy PBG i WP [ ONLINE/OFFLINE]
- na podstawie danych hit q0 –q6 oszacować zdolność bojową żołnierza [ dane o ilości reliefu mogą być niedostępne to np. statystycznie wyliczyć przewidywany dmg dla danego żołnierza np. na podstawie jego tygodniowych osiągnięć - Kherehabath last week: [ 1604: 999 530 inf. 268 exp. ] [ 1603: 1 170 360 inf. 292 exp. ] [ 1602: 1 182 470 inf. 288 exp. ] [ 1601: 1 319 790 inf. 185 exp. ] [ 1600: 3 045 790 inf. 429 exp. ] [ 1599: 1 594 510 inf. 246 exp. ] [ 1598: 820 230 inf. 208 exp. ] [RAZEM: 10 132 680 inf. 1916 exp. ] ]
- przedstawić dane poszczególnych PGB i WP w postaci tabelarycznej i graficznej na stronie z dostępem chronionym hasłem
Dane takie winny być dostępne dla CP oraz MON-u i niewątpliwie pomogły by we właściwym zagospodarowaniu infu i szybkiej ocenie szans na wygranie danej mini – być może w ten sposób uniknęlibyśmy sytuacji , że padają rozkazy na 25 kili , 3 aliny a bitwa i tak zostaje przegrana.
Może posiadając takie narzędzie i je mądrze wykorzystując dokonać jedynie zrzutu healtha i wygrać kolejną mini.
Jeśli znajdzie się chętny na zrobienie takiej aplikacji i MON ja wykorzysta , to Minister Finansów sięgnie do swojej głębokiej kieszeni i sowicie nagrodzi takiego autora.
Pozdrawiam i komentujcie co sądzicie o potrzebie powstania takiego narzędzia wspomagającego prace MON-u.
moonshinemaker
Comments
Nie wiem.
Świetny pomysł.
Pomysł dobry, ale kto się tego podejmie za darmola? Czy MGiF zapłaci takiemu? 😒
jak sobie to wyobrazasz?
co kilka miunt pobierac dane WSZYSTKICH uzytkownikow zapisanych do bazy (calosc PGB + WP) mysle ze dobrze ponad 1000 osob, zeby sprawdzic czy sa online trzeba by sie zalogowac
przy takim kicku w serwer co pare minut ban niemalze pewny (przynajmniej na IP z ktorego by skanowano serwery erepa)
zapytan mieszkowych jest znacznie mniej wiec i problem nieco mniejszy (sa wykonywane tylko na zadanie)
IMHO niewykonalne normalnym nakladem pracy, trzeba by znowu kombinnowac z proxy i rozkldaniem obciazenia na wiele adresow
poza tym to ze ktos jest niezalogowany nie znaczy ze go nie ma na ircu albo odwrotnie - zupelnie zbedna praca
a juz tak na marginesie zupelnie na prace inzynierska robi sie znacznie bardziej skomplikowane rzeczy bo to nie jest poziom trudnosci duzy tylko poziom obejscia utrudnien erepowych
Każda grupa / regiment grupy mogła by mieć własne konto odpytujące
Poza tym problem online / offline można by pewnie rozwiązać w inny sposób - może jakiś skrypt, który co jakiś czas z pominięciem eRepa wysyłał sygnał bezpośrednio do bazy
Szkoda ze informacje on/off nei sa na biezaco, czasami pokazuje on/of mimo iz jest odwrotnie. Zalozmy ze gracz sei logowal, informacja jest ze jest on, a on jednak wyszedl i od paru minut nie ma nawet kontaktu z komputerem.
hesar jak bym wiedział jak to bym to sam zrobił. Zdaje sobie sprawę z problemu dlatego to winno działać tylko dla BGB i WP a nie jak egov wcześniej dla całego erpa. Może ktoś sprytnie wykorzysta routing cebulowy do odpytywania?
pomysł KraftK też jest dobry - wtedy na kanale dowódczym byłaby deklarowana ilość dmg poszczególnych grup.
Już prędzej coś na wzór Pulse
a po co robić zapytanie co kilka minut? wystarczy, że dasz przycisk Update po którym dane będą aktualizowane i tak jak kolega KraftK zaproponował byłoby to podzielone na grupy
co do on/off to zawsze istnieje jakiś współczynnik błędu i tego nie unikniemy, ale dane mają być uśrednione, więc poglądowe
Jest pewien problem, zadne dane udostepniane przez erepa nie pozwalaja na zbadanie ile wella zmagazynowane ma dany gracz 🙁(( czyli nie mozna policzyc inle dana osoba zada innfluence 🙁
[removed]
Niemozliwe do realizacji.
Kiedyś wystarczyło slapnąć kanał dowództwa i zapytać "dużo macie dmg?". Zwykle da się na oko ocenić dość dokładnie czym się dysponuje.
Hesar, google CURL, ja przed zmianą akurat kończyłem projekt związany z MM i marketem, zczytanie kursów wszystkich walut, wszystkich rynków, wszystkich relacji pomiędzy walutami i kalkulacja danych zwracająca prosty wynik: kup tutaj to, albo zamień to na tamto uwzględniając wat w każdym państwie trwało to ok 50 sekund i jedynym ograniczeniem było moje łącze (ok 1MBps ciągnęło) oraz zdolności obliczeniowe mojego starego lapka co w zasadzie nie istnieje na profesjonalnym serwerze.
Żeby uprzedzić Twoje "ale...", tak logowałem się na erepa, tak przez ponad 40 dni mnie nie zbanowali i nie, nie robiłem tego na moim IP i nie robiłem tego na kompie z którego piszę tego posta.
Dziekuję Pr0GrAmIst0 bo się wypowiadasz jak programista i to profesjonalny mówiąc "tego się NIE DA".
Odnośnie arta... Api nie jest potrzebne do ściągania informacji ogólnodostępnych dla graczy, jest ułatwieniem dla nubpr0gramerz, ale w zasadzie niczym więcej. Jest dużą oszczędnością dla serverów erepa, bo np. mój program pobierał ok 40-80 MB (jestem nubem i niestety korzystałem z gotowych bibliotek i skąd te różnice - nie wiem), na refresha, z api? Kilka(set) kilo. My way = dziennie ok 7-10 GB zajeżdżania serverów eRepa, nieaktualne informacje (interwał ok 5 minut między refreshem).
Jak byś widział realizację "[bota ] monitorującego dostępność graczy i ich potencjalną zdolność bojową."?
Bo np. często jestem online, często jestem ma ircu, dostaję powiadomienie na gg, a np. nie biorę udziału w zbiórce.
Jeśli koniecznie chcecie wiedzieć, czym dysponujecie, musicie znaleźć kogoś, kto lekko zmodyfikuje egova. Można zastosować proste jak budowa cepa rozwiązanie - otwierając sobie zliczanie żołnierz wpisuje jakim dmg dysponuje, skrypt podlicza i wyświetla info dla prowadzącego zbiórkę.
Rozwiązanie proste, skuteczne, nie wymagające dużego nakładu pracy. Pytanie, czy znajdzie się ktoś chętny do takiej modyfikacji i czy otrzyma zgodę od twórców systemu na ingerencję w jego działanie.
Owszem, można parsować strony profilowe, patrzeć kto jest online itd. itp., ale to nie będzie w żaden sposób mówiło o tym, czym dysponujecie.
To może zrobićby jakiegoś forma gdzie każdy wpisywałby swoją zdolność bojową (albo w nawiasie w nicku)? Przecież nie wiemy ile ktoś ma hitów, o ile nie monitorowalibyśmy go 24/7 (albo by nam to ciągle pisał). Chyba żeby stworzyć jakąś wtyczkę która sama by to badała i wysyłała do bazy danych.
Najłatwiej byłoby zrobić IRCowego bota który po jakiejś komedzie komendzie sumowałby liczby wysyłane przez członków chata (albo ilość hitów, a siłę brałby z tabelców).
I w tym momencie
1: MON->PGB Ile macie DMG?
2: PGB->Członkowie Ile macie dmg?
3: Ludzie spisują
4: PGB->MON, mon podejmuje decyzję
5: MON-> PGB1 walcie x dmg
6: MON-> PGB2 walcie y dmg
7: MON-> PGB3 walcie z dmg
mini over
8. PGB-> członkowie walcie x hitów
Z doświadczenia wiem, że ludzie nie lubią wpisywać komend na IRCu 😞
Chcę doł...
albo nie.
UberPOLSKA
uswiadomiles mnie
nareszcei wiem co to cURL i jak sie parsuje html w php-ie, dzieki o Wielki
wracajac do meritum sprawy - proponuje kolege uberPOLSKA jako glownego realiztora projektu - na 100% sie da wykonac dokladnie tak jak sobie arta stworzyciel wymyslil i na bank bedzie to ogromna pomoc dla MONu
kolega uberPOLSKA ma wiedze!!! (nawiasem mowiac zapytaj aviego albo Lipviga jakich magicznych sztuczek dokonuja zeby uniknac zbyt duzej liczby zapytan do serwerow erepa - bo oni sa CHYBA progrmaistami na Twoja miare?? )
Używamy ton proxy.
Nie ma za co. Jak już wiesz, to rozumiem, że w przyszłości nie będziesz się ośmieszał i pisał:
"trzeba by znowu kombinnowac z proxy i rozkldaniem obciazenia na wiele adresow"
Totalnie bezpodstawne. Słyszałeś kiedyś o zabezpieczeniach dotyczących ilości danych/zapytań pobieranych/wysyłanych z/do erepa? Takowych nie ma. albo nie działają.
"zapytaj aviego albo Lipviga jakich magicznych sztuczek dokonuja zeby uniknac zbyt duzej liczby zapytan do serwerow erepa - bo oni sa CHYBA progrmaistami na Twoja miare??"
Ale nie na Twoją. Po co unikać zbyt dużej liczby zapytań? Już nawet nie pytam co masz na myśli "zbyt dużej". I liczę na odpowiedź inną niż "bo Ci server może nie uciągnąć".
Obawiam sie ze wprowadzili jakies zabezpieczenia prowadzimy tabelke +/- 90 osob i skrypt jest blokowany bo za duzo zapytan w zbyt krotkim czasie i polaczenie jest zrywane .....
na skryptach nie znam się prawie wcale - głównie desktopowe rozwiązania, ale czy skrypt js nie ma możliwości wysłania jakiejś informacji w świat? Jeśli tak, to dane dotyczące wella, on/off, dmg da się bardzo prosto rozwiązać i eRep nie ma tu nic do tego.
Na pracę to zdecydowanie zbyt proste, ale ogólnie pomysł bardzo dobry.
schodrak, właśnie wróciłem do haty i sprawdziłem. Nie ma żadnych zabezpieczeń odnośnie marketu, to pewnie nie ma też odnośnie profili.
Poprawcie skrypy. Przeglądnąłem market na całym świecie 6x12x70 + 140 w ciągu ok 40 sekund.
Rozmawiałem z kumplem, jeśli zarzucicie konkretne pomysły - w zasadzie wszystko jest do wykodzenia.
Prawie wszystko. Od potrzebuję tylko konkretnego pomysłu.
Mówię poważnie.
IMO kwestia czasu kiedy admini się zorientują.
Nie trzeba do tego nawet żadnych zabezpieczeń, wystarczą zwykłe statystyki ruchu żeby stwierdzić że ktoś pobiera ilości danych przekraczające znacząco przeciętne zużycie. A co z takim delikwentem zrobić? Przyciąć jego IP na firewallu i po sprawie 😉
a nie wystarczy żeby egov podał ile osób się sparsowało? o ile takiego czegoś już nie ma (odnośnie tego sprawdzania kto jest online a kto nie)
Przyciąć jego IP na firewallu i po sprawie - strona pada, w 5 minut przenosisz importera na inny server.
To ja sie jeszcze tak spytam: co komukolwiek da świadomość ilu ludzi jest online, czy nawet ile mają hp?
Pożądana byłaby świadomość ile z tych hp chcą przeznaczyć na walkę w najbliższym czasie a tego bot nie załatwi.
Szeszek +1