Page 1 of 1

Application Programming Interface

PostPosted: 26.06.2014, 06:41
by MarcelYeah
Servus,

ich bitte um kleine Veränderungen, welche schnell gemacht sein sollten sobald wieder Zeit in die Programmierung gesteckt wird.

1. Einen UNIX Timestamp in jedem Array auf http://www.creeptd.com:4748/live hinzufügen.

2. Wenn möglich die Möglichkeit Spielräume abzufragen.

3. Falls Punkt 2 akzeptiert, dann Abfrage ob und wo ein Spieler spielt hinzufügen.


Würde einige Türen öffnen.

- Marcel

Re: Application Programming Interface

PostPosted: 26.06.2014, 16:05
by xdXP
What server data has to do with development?

Re: Application Programming Interface

PostPosted: 27.06.2014, 01:51
by MarcelYeah
xdXP wrote:What server data has to do with development?

For example, for the external development of the tournament page. Probably would be "suggestions" a better board for this post. The API can be found under developer central, so I thought the area here is the appropriate one.

7. CreepTD Data API
CreepTD is open in design and allows you as a developer to access lots of publicly available data directly via our API.

Re: Application Programming Interface

PostPosted: 28.06.2014, 16:23
by dcode
Also die API greift auf die Datenbank zu, eine Abfrage von Spielräumen oder Spielern müsste vom Server direkt geschehen (sind flüchtige Daten) und ist aktuell nicht möglich.

Die Idee, das Live-Interface zu verwenden, gefällt mir allerdings. Dafür müsste natürlich ständig ein Prozess darauf lauschen.

Das Live-Interface akzeptiert zusätzlich auch zwei URL-Parameter: "lastId" für die letzte bekannte ID (liefert nur neue Ereignisse) und "limit" um die Anzahl der Ereignisse zu begrenzen (das hat natürlich irgendwo ein Maximum). Hat daher auch keine Zeitstempel, ist ja quasi Live und strikt durchnummeriert :)

Re: Application Programming Interface

PostPosted: 28.06.2014, 17:01
by MarcelYeah
dcode wrote:Also die API greift auf die Datenbank zu, eine Abfrage von Spielräumen oder Spielern müsste vom Server direkt geschehen (sind flüchtige Daten) und ist aktuell nicht möglich.

Es haben sich einige Punkte erledigt. Die externeAbfrage von Daten der folgenden Liste im Spoiler sind teilweise bereits extern machbar (über CreepTD Server) ohne weitere Codeänderungen deinerseits.

Mein Frage ist nun, wieso sind einige Daten davon möglich zur externen Abfrage und der Rest nicht?



dcode wrote:Die Idee, das Live-Interface zu verwenden, gefällt mir allerdings. Dafür müsste natürlich ständig ein Prozess darauf lauschen.

Das Live-Interface akzeptiert zusätzlich auch zwei URL-Parameter: "lastId" für die letzte bekannte ID (liefert nur neue Ereignisse) und "limit" um die Anzahl der Ereignisse zu begrenzen (das hat natürlich irgendwo ein Maximum). Hat daher auch keine Zeitstempel, ist ja quasi Live und strikt durchnummeriert :)

Dieser Punkt hat sich ebenfalls erledigt, es gibt Möglichkeiten diesen Timestamp zu "ersetzen".
1. Im Sekundentakt die Daten abfangen und Timestamp setzen
2. Vor & nach Abfrage prüfen ob Raum erstellt ist (z.B. bei der Turnier-Seite)

Re: Application Programming Interface

PostPosted: 28.06.2014, 23:45
by dcode
Es haben sich einige Punkte erledigt. Die externeAbfrage von Daten der folgenden Liste im Spoiler sind teilweise bereits extern machbar (über CreepTD Server) ohne weitere Codeänderungen deinerseits.

Stimmt, das kann man natürlcih auch prima dafür nutzen.

Mein Frage ist nun, wieso sind einige Daten davon möglich zur externen Abfrage und der Rest nicht?

Wo genau meinst du jetzt? Im Server Status? Da wurde es nicht benötigt.

Ideal wäre natürlich, wenn sich die Daten in einem sinnvollen Format ALLE abfragen lassen würden (mal abgesehen vom Income während eine Runde läuft). Da kann ich aber gerade leider nicht weiterhelfen.

Update: In aktueller Development-Version implementiert: isCreatorOfCurrentGame (*), password:{true/false}, min_skill:{min}, max_skill:{max} (das hilft dir jetzt noch nicht viel, aber mal schauen ^^)

Re: Application Programming Interface

PostPosted: 30.06.2014, 04:41
by MarcelYeah
dcode wrote:Wo genau meinst du jetzt? Im Server Status? Da wurde es nicht benötigt.

Hatte es falsch interpretiert, natürlich hat der Server Status recht wenig mit der API zu tun, hatte es jedoch im Gedanken kombiniert gehabt.

dcode wrote:Update: In aktueller Development-Version implementiert: isCreatorOfCurrentGame (*), password:{true/false}, min_skill:{min}, max_skill:{max} (das hilft dir jetzt noch nicht viel, aber mal schauen ^^)

Doch hilft mir auf jeden Fall, wenn jetzt noch die Spieler im Raum abfragbar wären müsste ich gar nicht mehr auf CreepTD Server zugreifen für die Turniere. Doch so reicht es allemal, vielen Dank.