Pages: [1] 2 :: one page |
|
Author |
Thread Statistics | Show CCP posts - 20 post(s) |
|
CCP FoxFour
C C P C C P Alliance
4207
|
Posted - 2016.01.04 14:14:59 -
[1] - Quote
Hey people,
Wanted to give you all a heads up about some changes coming to Sisi later today. Hopefully they will be deployed around 15:00. Here is a brief rundown of the changes:
Alliance resources: - Version 1 of the Alliances resource is now deprecated. - Version 2 has been added to fix the awkward formatting of having a href in a href nonsense. Sorry about that. - V2 has a 5 minute cache. - Fixed a defect in the Alliance resource where if the executor corp no longer existed the resource would fail to be parsed. Fixing this means the executorCorporation field is now optional.
Universe resources: - Added ID for the regions collection and individual region resources. - Added a constellations collection. - Added ID to the individual constellation resource. - Added a solar systems collection. - Added the new constellations and solar system collections as a link in the root of CREST.
Contacts: - Fixed a defect where if a contact list contained an alliance the resource would fail to parse. - Finalized work on exposing read and write access for contacts to third-party developers.
Dogma information: - Added two new collections for dogma effects and dogma attributes to CREST. - Added information about a types dogma attributes and dogma effects to the type resource. - Added a link to dogma effects and dogma attributes from the root.
Added character waypoints to CREST: - This gives developers the ability to send a POST request to the waypoints resource, linked from the character resource, and set a client's auto pilot destination. This will turn off the autopilot on the client.
Other: - Exposing a characters location with the charactersLocationRead scope and a cache time of 10 seconds. !! THIS CACHE TIME IS SUBJECT TO CHANGE !! - Added ID attribute for types in market types. - Added ID attribute for market groups in market groups. - Added typeID to the type collection and type resource.
This is the current version on Sisi: EVE-2016-ALEX 14.1.993568.993561
You can see the version in the CREST root. When the last two numbers are both equal to or above 994194 it will have been updated to include all my stuff.
Some extra scopes are going to be required for some of these resources to work, namely charactersLocationRead and charactersNavicationWrite. I will post back once I have those on Sisi. I think the contacts write one is already there.
Here is an example of setting a waypoint:
{ "solarSystem": {"href": "http://crest.regner.dev/solarsystems/30000142/", "id": 30000142}, "first": true, "clearOtherWaypoints": false }
It only works for solar systems at this time. I will try and add stations for the next release next month.
Anyways, gotta run. Will try and respond with more details later.
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
Querns
GBS Logistics and Fives Support Goonswarm Federation
2288
|
Posted - 2016.01.04 14:21:48 -
[2] - Quote
Very cool stuff! I was wondering what had happened to dogma attributes in CREST, as it had been talked about some time ago.
I'm also very happy to see replacements for in-game-browser functionality being realized. We knew this was part of your goal, but seeing character location implemented is still very good to see.
Thanks, as always, for your work in this area of the game's code! The API and CREST are integral parts of the game's experience.
This post was crafted by the wormhole expert of the Goonswarm Economic Warfare Cabal, the foremost authority on Eve: Online economics and gameplay.
|
|
CCP FoxFour
C C P C C P Alliance
4207
|
Posted - 2016.01.04 14:24:33 -
[3] - Quote
As an advisory this is going to be one of the first cases where we really bump a version number and break backwards. Specifically this is in the Alliance resource. If you use that and do not send an Accept header you are going to get the newest version and your **** is probably going to break. You have been warned.
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
|
CCP Tellus
C C P C C P Alliance
29
|
Posted - 2016.01.04 14:30:55 -
[4] - Quote
You are awesome, FoxFour! |
|
|
CCP FoxFour
C C P C C P Alliance
4209
|
Posted - 2016.01.04 14:49:28 -
[5] - Quote
I have added the following scopes to Sisi: characterContactsWrite, characterNavigationWrite, and characterLocationRead
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
Rudy Miller
Perkone Caldari State
0
|
Posted - 2016.01.04 14:51:31 -
[6] - Quote
CCP FoxFour wrote: - Exposing a characters location with the charactersLocationRead scope and a cache time of 10 seconds. !! THIS CACHE TIME IS SUBJECT TO CHANGE !!
What kind of data does charactersLocationRead provide? System? XYZ coords? Something else? |
|
CCP FoxFour
C C P C C P Alliance
4209
|
Posted - 2016.01.04 14:53:49 -
[7] - Quote
Rudy Miller wrote:CCP FoxFour wrote: - Exposing a characters location with the charactersLocationRead scope and a cache time of 10 seconds. !! THIS CACHE TIME IS SUBJECT TO CHANGE !!
What kind of data does charactersLocationRead provide? System? XYZ coords? Something else?
Just solar system. Here is a sample output:
{ "solarSystem": { "id_str": "30000140", "href": "http://crest.regner.dev/solarsystems/30000140/", "id": 30000140, "name": "Maurasi" } }
It will return an empty dictionary of the character is offline.
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
|
CCP FoxFour
C C P C C P Alliance
4212
|
Posted - 2016.01.04 15:14:47 -
[8] - Quote
The new waypoints resource and the location resource can both be found via links in the character resource.
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
|
CCP FoxFour
C C P C C P Alliance
4212
|
Posted - 2016.01.04 15:15:48 -
[9] - Quote
Oh also, because I have been a bit busy I haven't exposed the new dogma resources in public CREST on Sisi. You should however have no problem getting them from authenticated CREST. Both linked from the CREST root.
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
|
CCP FoxFour
C C P C C P Alliance
4212
|
Posted - 2016.01.04 15:27:33 -
[10] - Quote
Server is up with the changes.
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
|
Ortho Loess
Pentag Blade Curatores Veritatis Alliance
58
|
Posted - 2016.01.04 16:45:34 -
[11] - Quote
Rudy Miller wrote:What kind of data does charactersLocationRead provide? System? XYZ coords? Something else?
See Fox. It's not just me who thinks xyz might be cool! |
Zifrian
Licentia Ex Vereor Phoebe Freeport Republic
1696
|
Posted - 2016.01.04 17:02:15 -
[12] - Quote
Wow, nice stuff in there. Thanks for all the support on CREST FF.
GÇ£Any fool can criticize, condemn, and complain - and most fools do. GÇ¥ - Dale Carnegie
Maximze your Industry Potential! - Download EVE Isk per Hour!
|
Louis Vitton
Mind Games. Suddenly Spaceships.
86
|
Posted - 2016.01.04 17:36:18 -
[13] - Quote
Thanks Fox for addressing this one; - Fixed a defect in the Alliance resource where if the executor corp no longer existed the resource would fail to be parsed. Fixing this means the executorCorporation field is now optional.
I will test later with some that used to give the 500 error. |
Risingson
99
|
Posted - 2016.01.04 19:24:48 -
[14] - Quote
CCP FoxFour wrote:- Exposing a characters location with the charactersLocationRead scope and a cache time of 10 seconds. !! THIS CACHE TIME IS SUBJECT TO CHANGE !!
is the cache time likely to get shorter (4 sec) or longer ? thank you for your work. |
|
CCP Tellus
C C P C C P Alliance
31
|
Posted - 2016.01.04 19:35:20 -
[15] - Quote
Risingson wrote:is the cache time likely to get shorter (4 sec) or longer ? Depends on how much people yell at us.
|
|
|
CCP FoxFour
C C P C C P Alliance
4214
|
Posted - 2016.01.04 19:35:58 -
[16] - Quote
Risingson wrote:CCP FoxFour wrote:- Exposing a characters location with the charactersLocationRead scope and a cache time of 10 seconds. !! THIS CACHE TIME IS SUBJECT TO CHANGE !! is the cache time likely to get shorter (4 sec) or longer ? thank you for your work.
It is more likely to go up but I am hoping after some optimizations made today we can actually go lower. Just need to see what this does to load on TQ. TQ behaves so differently than anything else. :(
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
Max Kolonko
WATAHA. Fidelas Constans
582
|
Posted - 2016.01.04 20:08:39 -
[17] - Quote
CCP Tellus wrote:Risingson wrote:is the cache time likely to get shorter (4 sec) or longer ? Depends on how much people yell at us.
find two closest stargates in one system, take very fast align/warp ship (taxi ceptor for example) and see how fast he can get from system load in that system to system change while jumping to next one. This should be absolute maximum this timer should be imho.
The idea is, that once You jump into the system there have to be enough time for cache to clear to catch that You are in new system before jumping to next one. I want to plot LIVE movement of my entire corp on map :)
Read and support:
Don't mess with OUR WH's
What is Your stance on WH stuff?
|
Max Kolonko
WATAHA. Fidelas Constans
582
|
Posted - 2016.01.04 20:32:38 -
[18] - Quote
Btw, what kind of rate limit Are You guys planning for it? Can I for example have 100 persons loggged in into my app and check their locations every 10 seconds? Or 300? Or 1000?
Read and support:
Don't mess with OUR WH's
What is Your stance on WH stuff?
|
Risingson
99
|
Posted - 2016.01.04 20:35:16 -
[19] - Quote
CCP FoxFour wrote:It is more likely to go up but I am hoping after some optimizations made today we can actually go lower. Just need to see what this does to load on TQ. TQ behaves so differently than anything else. :(
when i thought about those upcoming changes i thought of why not have the eve client tell stuff via a localhost? that would mean instant info and no TQ load at all? i am a dummy at such things so i don't know about the technical sides of that brainstorm though.
|
|
CCP FoxFour
C C P C C P Alliance
4214
|
Posted - 2016.01.04 20:36:35 -
[20] - Quote
Max Kolonko wrote:Btw, what kind of rate limit Are You guys planning for it? Can I for example have 100 persons loggged in into my app and check their locations every 10 seconds? Or 300? Or 1000?
Should be fine. We will toss 503's if you start doing to many requests and we can evaluate the rate limit at that time.
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
|
Squizz Caphinator
Primary.
179
|
Posted - 2016.01.04 21:38:39 -
[21] - Quote
Max Kolonko wrote:Btw, what kind of rate limit Are You guys planning for it? Can I for example have 100 persons loggged in into my app and check their locations every 10 seconds? Or 300? Or 1000?
Just fyi, zKillboard hits the CREST api on a consistent 50-100 per second basis and has no issues with rate limits. I could probably increase how much I hit CREST and still be ok.
Various projects I enjoy putting my free time into:
http://zkillboard.com | http://evewho.com | http://skillq.net
|
narthollis
SUNDERING Goonswarm Federation
0
|
Posted - 2016.01.04 22:50:11 -
[22] - Quote
Risingson wrote:CCP FoxFour wrote:It is more likely to go up but I am hoping after some optimizations made today we can actually go lower. Just need to see what this does to load on TQ. TQ behaves so differently than anything else. :( when i thought about those upcoming changes i thought of why not have the eve client tell stuff via a localhost? that would mean instant info and no TQ load at all? i am a dummy at such things so i don't know about the technical sides of that brainstorm though.
Talking to localhost from a website is a pita, particularly if your website uses SSL/TLS (and there is no reason these days why it shouldn't) |
Max Kolonko
WATAHA. Fidelas Constans
582
|
Posted - 2016.01.04 23:53:30 -
[23] - Quote
Squizz Caphinator wrote:Max Kolonko wrote:Btw, what kind of rate limit Are You guys planning for it? Can I for example have 100 persons loggged in into my app and check their locations every 10 seconds? Or 300? Or 1000? Just fyi, zKillboard hits the CREST api on a consistent 50-100 per second basis and has no issues with rate limits. I could probably increase how much I hit CREST and still be ok.
I'm well aware. But its public. For private You have to make separate connection for each request (diffrent player / diffrent token), unless I'm missing something obvious
Read and support:
Don't mess with OUR WH's
What is Your stance on WH stuff?
|
narthollis
SUNDERING Goonswarm Federation
0
|
Posted - 2016.01.05 00:05:11 -
[24] - Quote
Max Kolonko wrote:Squizz Caphinator wrote:Max Kolonko wrote:Btw, what kind of rate limit Are You guys planning for it? Can I for example have 100 persons loggged in into my app and check their locations every 10 seconds? Or 300? Or 1000? Just fyi, zKillboard hits the CREST api on a consistent 50-100 per second basis and has no issues with rate limits. I could probably increase how much I hit CREST and still be ok. I'm well aware. But its public. For private You have to make separate connection for each request (diffrent player / diffrent token), unless I'm missing something obvious
You should be able to utilise the same connection(s), different character/token is just a different header, which you should be able to set per-request. |
Kelath Erebus
T.I.C Solyaris Chtonium
1
|
Posted - 2016.01.05 03:59:58 -
[25] - Quote
narthollis wrote:Also, FoxFour: Is there any chance we could get the current ship the user is in as part of the current location endpoint?
What narthollis said. Getting the current ship with the location endpoint would be really useful. |
Pete Butcher
KarmaFleet Goonswarm Federation
305
|
Posted - 2016.01.05 05:22:30 -
[26] - Quote
Any chance for bulk market order import? It would be better for both the client and the server to make just one request to fetch the market for given region/types instead of thousands. And we know how fast that currently works
http://evernus.com - the ultimate multiplatform EVE trade tool + nullsec Alliance Market tool + Trade Advisor
|
|
CCP FoxFour
C C P C C P Alliance
4215
|
Posted - 2016.01.05 08:09:05 -
[27] - Quote
Pete Butcher wrote:Any chance for bulk market order import? It would be better for both the client and the server to make just one request to fetch the market for given region/types instead of thousands. And we know how fast that currently works
I will bump that higher on my priority list to look into. Not for this release as this release comes out next week and I am already getting stared at for putting these changes in so late. :)
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
Jarno Midumulf
Riders of Sleipnir
11
|
Posted - 2016.01.05 08:29:54 -
[28] - Quote
what is this madness?! is it Christmas again?
CCP FoxFour wrote: It will return an empty dictionary of the character is offline.
is it possible te return the last known location when a player is offline? this is already in the game so why not add it to crest? (corp -> members -> location) |
|
CCP FoxFour
C C P C C P Alliance
4215
|
Posted - 2016.01.05 08:39:29 -
[29] - Quote
Jarno Midumulf wrote:what is this madness?! is it Christmas again? CCP FoxFour wrote: It will return an empty dictionary of the character is offline.
is it possible te return the last known location when a player is offline? this is already in the game so why not add it to crest? (corp -> members -> location)
Possible yes, but at this time I am trying to keep this resource as light as possible. Right now the request goes something like this:
Internet (and whatever load balancers and such network ops has) -> NGINX -> CREST proxy (at this point we verify the character in the authorization header matches the requested character, the token should have been looked up and cached, we then use the character ID to determine which sol node to send the request to, at this point we are doing all in memory lookups) -> sol node running the character manager for the requested character (at this point we look to see if a session belonging to that character exists on this node, if it doesn't we return None, if it does we pull the solar system from the session) -> CREST proxy (format the response) -> back to the NGINX (cache the response here) -> internet
So at this point in time we are getting away with completely in memory information, a few simple dictionary lookups, and that is about it. If this is the first request for a given authorization token we need to make a network hop to the SSO to make sure it is valid and then we cache that response for a few minutes.
Getting the characters location at time of logoff would require a DB dip. :( Considering how much we expect this to get hit I am hoping to avoid that at this time. You can get that information from the XML API on a slower cache time.
When we expose more resources in CREST we can look at getting that information moved over in a more sane manner. Just not this resource at this time. :)
@CCP_FoxFour // Technical Designer // Team Tech Co
Third-party developer? Check out the official developers site for dev blogs, resources, and more.
|
|
Jarno Midumulf
Riders of Sleipnir
11
|
Posted - 2016.01.05 09:22:01 -
[30] - Quote
CCP FoxFour wrote:Jarno Midumulf wrote:what is this madness?! is it Christmas again? CCP FoxFour wrote: It will return an empty dictionary of the character is offline.
is it possible te return the last known location when a player is offline? this is already in the game so why not add it to crest? (corp -> members -> location) Possible yes, but at this time I am trying to keep this resource as light as possible. Right now the request goes something like this: Internet (and whatever load balancers and such network ops has) -> NGINX -> CREST proxy (at this point we verify the character in the authorization header matches the requested character, the token should have been looked up and cached, we then use the character ID to determine which sol node to send the request to, at this point we are doing all in memory lookups) -> sol node running the character manager for the requested character (at this point we look to see if a session belonging to that character exists on this node, if it doesn't we return None, if it does we pull the solar system from the session) -> CREST proxy (format the response) -> back to the NGINX (cache the response here) -> internet So at this point in time we are getting away with completely in memory information, a few simple dictionary lookups, and that is about it. If this is the first request for a given authorization token we need to make a network hop to the SSO to make sure it is valid and then we cache that response for a few minutes. Getting the characters location at time of logoff would require a DB dip. :( Considering how much we expect this to get hit I am hoping to avoid that at this time. You can get that information from the XML API on a slower cache time. When we expose more resources in CREST we can look at getting that information moved over in a more sane manner. Just not this resource at this time. :)
well.. if its in the xml api then you don't need to do a db pull right? or you could do a db pull and then set a longer cache time? (and clear that cache when a character enters the game)
but this basically means we have to do a xml pull if we get an empty result back, thx for the answer!
|
|
|
|
|
Pages: [1] 2 :: one page |
First page | Previous page | Next page | Last page |