[Old] Applications for API Keys

  • - A short description of the tool you want to create or a link to an existing tool you already have / want to update.


    I'm looking for a galaxytool alternative/proxy.

    The new toolbar, which will comunicate with galaxytool proxy, will look for API keys in new messages and send them to the galaxytool proxy, and finally it will access (and cache in a file locally or in a database for avoid overloading ogame servers) the API and save results to galaxytool database.

    The tool will require that every webmaster to register their own API key when installs the tool in their galaxytool instalation, I won't share my own API key.


    - A short description of your developer / programming experience


    In my job I'm working with backend (java and PHP), I have experience programming windows active desktop helpers, windows 7 gadgets, extensions for firefox and chrome, greasemonkey user scripts.


    - The scope of your project: Personal, Alliance, Community or International.


    Community.


    - Valid EMail address.
    PM


    - The IP from which your tool will connect to our servers. (Limited to 1 during testing).
    PM


    - Are you willing to "open source" some of your source code for others to benefit from? (Example: Providing a library for a specific programming language)
    Yes, I'll publish the code at github.


    - Are you willing to help with extended testing? This may require you to provide us with more contact information. (IRC contact and approximate online availability).

    Of course! :)
    Edit (26.11.2015) RedStar:
    github repository created and some progress uploaded github.com/GalaxytoolNG/GalaxytoolNG-Toolbar help and ideas are welcome)

    (23.11.2015 Valent: API key requested )
    (18.12.2015 Valent: API Key sent )

    The post was edited 1 time, last by RedStar ().

  • Does anyone have an example JSON response for the spy reports part of the API? (Examples for the other types would also be welcome, but they have a lower priority)

    I cannot find detailed documentation for spy reports (only for combat reports) and I'm unable to test as it is taking way too long to obtain a key, really disapointed.
  • Espi Report

    Resources
    Métal:1.995.000 Cristal:800.196 Deutérium:536.102 12.275
    Fleets

    Large Cargo 120
    Espionage Probe 3
    Solar Satellite 150
    Defence

    Heavy Laser 81
    Ion Cannon 3
    Small Shield Dome 1
    Large Shield Dome 1
    Anti-Ballistic Missiles 20
    Building

    Metal Mine 29
    Crystal Mine 25
    Deuterium Synthesizer 24
    Solar Plant 28
    Robotics Factory 5
    Shipyard 9
    Metal Storage 9
    Crystal Storage 9
    Deuterium Tank 8
    Research Lab 12
    Missile Silo 4
    Research

    Espionage Technology 14
    Computer Technology 12
    Weapons Technology 16
    Shielding Technology 16
    Armour Technology 16
    Energy Technology 9
    Hyperspace Technology 8
    Combustion Drive 16
    Impulse Drive 10
    Hyperspace Drive 13
    Laser Technology 12
    Ion Technology 8
    Plasma Technology 10
    Research Network 4
    Astrophysics 12
    Graviton Technology 1

    JSON Espi
    object(stdClass)#2 (2) {
    ["generic"]=>
    object(stdClass)#3 (24) {
    ["sr_id"]=>
    string(40) "1ce28aa48b397030534308dff01909415e3288d5"
    ["event_time"]=>
    string(25) "2015-11-21T19:20:34+00:00"
    ["event_timestamp"]=>
    int(1448133634)
    ["total_ship_count"]=>
    int(273)
    ["total_defense_count"]=>
    int(86)
    ["loot_percentage"]=>
    int(75)
    ["spy_fail_chance"]=>
    int(100)
    ["activity"]=>
    int(-1)
    ["attacker_name"]=>
    string(5) "vulca"
    ["attacker_planet_name"]=>
    string(13) "DO NOT ATTACK"
    ["attacker_planet_coordinates"]=>
    string(6) "2:46:4"
    ["attacker_planet_type"]=>
    string(1) "1"
    ["attacker_alliance_name"]=>
    string(9) "TopRaider"
    ["attacker_alliance_tag"]=>
    string(8) "TopRaide"
    ["defender_name"]=>
    string(6) "Hammer"
    ["defender_planet_name"]=>
    string(4) "Ares"
    ["defender_planet_coordinates"]=>
    string(7) "2:51:10"
    ["defender_planet_type"]=>
    string(1) "1"
    ["defender_alliance_name"]=>
    NULL
    ["defender_alliance_tag"]=>
    NULL
    ["failed_ships"]=>
    bool(false)
    ["failed_defense"]=>
    bool(false)
    ["failed_buildings"]=>
    bool(false)
    ["failed_research"]=>
    bool(false)
    }
    ["details"]=>
    object(stdClass)#4 (5) {
    ["resources"]=>
    object(stdClass)#5 (3) {
    ["metal"]=>
    int(1995541)
    ["crystal"]=>
    int(800196)
    ["deuterium"]=>
    int(536102)
    }
    ["buildings"]=>
    array(11) {
    [0]=>
    object(stdClass)#6 (2) {
    ["building_type"]=>
    int(1)
    ["level"]=>
    int(29)
    }
    [1]=>
    object(stdClass)#7 (2) {
    ["building_type"]=>
    int(2)
    ["level"]=>
    int(25)
    }
    [2]=>
    object(stdClass)#8 (2) {
    ["building_type"]=>
    int(3)
    ["level"]=>
    int(24)
    }
    [3]=>
    object(stdClass)#9 (2) {
    ["building_type"]=>
    int(4)
    ["level"]=>
    int(28)
    }
    [4]=>
    object(stdClass)#10 (2) {
    ["building_type"]=>
    int(14)
    ["level"]=>
    int(5)
    }
    [5]=>
    object(stdClass)#11 (2) {
    ["building_type"]=>
    int(21)
    ["level"]=>
    int(9)
    }
    [6]=>
    object(stdClass)#12 (2) {
    ["building_type"]=>
    int(22)
    ["level"]=>
    int(9)
    }
    [7]=>
    object(stdClass)#13 (2) {
    ["building_type"]=>
    int(23)
    ["level"]=>
    int(9)
    }
    [8]=>
    object(stdClass)#14 (2) {
    ["building_type"]=>
    int(24)
    ["level"]=>
    int(8)
    }
    [9]=>
    object(stdClass)#15 (2) {
    ["building_type"]=>
    int(31)
    ["level"]=>
    int(12)
    }
    [10]=>
    object(stdClass)#16 (2) {
    ["building_type"]=>
    int(44)
    ["level"]=>
    int(4)
    }
    }
    ["ships"]=>
    array(3) {
    [0]=>
    object(stdClass)#17 (2) {
    ["ship_type"]=>
    int(203)
    ["count"]=>
    int(120)
    }
    [1]=>
    object(stdClass)#18 (2) {
    ["ship_type"]=>
    int(210)
    ["count"]=>
    int(3)
    }
    [2]=>
    object(stdClass)#19 (2) {
    ["ship_type"]=>
    int(212)
    ["count"]=>
    int(150)
    }
    }
    ["defense"]=>
    array(5) {
    [0]=>
    object(stdClass)#20 (2) {
    ["defense_type"]=>
    int(403)
    ["count"]=>
    int(81)
    }
    [1]=>
    object(stdClass)#21 (2) {
    ["defense_type"]=>
    int(405)
    ["count"]=>
    int(3)
    }
    [2]=>
    object(stdClass)#22 (2) {
    ["defense_type"]=>
    int(407)
    ["count"]=>
    int(1)
    }
    [3]=>
    object(stdClass)#23 (2) {
    ["defense_type"]=>
    int(408)
    ["count"]=>
    int(1)
    }
    [4]=>
    object(stdClass)#24 (2) {
    ["defense_type"]=>
    int(502)
    ["count"]=>
    int(20)
    }
    }
    ["research"]=>
    array(16) {
    [0]=>
    object(stdClass)#25 (2) {
    ["research_type"]=>
    int(106)
    ["level"]=>
    int(14)
    }
    [1]=>
    object(stdClass)#26 (2) {
    ["research_type"]=>
    int(108)
    ["level"]=>
    int(12)
    }
    [2]=>
    object(stdClass)#27 (2) {
    ["research_type"]=>
    int(109)
    ["level"]=>
    int(16)
    }
    [3]=>
    object(stdClass)#28 (2) {
    ["research_type"]=>
    int(110)
    ["level"]=>
    int(16)
    }
    [4]=>
    object(stdClass)#29 (2) {
    ["research_type"]=>
    int(111)
    ["level"]=>
    int(16)
    }
    [5]=>
    object(stdClass)#30 (2) {
    ["research_type"]=>
    int(113)
    ["level"]=>
    int(9)
    }
    [6]=>
    object(stdClass)#31 (2) {
    ["research_type"]=>
    int(114)
    ["level"]=>
    int(8)
    }
    [7]=>
    object(stdClass)#32 (2) {
    ["research_type"]=>
    int(115)
    ["level"]=>
    int(16)
    }
    [8]=>
    object(stdClass)#33 (2) {
    ["research_type"]=>
    int(117)
    ["level"]=>
    int(10)
    }
    [9]=>
    object(stdClass)#34 (2) {
    ["research_type"]=>
    int(118)
    ["level"]=>
    int(13)
    }
    [10]=>
    object(stdClass)#35 (2) {
    ["research_type"]=>
    int(120)
    ["level"]=>
    int(12)
    }
    [11]=>
    object(stdClass)#36 (2) {
    ["research_type"]=>
    int(121)
    ["level"]=>
    int(8)
    }
    [12]=>
    object(stdClass)#37 (2) {
    ["research_type"]=>
    int(122)
    ["level"]=>
    int(10)
    }
    [13]=>
    object(stdClass)#38 (2) {
    ["research_type"]=>
    int(123)
    ["level"]=>
    int(4)
    }
    [14]=>
    object(stdClass)#39 (2) {
    ["research_type"]=>
    int(124)
    ["level"]=>
    int(12)
    }
    [15]=>
    object(stdClass)#40 (2) {
    ["research_type"]=>
    int(199)
    ["level"]=>
    int(1)
    }
    }
    }
    }


    Missile Report

    Missile Attack 21.11.2015 19:23:42
    From: Fleet Command
    4 rockets from your planet DO NOT ATTACK [2:46:4] smashed into the planet Colony [2:48:8]!
    10 Attacking rocket(s) was/were destroyed by enemy anti-ballistic missiles.

    0 Rocket Launcher
    0 Light Laser
    0 Heavy Laser
    24 Gauss Cannon (-8)
    0 Ion Cannon
    0 Plasma Turret
    1 Small Shield Dome (-1)
    1 Large Shield Dome (-1)
    10 Anti-Ballistic Missiles (-10)
    0 Interplanetary Missiles

    Missile JSON
    object(stdClass)#2 (2) {
    ["generic"]=>
    object(stdClass)#3 (13) {
    ["mr_id"]=>
    string(40) "ebefa18dc7de44192e3f215c260d32283d7fa549"
    ["event_time"]=>
    string(25) "2015-11-21T19:23:42+00:00"
    ["event_timestamp"]=>
    int(1448133822)
    ["attacker_name"]=>
    string(5) "vulca"
    ["attacker_planet_name"]=>
    string(13) "DO NOT ATTACK"
    ["attacker_planet_coordinates"]=>
    string(6) "2:46:4"
    ["attacker_planet_type"]=>
    string(1) "1"
    ["defender_name"]=>
    string(9) "WhatDefuq"
    ["defender_planet_name"]=>
    string(6) "Colony"
    ["defender_planet_coordinates"]=>
    string(6) "2:48:8"
    ["defender_planet_type"]=>
    string(1) "1"
    ["missiles_lost_attacker"]=>
    int(4)
    ["missiles_lost_defender"]=>
    int(10)
    }
    ["details"]=>
    object(stdClass)#4 (2) {
    ["defense"]=>
    array(4) {
    [0]=>
    object(stdClass)#5 (2) {
    ["defense_type"]=>
    int(502)
    ["count"]=>
    int(10)
    }
    [1]=>
    object(stdClass)#6 (2) {
    ["defense_type"]=>
    int(408)
    ["count"]=>
    int(1)
    }
    [2]=>
    object(stdClass)#7 (2) {
    ["defense_type"]=>
    int(407)
    ["count"]=>
    int(1)
    }
    [3]=>
    object(stdClass)#8 (2) {
    ["defense_type"]=>
    int(404)
    ["count"]=>
    int(24)
    }
    }
    ["defense_destroyed"]=>
    array(4) {
    [0]=>
    object(stdClass)#9 (2) {
    ["defense_type"]=>
    int(407)
    ["count"]=>
    int(1)
    }
    [1]=>
    object(stdClass)#10 (2) {
    ["defense_type"]=>
    int(408)
    ["count"]=>
    int(1)
    }
    [2]=>
    object(stdClass)#11 (2) {
    ["defense_type"]=>
    int(404)
    ["count"]=>
    int(8)
    }
    [3]=>
    object(stdClass)#12 (2) {
    ["defense_type"]=>
    int(502)
    ["count"]=>
    int(10)
    }
    }
    }
    }



    recycling report JSON
    object(stdClass)#2 (1) {
    ["generic"]=>
    object(stdClass)#3 (13) {
    ["rr_id"]=>
    string(40) "a10749dd7df2719ea5591bc9081101f1924c6286"
    ["event_time"]=>
    string(25) "2015-11-21T20:03:37+00:00"
    ["event_timestamp"]=>
    int(1448136217)
    ["coordinates"]=>
    string(6) "2:48:8"
    ["recycler_count"]=>
    string(1) "5"
    ["recycler_capacity"]=>
    string(6) "100000"
    ["metal_in_debris_field"]=>
    string(5) "10800"
    ["crystal_in_debris_field"]=>
    string(5) "10800"
    ["metal_retrieved"]=>
    int(10800)
    ["crystal_retrieved"]=>
    string(5) "10800"
    ["owner_name"]=>
    string(5) "vulca"
    ["owner_alliance_name"]=>
    string(9) "TopRaider"
    ["owner_alliance_tag"]=>
    string(9) "TopRaider"
    }
    }


    ** OgameTech **
  • A short description of the tool you want to create or a link to an existing tool you already have / want to update.
    Hi,

    I have two tools in my mind :
    - The fist one is already online, for french players only for the moment. It allows you to convert your fleet in a phpbb code, that you can copy/paste on the forum, to show the strength of your fleet.
    URL : obskur.org/topflottes.php
    - I'd like, as many here I suppose, to create a RC converter, skinnable.

    A short description of your developer / programming experience
    I'm working in IT for 20+ years, currently being a senior vmware architect for a french bank.
    On my free time, I'm an Android application developer.

    Language used : Good ol' bash, java, php, js/ajax, ruby, python, starting c#

    The scope of your project
    Trying to create useful tools for the community.

    Valid EMail address.
    In private if possible, I have enough spam in my mailbox.

    The IP from which your tool will connect to our servers. (Limited to 1 during testing).
    94.23.222.93

    Are you willing to "open source" some of your source code for others to benefit from? (Example: Providing a library for a specific
    programming language)

    Probably not for all my tools, but part of it, why not ? Mainly for the RC converter, if we can be a small "core team" of devs, it can lead to an interesting project.

    Are you willing to help with extended testing? This may require you to provide us with more contact information. (IRC contact and approximate online availability).
    Definitely, I can be online usually in the evening, Paris time.


    (23.11.2015 Valent: API key requested )
    (18.12.2015 Valent: API Key sent )
  • I'm a bit late to the party, but my old alliance mates requested an update of my conversion tools:

    A short description of the tool you want to create or a link to an existing tool you already have / want to update.
    Updating my CR/IPM converters:
    nikejoshua.heliohost.org/conv/cr.php
    nikejoshua.heliohost.org/conv/ipm.php

    And backup server:
    nikejoshua.comuv.com/conv/cr.php
    nikejoshua.comuv.com/conv/ipm.php

    A short description of your developer / programming experience
    Hobbyist programmer for over 20 years.

    The scope of your project
    The CR conv was available to all .org but was mostly alliance used since i never really promoted it.
    The IPM conv was used by all .org

    Valid EMail address.
    Available on request, but prefer PMs

    The IP from which your tool will connect to our servers. (Limited to 1 during testing).
    216.218.192.170 and 31.170.163.150

    Are you willing to "open source" some of your source code for others to benefit from? (Example: Providing a library for a specific
    programming language)

    On request, and if not monetized.

    Are you willing to help with extended testing? This may require you to provide us with more contact information. (IRC contact and approximate online availability).
    Time permitting, sure.

    (29.12.2015: - information requested )Valent
  • Valent wrote:

    I'm sorry for keeping you waiting but the api key generation is done only in spare time by the dev. It looks like he has no spare time lately with this avalanche of updates .

    I'll keep poking him :)
    Generating an API key shouldn't take that long, a few minutes at most... Please please ask him to create the keys so we can continue our cool projects
  • it´s the same as the Eventhandler works. If you have several things to do, you can only do one by one.

    You application needs to be checked, if all is ok:
    Keys needs to be generated, documentated and the api key needs access to the servers

    shouldn't take that long

    You triggered the OGame Bingo, that cost you now some Cookies! :P

    LG
    Being a QA is sort of like being a goal keeper. People only talk about you when you’ve screwed up. We are the silent guardians of game development, and they will never have to thank us.
  • I understand that things can take longer as anticipated as I'm a developer myself too, but is it not a reasonable idea to set a maximum waiting time of say 1 or 2 weeks, so we know when we can expect them?

    No offense, but I think it's a bit weird that the OGame V6 API seems to be in the scope of your daily work (it appears in updates, etc.), but generating the API keys isn't and has to be done in your spare time, because without keys the API is not that useful for the users/developers :D
  • There is no specific timerame set. It´s done, when it´s done and when the priority moves to the api keys. And YOU as developer understand the process. Fixing stuff in api, because it generates errors you can´t compare with the process I described in my post above yours.
    The process is handled like that, so please accept it. You will get informed when your tool is accepted and the keys are added. Complains will not speed the process up.

    LG
    Being a QA is sort of like being a goal keeper. People only talk about you when you’ve screwed up. We are the silent guardians of game development, and they will never have to thank us.
  • (this is not a complaint ;))

    First of all, thanks Valent for taking care of this.
    @JoKy : I understand your POV, and can't do anything but agree to it.
    However, in my point of view, as a developer of a tool, I get thrilled at a moment M, ask for the api, have tons of ideas and stuff.. And then wait. And wait. And wait. Motivation is a big part of development, and waiting that long for a simple API key (I know, I know.. but in the end, it's just a key, I honestly doubt it takes more than 10mins to generate one, document it, etc) can really kill the process for some. Not for me, tho, but if some of the API askers don't develop their tools/ideas/whatever, that waiting time may be a big reason for it. Just my 2 cents anyway.

    On the same subject, maybe an improvement can be done ? On Hattrick for example, a football manager game, every users can get a RO API key for third party tools/scripts/website, that allows to access some data in read only mode. Instead of giving api keys with such a slow pace, why not trying this ?