Kommunika cio s protokoll. Verzió 1.0

Hasonló dokumentumok
Játékos fejlesztése. Verzió 1.01 Utolsó módosítás: május 16.

Já té kszábá ly. Verzió Utolsó módosítás: április 26.

Kommunikáció Androidon Mobilinternet Wifi

Az Internet. avagy a hálózatok hálózata

ColourSMS Protokol definíció. Version 1.2

Nagios NSCA Indirect Monitoring, Passive Check

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes Hálózatok GY 7.hét

Számítógépes Hálózatok GY 4.hét

InFo-Tech emelt díjas SMS szolgáltatás. kommunikációs protokollja. Ver.: 2.1

Számítógépes Hálózatok. 5. gyakorlat

Atlon XML interface fejlesztői dokumentáció. Dokumentum verzió: 3.0

Számítógépes Hálózatok GY 3-4.hét

A Hearthstone Magyar Kupa regisztrációs leírása

Számítógépes Hálózatok GY 6.hét

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

A rendszer célja. Funkciók

Számítógépes Hálózatok. 4. gyakorlat

Elektronikus levelek. Az informatikai biztonság alapjai II.

Műszaki Melléklet. METRO Kereskedelmi Kft... Elektronikus adatcsere (EDI) rendszer alkalmazásával való számlatovábbításról 1.

ELTE, IK, Információs Rendszerek Tanszék

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Szoftver fő funkciói. Diszpécser rádió GPS nyomkövetés Adatátvitel és tárolás Telefonhívások kezelése 1 / 7

TKSTAR APPLIKÁCIÓ BEMUTATÁSA

TRBOnet Térinformatikai terminál és diszpécseri konzol

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Integrált keretrendszer

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Kameleon Light Bootloader használati útmutató

Számítógépes Hálózatok. 3. gyakorlat

GoWebeye Monitor Release Üzenetküldés

Kommunikáció. 3. előadás

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata. Répás Sándor

Alapfogalmak, WWW, HTTP

Modbus kommunikáció légkondícionálókhoz

OpenBSD hálózat és NAT64. Répás Sándor

PARTNER EXTRA. Leírás. Magyar Posta Zrt. Verzió:

Java Servlet technológia

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

TÁJÉKOZTATÓ A CobraContoLight V VERZIÓHOZ

Hálózati architektúrák laborgyakorlat

Java Challenge második forduló játékszabályai v1.2

Számítógépes hálózatok

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Kelenföldi Szilárd

Kooperatív Rendszerek - Huwico konferencia, 2005 április 9.

API tervezése mobil környezetbe. gyakorlat

DOAS-VMI adatok lekérdezése

Mobil Informatikai Rendszerek

Információ és kommunikáció

Fábián Zoltán Hálózatok elmélet

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

T-AVL Nyomkövető webkliens

ViCA. Virtuális Chipkártya Alkalmazás

Autóipari beágyazott rendszerek. Local Interconnection Network

Az IEC PRP & HSR protokollok használata IEC61850 kommunikációjú védelmi automatika hálózatokban

Nexus GSM modul. GameOver. Telepítői és programozási útmutató

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

Információ és kommunikáció

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Programozási segédlet DS89C450 Fejlesztőpanelhez

Hálózati architektúrák laborgyakorlat

Java és web programozás

Számítógépes hálózatok

Yealink SIP Phone család. webes programozási útmutató. A leírás a MySIP X.50 IPPBX alközpont mellékleteként készült. v Young BTS. Kft.

Használati útmutató. DALI EASY 1.0 változat.

applikációs protokollok

SZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ

Leolvasói rendszer kialakításának koncepciója ipari mobil eszközökkel (ipari PDA-val)

Számítógép-hálózatok. Gyakorló feladatok a 2. ZH témakörének egyes részeihez

Hálózati architektúrák laborgyakorlat

Dr. Mileff Péter

Muppet: Gyors adatok MapReduce stílusú feldolgozása. Muppet: MapReduce-Style Processing of Fast Data

Adatbiztonság PPZH május 20.

KG-A. Hálózati Architektúrák és Protokollok 1. zárthezi dolgozat. Név: Neptun: Gyakorlati időpont: H10 H16 H18 K10 Sz10 Cs14

Programozható vezérlő rendszerek KOMMUNIKÁCIÓS HÁLÓZATOK 2.

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

PLC Versenyfeladat. XIV. Országos Irányítástechnikai Programozó Verseny Budapest, március Összeállította az EvoPro Kft.

Online adatszolgáltatás beállítása a Számlázás - vevő-szállító nyilvántartás programban (UJVSZ)

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

A CIB Bank Zrt. CIB MOBILBANK ELEKTRONIKUS SZOLGÁLTATÁSRA VONATKOZÓ KÜLÖNÖS ÜZLETSZABÁLYZATA. hatályos március 15. napjától

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE.

9. MPI

Időjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

Vertikális Piac. Hotelek & Kaszinók. Oktatás. Szállítás. Kiskereskedelem. Off-site ellenőrzés. Ingatlan - lakossági. Kormány. Property kereskedelmi

intelligens flottakövetés OBU FIX HASZNÁLATI ÚTMUTATÓ V02_2014_04_28_HUN_SC

Webszolgáltatások (WS)

Mobil Informatikai Rendszerek

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette:

Ellenőrzőpont támogatás PVM alkalmazások számára a magyar ClusterGriden

Központi közigazgatási rendszerek kapcsolatai

Hálózatbiztonság Androidon. Tamas Balogh Tech AutSoft

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

1 Kereskedői tételes forgalmi listák rekordleírásai

Átírás:

Kommunika cio s protokoll Verzió 1.0

Tartalomjegyzék 1 Architektúrális felépítés... 3 2 Egy kör menete... 3 3 Üzenetek formális leírása... 4 4 Példa üzenetek... 6 Kovács Ferenc Dávid Zoltán Illés János 1.0 2/8

1 Architektúrális felépítés A játék kommunikációs modell szempontjából master slave felépítésű. A játékvezérlő a master és ő szólítja meg az egyes játékosokat. A kommunikáció http protokollra épül, a játékvezérlő http post üzenetben szólítja meg a játékosokat, a játékosok erre válaszolnak. Az üzenetek JSON formátumban vannak sorosítva. HTTP Post Játékos 1 (Slave) Játékvezérlő (Master) Response HTTP Post Response Játékos n (Slave) 1. ábra Kommunikációs architektúra A kliensnek beállított időlimitje van a válaszolásra, a verseny során ez 3 másodperc. Ha nem sikerül időben válaszolni, kimarad a körből, három egymást követő körből kimaradás az aktuális játék elvesztését vonja maga után. 2 Egy kör menete Az üzenetek pontos formai leírásai a következő fejezetben megtalálhatók. A játék egy inicializáló 0. körrel kezdődik, a játékvezérlő sorra regisztráltatja a játékosokat: 0. kör: A játék kezdetén a szerver egy register üzenetben közli a játékossal a hozzá tartozó azonosítót a timeout értékét és a körök hosszát. Erre válaszul a kliens elküldi a készítő/csapat nevét. Egy normál játékmenet lefutása: 1. A kör kezdetén a szerver kérést küld az kliensnek. A kérés egy JSON üzenet formájában érkezik. Tartalmazza a játékosok aktuális fejlettségi szintjét,a térképet 1, az aktuális kör sorszámát, a térképen lévő egységeket, városok és befolyás alatt álló területek listáját. 2. A kliens eldönti, hogy mit szeretne tenni a kör folyamán, ennek megfelelő JSON üzenetet állít össze és ad meg válaszként a kérésre. 3. A szerver feldolgozza a lépést majd ismét kérést intéz a klienshez ezúttal a frissített játékállapottal illetve a legutóbbi parancs kimentének sikerességével kiegészítve. 4. A kliens egy pass üzenetben jelzi ha befejtettnek tekinti a kört A játék menete során használt kommunikáció szekvencia diagramját ismerteti a 2. ábra. 1 Ezt csak az első fordulóban teszi meg Kovács Ferenc Dávid Zoltán Illés János 1.0 3/8

2. ábra Üzenetváltások szekvencia diagramja Az egy körben kiadható parancsok típusának sorrendje kötött az alábbiak szerint: egységmozgatás, fejlesztés vásárlás, város vásárlás, egység vásárlás. Természetesen egy kliens kezdheti a körét város vásárlásával ám abban a körben nem mozgathatja az egységeit és nem vásárolhat fejlesztéseket. 3 Üzenetek formális leírása Regisztrációs JSON üzenet az alábbi formában épül fel. A körök hossza az egy játékosra szánt maximális idő, a timeout hossza pedig a POST kérésre várt válasz ideje. Mindekét érték másodpercben értendő. register ::= 'yourid': Int, 'timeout': Int (másodpercben) 'round_length': Int (másodpercben) 'available_units': [available_unit] 'available_upgrades': [available_upgrade] available_upgrade ::= 'upgradeid': Int, 'name': String, 'price': Int, 'productivity_bonus': Int, 'dependency': Int, 'defense_bonus': Int available_unit ::= 'attack_power': Int, 'name': String, Kovács Ferenc Dávid Zoltán Illés János 1.0 4/8

'price': Int, 'dependency': Int, 'defense_level': Int, 'unitid': Int, 'speed': Int Az erre várt válasz: register_response ::= 'name': String A parancs kérésekor küldött üzenet: round_info ::= 'round_number': Int, 'player_info': [playerinfo], 'map': [node] <- Ez csak az első körben kerül kiküldésre! 'units': [unit] 'towns': [town] 'territories': [territory] 'last_command_status': String player_info ::= 'playerid': Int 'money': Int 'upgrades': [Int] node ::= [String, String] A térképek a gráf él listájával adjuk meg. Azaz egy node elem egy élet jelent a gráfban. A gráf nem irányított, azaz mindkét irányban lehet az élen mozogni. unit ::= [String, Int, String, Int] sorrend: Unit azonosító, típus, node azonosító, játékos azonosítója town ::= [ String, Int ] Térkép node azonosító és játékos azonosító territory ::= [ String, Int ] Térkép node azonosító és játékos azonosító A klienstől várt üzenetek: move ::= type: 'move', 'unitid': String, 'from': String, 'to' String buy_upgrade ::= type: 'buy_upgrade', 'upgradeid': Int buy_town ::= type: 'buy_town', 'nodeid': String buy_unit ::= type: 'buy_unit', unittype, nodeid pass ::= type: 'pass' Játék végét jelző üzenet: gameover ::= 'gameover' Kovács Ferenc Dávid Zoltán Illés János 1.0 5/8

4 Példa üzenetek Első körben küldött üzenet: 'available_upgrades': [ 'upgradeid': 1, 'name': 'Bronzmuvesseg', 'price': 5, 'productivity_bonus': 10, 'dependency': 0, 'defense_bonus': 0, 'upgradeid': 2, 'name': 'Vasmuvesseg', 'price': 5, 'productivity_bonus': 5, 'dependency': 1, 'defense_bonus': 0, 'upgradeid': 3, 'name': 'Kiralysag', 'price': 12, 'productivity_bonus': 25, 'dependency': 1, 'defense_bonus': 50 ], 'round_length': 20, 'yourid': 1, 'timeout': 5, 'available_units': [ 'attack_power': 1, 'name': 'Harcos', 'price': 4, 'dependency': 0, 'defense_level': 1, 'unitid': 1, 'speed': 1, 'attack_power': 1, 'name': 'Falanx', 'price': 5, 'dependency': 2, 'defense_level': 2, 'unitid': 2, 'speed': 1 ] A várt válasz: name: 'Elek' Kovács Ferenc Dávid Zoltán Illés János 1.0 6/8

Parancsok között küldött üzenet: "player_info": [ "playerid": 1, "money": 7, "upgrades": [], "playerid": 2, "money": 7, "upgrades": [] ], "map": [Ez itt egy első körös üzenet, ezért van itt a map ] ["A","B"], ["A","F"], ["C","H"], ["C","B"], ["B","A"], ["B","C"],... (ez hosszasan így)... "territories": [ ["B",1], ["F",1], ] ["H",2], ["L",2] "units": [ ["1_1_1",1,"A",1], ["1_1_2",1,"A",1] stb ] "towns": [["A", 1 ],["M",2] ], "round_number": 1 Egy egység mozgatása: 'type': 'move', 'from': 'A', 'to': 'B', 'unitid':'1_1_1' fejlesztés vásárlása: type': 'buy_upgrade', 'upgradeid': 1 Kovács Ferenc Dávid Zoltán Illés János 1.0 7/8

Egység vásárlása: 'type': 'buy_unit', 'unittype': 2,'nodeid': 'B', Kör végének jelzése 'type': 'pass' Kovács Ferenc Dávid Zoltán Illés János 1.0 8/8