Marketing

subota, 22. prosinca 2012.

Radovi i dalje na web aplikaciji i mapping tim

Kako sam već naveo u prošlom postu da radim na web aplikaciji, sad mogu reci da je onaj korisnicki dio unaprijedjen i dodatno doradjen, naravno nije gotov jer niti ne moze dok god i mod ne bude gotov, ali glavni dio aplikacije je napravljen.

Sada trenutno izradjujem Admin dio aplikacije, i tu je vec ogroman dio napravljen, a sve sto sam za sada planirao će biti završeno uskoro i mogu se onda posvetiti radu samo na modu. Svaki dan se trudim napraviti što više posla tako da napokon mogu početi spajati velike dijelove aplikacije sa radom na modu. Napravio sam dodatne optimizacije u web skripti.

Mod više ne bi mogao raditi na shared game hostingu, niti na slabom VPS-u, samo isključivo na jakoj dedicated masini kakvu srecom imamo. Sam rad Roleplay servera ce koristiti 5 MySQL baza radi sto brzeg i sto boljeg rada, a za to ce trebati i pozivati nekoliko puta Cron jobom odredjene skripte koje ce prebacivati stvari iz baze u bazu bez da uspore rad servera ili web aplikacije. Sve ovo sam napravio proucavajuci brzine rada sa mysql bazama i to kada se na iste spaja dvije ili vise izvora koji citaju/pisu ili brisu podatke. Kada bi se npr zapisivali logovi direktno u bazu, tada bi to bilo lose iz vise razloga: jedan je sigurno taj sto je mysql spremanje daleko sporije od nativnog pisanja u file, drugi je taj sto mysql plugin to jednostavno ne bi bio sposoban sve procesuirati bez da pocnu preopterecenja servera. Samim prebacivanjem dosta toga u web aplikaciju mod ce biti rastereceniji, mogucnosti za igrace vece, a server ce raditi puno bolje i brze.

Sto se tice mappinga, tu zaista moram pohvaliti ch rp mapping tim koji je svih ovih mjeseci tonu toga namapao, mozete misliti koliko je posla bilo kada su neki znali i po tjedan dana mapati autoput, nije nimalo lako namapati na stotine branika dnevno. Sada ce mapanje malo zastati, tamo negdje do kraja prvog mjeseca, dok na mod ne dodju neke vazne stvari, zatim ce se nastaviti mapati s novim smjernicama. Nazalost neki radovi naseg mappinga padaju u vodu jer je mali limit objekata koje mozemo maknuti, a mislili smo neka sela preurediti, tj jesmo vec, ali to se sada nikako nece uklopiti u nase planove pa ce to morati raditi ispocetka. Posebno tu moram pohvaliti voditelje(Fabu i Sabljaka), kao i naravno Jaska, Keru, Rogersa koji vecinom jede, a rijeđe mapa, kao i ostatak tima.

Kada napravim ključne dijelove moda napravit ćemo rasprave i otvorit ćemo prijedloge za neke stvari, ali tocno usmjerene gdje cete moci napraviti sugestije kako i sta da se napravi. Prva testiranja ce biti pocetkom godine, ali tu privilegiju ce imati mapping tim samo, svakim sljedecim testiranjem ce se tim testera povecavati, no prednosti ce imati vrijedni clanovi timova na ch.

Uskoro ocekujte novi post o tome kako izgleda vecim dijelom web aplikacija.

ponedjeljak, 3. prosinca 2012.

Napredak Web aplikacije i moda

Kao što sam u prošlom postu rekao, radim na razvoju web aplikacije. Za razliku od prošlog posta gdje je dosta toga bilo u teoriji sada su neke stvari već implementirane, čak i sa nekim bitnim preinakama. Web aplikacija je već sada povezana sa novim modom i uskoro ću raditi samo na modu. Trenutno radim 80% na web aplikaciji, 15% na cron taskovima i 5% na modu.

Problemi sadašnjeg moda?

CHRP mod v3 ima nekoliko prepreka i razloga zbog kojih ne može brže raditi na velikom broju igrača, premda je mod podosta optimiziran. Prvi razlog je taj što je SA:MP singlethreaded, što će značiti da kada se nešto izvršava, druge stvari čekaju dok se to ne izvrši i tek onda ide na izvršavanje sljedećeg. Što duže traje izvršavanje neke aktivnosti servera to je sinkronizacija lošija, tj. tijekom procesa je nema. Veliki problem je trenutni sistem spremanja i čitanja server računa koji je na SQLite-u, jednostavno SQLite je kod spremanja sporiji čak i do 20-ak puta od MySQL-a i čak 30-ak puta od file funkcije. Sad zamislite kada se nekoliko igrača konektira i diskonektira svake sekunde koliko to znači za performanse i koliko znači za sinkronizaciju. Druga važna stvar jesu konstantne provjere  i debuganje koje baš nije pametno u tolikoj mjeri, no sada raditi redizajn nekih stvari u starom modu bi bilo gubljenje vremena. Naravno zadnja stvar koja utječe na sinkronizaciju jesu objekti, ali oni su tu u najmanjoj mjeri.


Kako premostiti probleme na novom modu?

Jedan veliki plus novog moda je taj što se sve vezano za račune obavlja na web aplikaciji, nebitno da li se radi o admin akcijama ili o tome šta korisnik želi raditi sa svojim računom. Sada se sve to nalazi u web aplikaciji i daje vam tonu novih mogućnosti rada sa računom, od postanja zahtjeva, uređivanja lozinki, maila, pa čak i do popravljanja izgubljene imovine. Znači veliki dio rada s računom koji je bio siromašan i loš je izbačen iz moda i tu se dolazi već do manjeg opterećenja moda.
MySQL sistem spremanja i rada sa računima donosi puno bolje performanse i daleko ubrzava proces konektiranja i diskonektiranja na server strani. Važna stvar je ta što se koristi čak nekoliko baza za upravljanje serverom, što još dodatno ubrzava neke stvari, no isto tako jako i komplicira programiranje funkcija za rad s njima i tako programiranje traje puno dulje.
Ogroman problem za održavanje servera i utvrđivanje činjenica su Logovi, koji kako su sada u modu stvaraju užas nekome kada treba nešto pronaći. Svi logovi će se na novom modu gledati direktno iz aplikaciji i jednim klikom i filtriranjem po želji će se dobiti u svega par sekundi točan uvid šta i kako je sve neki korisnik radio. No, problem kod logova je sljedeći, ako se odmah zapisuju u MySQL bazu utjecat će jako na performanse servera jer tu govorimo i po nekoliko 10-aka logova u sekundi i premda je MySQL brz opet je podosta sporiji od file funkcije. Nakon nekoliko rasprava sa drugim programerima došao sam do zaključka da će se logovi spremati u fileove, ali u drugačijem obliku nego do sada i recimo svakih sat vremena će se prebacivati Cronom u MySQL bazu. Logovi moraju biti u bazi zbog pretraživanja, a svakim procesom prebacivanja se i file loga isprazno što opet znači veliku brzinu u zapisivanju novih zapisa.
Objekte za početak nećemo optimizirati pa ćemo vidjeti kakve su performanse

A slike aplikacije?

Heh, ne bih htio baš stavljati slike dok ne bude sve gotovo i spremno, no stavit ću vam sliku aplikacije gdje se nalazite na pregledu server računa i upravljanju sa istima. Ne vidi se nešto puno, ali je dovoljno.
http://ch-slike.com/F4Rz


Zaključak

Razvoj traje dalje, sada imam nešto više vremena, pa trošim i preko 10h dnevno na razvoj aplikacije i moda. Ovakvu aplikaciju nema niti jedan veliki samp server na svijetu, a kamoli na balkanu. Meni ovo nije prva web aplikacija ove vrste, ali je u rangu sa najvećim projektima koje sam radio. Ovo je veliki napredak za CH i RP server. Testiranje aplikacije i moda radim zasad sam, ali uskoro će biti i oformljen tim za testiranje. Igrači CH će prvi puta imati priliku vidjeti aplikaciju i mod u prvom mjesecu kada če Alpha testiranje. Korisnički dio web aplikacije je pri kraju, sada se okrećem admin panelu koji je jednim dijelom isto tako sređen, ali ostaje još puno programiranja. Web aplikacija će se dodatno proširivati zajedno sa novim mogućnostima moda.