Luku 11: Verkkopelit. Resurssit Ennustaminen Huijaus. Lähde: Smed, Hakonen



Samankaltaiset tiedostot
Luku 11: Verkkopelit. Resurssit Ennustaminen Huijaus. Lähde: Smed, Hakonen

8/21/2013 TIE PELIOHJELMOINTI ANIMAATIO, AI, MAAILMAT, VERKKO ANIMAATIO SUORA JA KÄÄNTEINEN KINEMATIIKKA LUURANKOANIMAATIO

Newtonin ominaisuudet

S Teletekniikan perusteet

Internet ja tietoverkot 2015 Harjoitus 7: Kertaus

Integrointialgoritmit molekyylidynamiikassa

Salausmenetelmät (ei käsitellä tällä kurssilla)

Tietoverkkojen turvallisuus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2012

Vasteaika. Vasteaikaa koskeva ohje ei ole juuri muuttunut Robert B. Millerin vuonna 1968 pitämästä esityksestä:

Luento 3: Liikkeen kuvausta, differentiaaliyhtälöt

Evolutiivisesti stabiilin strategian oppiminen

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Tietoliikenne II (2 ov)

Tietoverkkojen turvallisuus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2011

Tietoliikenne II (2 ov)

Sukelluskeräily, Pelihahmon liikuttaminen. Tee uusi hahmo: Pelihahmo. Nimeä se. Testaa ikuisesti -silmukassa peräkkäisinä testeinä (jos) onko jokin

XXIII Keski-Suomen lukiolaisten matematiikkakilpailu , tehtävien ratkaisut

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

PUSH palvelut mobiilikehityksessä: Android ja Windows phone 7. Pauli Kettunen

Kommunikaatio Visa Linkiö. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Tekninen suunnitelma - StatbeatMOBILE

Verkkoliikennettä Java[ssa lla] Jouni Smed

Pikaviestinnän tietoturva

Liikkuvien isäntäkoneiden reititys

IP-reititys IP-osoitteen perusteella. koneelle uusi osoite tässä verkossa?

IPTV:n asettamat vaatimukset verkolle ja palvelun toteutus. Lauri Suleva TI07 Opinnäytetyö 2011

Tekninen suunnitelma - StatbeatMOBILE

FYSP101/K1 KINEMATIIKAN KUVAAJAT

Ampumahiihto. Hiihto. Pelihahmon piirtäminen. Jos tahdot animoida hiihtämisen, Peli muodostuu kahdesta erilaisesta osasta: ensin

Turingin koneen laajennuksia

Poikkeavuuksien havainnointi (palvelinlokeista)

Useimmin kysytyt kysymykset

Paavo Kyyrönen & Janne Raassina

Algoritmi I kuvioiden ja niille johtavien ajourien erottelu. Metsätehon tuloskalvosarja 7a/2018 LIITE 1 Timo Melkas Kirsi Riekki Metsäteho Oy

ELEC-C7241 Tietokoneverkot Multimedia, tietoturva, jne.

3. Kuljetuskerros 3.1. Kuljetuspalvelu

18 Komponentit, ulkoasu ja visuaalisuus. Materiaalit CC-BY 4.0 Mikko Lampi

Sukelluskeräily. Pelihahmon liikuttaminen. Aarre ja pisteet

TK Palvelinympäristö

T Harjoitustyöluento

Vuonohjaus: ikkunamekanismi

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Kuva maailmasta Pakettiverkot (Luento 1)

Kohdistettujen hyökkäysten torjunta lisää tervettä järkeä!

Liikenneteorian tehtävä

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Board Game Lab. 4 Teema. Materiaalit CC-BY 4.0 Mikko Lampi

on hidastuvaa. Hidastuvuus eli negatiivinen kiihtyvyys saadaan laskevan suoran kulmakertoimesta, joka on siis

811312A Tietorakenteet ja algoritmit I Johdanto

Miska Sulander Jyväskylän yliopisto Atk keskus FUNET yhdistyksen vuosikokous

Tietoturvapolitiikka turvallisuuden perusta

Y k s i t y i s y y s j a t i e t o s u o j a v e r k o s s a. Mikko Rauhala Vaalimasinointi.org

Netemul -ohjelma Tietojenkäsittelyn koulutusohjelma

Tietoturva ja tietosuoja. Millaisia ovat tietoyhteiskunnan vaarat?

SÄHKÖPOSTIN SALAUSPALVELU

Nollasummapelit ja bayesilaiset pelit

Kymenlaakson Kyläportaali

Rajapintapalveluiden käyttöehdot. Ohjelmistotalopäivä

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

Referenssit ja näytteenotto VLBI -interferometriassa

Signalointi: autonromujen markkinat

Fysiikan ja kemian perusteet ja pedagogiikka Kari Sormunen Kevät 2012

Robotit ja tekoäly terveydenhuollon työvälineinä nyt ja tulevaisuudessa työn tutkimukseen perustuva näkökulma

Simulointi. Varianssinhallintaa Esimerkki

T Harjoitustyöluento

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

Luento 8. June 3, 2014

Stabilointi. Marja Hassinen. p.1/48

Luvun 8 laskuesimerkit

Linux palomuurina (iptables) sekä squid-proxy

Tietoturva P 5 op

Sisältö. Työn idea Protokollat. Harjoitustyön käytäntöjä. Työn demoaminen. Etäisyysvektori Linkkitila. Palvelin Moodle SSH-tunnelit

Salatun sähköpostipalvelun käyttöohje

OLS Jalkapallo. OLS Kaupunkisarja

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

Harjoitustyö. Jukka Larja T Tietokoneverkot

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

Kumisaappaista koneoppimiseen

Älypuhelinverkkojen 5G. Otto Reinikainen & Hermanni Rautiainen

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

RANTALENTIS- SA A NNÖ T

Luento 9. June 2, Luento 9

Verkon värittämistä hajautetuilla algoritmeilla

Salatun sähköpostipalvelun käyttöohje

T Yritysturvallisuuden seminaari

Oppiminen ja oivaltaminen

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Puuhailua Android-sovellus

Seilailupeli. Piirrä tausta, mm. liukuvärejä kannattaa käyttää Esteet. Piirrä uusi este-hahmo, joka voi olla esim. jäävuori tai merimiina

T Privacy amplification

AMMATTIKORKEAKOULUJEN TEKNIIKAN VALINTAKOE

Tietoturvan haasteet grideille

Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö

Pohdiskeleva ajattelu ja tasapainotarkennukset

Reititys. Tietokoneverkot 2009 (4 op) Syksy Futurice Oy. Reititys. Jaakko Kangasharju.

Kim Polamo Työnohjaukse ks n voi n m voi a Lu L e,,ku inka i t yönohj t aus s autt t a t a t yös t s yös ä s si s. i 1

Fuusio vai konkurssi? Hintakilpailun satoa

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

Transkriptio:

Luku 11: Verkkopelit Resurssit Ennustaminen Huijaus Lähde: Smed, Hakonen

Verkkopelit Useat pelit mahdollistavat monen pelaajan yhtäaikaisen osallistumisen tietoverkon avulla Smed ja Hakonen jakavat verkkopelien kommunikaation kolmeen kerrokseen: fyysinen alusta looginen rakenne sovellustaso

Fyysinen alusta Fyysinen alusta asettaa rajat yhteyden suorituskyvylle kaistanleveys (bandwidth) latenssi solmujen prosessointiteho Siedettävä latenssi reaaliaikapelissä luokkaa 0,1 s - 1 s latenssin vaihtelu eli jitter myös haitallista

TCP ja UDP TCP yhteydellinen, varma, hidas UDP yhteydetön, epävarma, nopea Peleissä usein kovat reaaliaikaiset vaatimukset; jos tieto ei ole ajoissa perillä, se on turhaa TCP:n tarjoamat ominaisuudet mukavia, mutta ne ovat yleensä liian raskaita pelikäyttöön esim. paketin kadotessa seuraaviin ei pääse käsiksi ennen uudelleenlähetystä TCP ei siis sovellu hyvin reaaliaikaisiin peleihin

Looginen rakenne Loogisessa rakenteessa kaksi pääratkaisua: vertaisverkko (peer-to-peer) palvelin-asiakas (voi olla hierarkinen/monipalvelin) jostain syystä tätä kutsutaan joskus p2p:ksi jos palvelin on yksi pelaajien koneista Skaalautuvuus, kontrolli Datan hajautus eheys (consistency) vs vasteajat (responsiveness) Ratkaisut: keskitetty, kopioitu, hajautettu keskitetty eheä, hajautettu nopea

Sovellustaso Sovellus rakennetaan loogisen rakenteen päälle Skaalautuvuus: pelaajamäärän muutos Jatkuvuus (persistence): pelaajien liittyminen ja poistuminen lennossa Yhteistyö: pelaajien välinen interaktio, riippuu etäisyydestä

Resurssien rajat Resurssien riittävyys riippuu monesta tekijästä viestien määrä, kohteiden määrä, viestin koko, kiireellisyysvaatimukset, prosessointitarve Jos yksi vaatimus kiristyy, täytyy kompensoida löysentämällä muita yleensä kommunikaatio korvataan laskennalla Resurssivaatimukset, n pelaajaa, unicast: vertaisverkko O(n 2 ) palvelin-asiakas O(n)

Resurssien säästäminen Viestien pakkaaminen redundanssin poisto erotusten lähettäminen epäoleellisen jättäminen pois (mahd. häviöllinen) Viestien yhdistäminen (batching) säästää kaistaa (headerit) vaatii prosessointia ja vasteaika kasvaa yhdistetään esim. kaikki tiettyyn hetkeen mennessä lähetetyt tai aina n kpl peräkkäisiä

Ennustaminen Tilapäivityksiä voi lähettää harvemmin, jos käytetään ennustamista Lähetetään paikan p 0 lisäksi nopeus v 0 ja kiihtyvyys a 0 ajanhetkellä 0 Asiakas voi nyt laskea muiden sijainnin ajanhetkellä t: p t = p 0 + v 0 t + 0,5 a 0 t 2 Kiihtyvyyden käyttö sopii hyvin esim. autoihin, mutta ihmisten suhteen pelkkä nopeus riittää

Ennustaminen Asiakas voi myös laskea nopeuden ja kiihtyvyyden itse aiempien sijaintien perusteella Kiihtyvyys voidaan jättää dynaamisesti huomiotta silloin kun se vaihtelee kovasti Erityyppisille pelihahmoille voi olla eri algoritmi Palvelin voi laskea ennusteen samalla tavalla ja lähettää päivityksen kun virhe on liian suuri liian suuri voi riippua vapaana olevasta kaistasta

Konvergenssi Päivityspaketin saapuessa aiheutuu hyppäys ennustettu sijainti ja oikea poikkeavat toisistaan Ratkaisu: siirrytään uusimman informaation antamalle polulle vähitellen lineaarinen konvergenssi pehmeämpi liike: spliinit Voi silti aiheuttaa seinien läpäisyä ym.

Pelaajien eri ajat Viiveestä aiheutuu erittäin haastava ongelma pelaajien vuorovaikutukseen esim. viive 100 ms, A ampuu B:tä hyvin nopealla luodilla (jota ei edes piirretä) B on ehtinyt liikkua 100 ms ajan, joten B voi olla todellisuudessa jo vaikka seinän takana joko A:sta näyttää, että selvä osuma meni ohi, tai B:stä näyttää, että A onnistui ampumaan hänet seinän läpi ei ole olemassa täydellistä ratkaisua

Local perception filters Local perception filters mahdollistaa hitaan vuorovaikutuksen viiveen tapauksessa Temporal contour avaruuden kullekin pisteelle viivearvo t, pelaajan itsensä kohdalla t=0, muiden kohdalla t=viive esineestä piirretään t:n verran viivästetty sijainti esim. ammus aloittaa A:n näkökulmasta t=0:sta ja saavuttaa B:n kohdalla t=100ms, eli matka kestää 100 ms ylimääräistä B:n näkökulmasta 100 ms todellista vähemmän mitä jos ammuksen matka alle 100 ms? tässä jitter tuottaa suuria ongelmia

Samanaikainen simulaatio Pelin tapahtumat voidaan jakaa deterministisiin ja epädeterministisiin ihmispelaajien toimet epädeterministisiä pseudosatunnaislukujen avulla jopa kaikki muu determinististä Kaikki pelaajat voivat suorittaa saman simulaation, jolloin teoriassa voisi riittää välittää epädeterministiset tapahtumat käytännössä tarvitaan myös tarkistusdataa

Läheisyyssuodatus Usein olento on kiinnostunut vain sen lähellä tapahtuvista asioista tällöin vain pieni osa asioista tarvitsee lähettää sille Olennon ympärillä kiinnostava alue: aura vastaa esim. pelaajan näkemää aluetta Jos aurat leikkaavat, saavat toistensa viestit Voidaan jakaa vielä fokukseen ja nimbukseen fokus: mitä olento näkee nimbus: millä alueella olento tulee nähdyksi

Huijaaminen Huijaus vie huijatuilta peli-ilon hyvin nopeasti Huijaamisella on monia tavoitteita päteminen: mainetta ja kunniaa voiman tunne taloudelliset hyödyt Huijaamisen estämisen tavoitteita salatun informaation suojeleminen pelin reiluuden takaaminen pelimaailman oikeuden turvaaminen

Huijaaminen Palvelin-asiakas-rakenteessa on monia haavoittuvia kohtia muunneltu asiakasohjelma itse ohjelma datatiedostot/muistin sisältö asiakkaalta lähtevän verkkoliikenteen peukalointi spoofing, palvelunesto palvelimen hakkerointi, fyysiset hyökkäykset

Liikenteen peukalointi Esimerkkejä asiakasohjelman ja palvelimen välisen liikenteen peukaloinnista tähtäysproxy automaatti tietää missä muut pelaajat ovat, ennen ampumista luo ylimääräisen ohjauspaketin jotta ammus osuu pakettien pysäyttäminen (haavoittumattomuus) pakettien toistaminen tarkoituksellinen viive

Suojautumiskeinoja Viestit voi salata julkisen avaimen menetelmät Viestejä voi suojata tiivisteillä (MD5 jne.) tällöin viestiä ei voi muokata jäämättä kiinni olettaen ettei osata laskea tiivistettä uudestaan vaikka osattaisiin, ei auta jos viestit on salattu toiston estämiseksi mukaan satunnaisluku tiivistealgoritmeissa heikkouksia, törmäykset Ohuet asiakkaat ja kaikki äly palvelimella hyvä, mutta voi vaatia liikaa kaistaa/laskentaa

Ennustava huijaus Tilanne: vertaisverkossa pelin tila on kaikilla pelaajilla; viestit lähetetään aikaleimalla kaikille nyt asiakas voi tarkoituksella odottaa muiden toimintoja ennen omansa päättämistä lähetetään toiminto väärennetyllä aikaleimalla Lockstep-protokolla: pelaajat sitoutuvat toimintoon lähettämällä hajautusarvon muut eivät voi päätellä mikä toiminto on mutta kun toiminnot paljastetaan, voidaan tarkastaa, ettei pelaaja ole vaihtanut toimintoa

Muunneltu asiakasohjelma Tyypilliset asiakasohjelman muunnokset paljastavat ylimääräistä tietoa fog of warin poisto, seinien läpi näkeminen tavoite: palvelin lähettää mahdollisimman vähän salaista tietoa; salaus voi myös auttaa joskus Grafiikan ym. ominaisuuksien muutokset Auktoriteetin väärinkäyttö tarkasta, että toiminnot ovat laillisia ja mahdollisia pelaajat antavat vain komentoja, palvelin toteuttaa vertaisverkossa varotaan vääriä huijausilmoituksia

Sääntörikkeet Peleissä on säännöt, mutta joskus niissä on aukkoja; onko niiden hyväksikäyttö huijausta? Salaliitto (collusion) epätäydellisen informaation peleissä jaetaan tietoa, joka kuuluu vain yhdelle pelaajalle toimitaan yhteistyössä kilpailullisessa pelissä ongelma esim. nettipokerissa styling, käyttäytymisen tarkkailu turnauksen tuloksiin vaikuttaminen (esim. luovutus, lahjonta)

Huono käytös Sääntöjen lisäksi huijaukseksi lasketaan joskus myös pelin hengen vastainen käytös MMOissa aloittelijoiden teurastus, PK-jengit eräs ratkaisu: pelaajien kimppuun voi hyökätä vain jos he ovat antaneet luvan alueet, joista osassa lakia valvotaan ja osassa ei Kulkuväylien tukkiminen, kämppäys, sanallinen loukkaaminen, omien ampuminen, spämmäys,... ignore auttaa osaan ilmoittaminen pelin valvojille (taas väärien ilmoitusten riski) Eve-filosofia: huono käytös on osa peliä