#tooldev-general
1 messages ยท Page 38 of 1
I'm just trying to come up with ways to make it better
I still regularly find items that have already been sold somehow
but I don't know how I could get any faster
I've asked people how much quicker someone else had messaged them
sometimes it's whole seconds
much longer than the time it takes me to hit ctrl+v<enter>
probably just has to do with the cadence of when they're doing a fetch from the API
since we can only poll every 1.5seconds
if an item gets added within that 1.5 seconds they could potentially see it first
I think it's as good as it can get without using any sort of nefarious tactics like market manipulation
anyone familiar with making an item filter from scratch?
or does know if there is "AND" condition in item script
@waxen lark https://pathofexile.gamepedia.com/Item_filter
Stash API problem: maps and map names for magic maps can have prefixes and suffixes mixed with the name of the map, and no other way exists to detect if an item is a map or not apart from parse-voodoo.
Shouldn't map items have params identifying it's base map name as well as it's shaped bitflag?
I'm seeing a lot of mixed variable uses in the API, which goes against coding standards tbh.
frametype can mean magic,rare or unique but it also indicates if something is a prophecy or a div card. But because maps can have different frametypes we can't use frametype to identify maps
(as being maps)
...
looking for the keyword map in the item works all times except for one prophecy so perhaps that is reliable enough...
building a master map word list instead of trying to dynamically identify items as maps in the stash API
let's hope rare items don't use one of the words in the map list! lol
they should have the map name in their base item tag
@normal idol check out the property "typeLine"
{
"verified": false,
"w": 1,
"h": 1,
"ilvl": 83,
"icon": "http:\/\/web.poecdn.com\/image\/Art\/2DItems\/Maps\/AtlasMaps\/Shrine3.png?scale=1&w=1&h=1&v=d08e981dc904a48962e2ec8d4f5177c43",
"league": "Breach",
"id": "a528285453dbfda16fea710ed8c9c716e92302b62fb26ee2033b52711d78e86e",
"sockets": [],
"name": "",
"typeLine": "Shrine Map",
"identified": true,
"corrupted": false,
"lockedToCharacter": false,
"note": "~price 5 chaos",
"properties": [{
"name": "Map Tier",
"values": [["14",
0]],
"displayMode": 0,
"type": 1
}],
"descrText": "Travel to this Map by using it in the Eternal Laboratory or a personal Map Device. Maps can only be used once.",
"frameType": 0,
"x": 3,
"y": 9,
"inventoryId": "Stash44",
"socketedItems": []
},
that's the thing. if the map is magic, its prefix and/or suffix is also in typeLine
that's correct, you have to do name voodoo
that is true for any base item
also don't forget if you do name voodoo, there are some hoops to jump through
can't remember specific examples, but like you might have Shrine Map and Deep Shrine Map that are different levels, so you need to look at the tier and the name
you can also use the icon url but that won't work with uniques
it's very expensive at scale, I think base item type determination was the most expensive part of item indexing by far for me
What is the URL for the Atlas website? where you can simulate an Atlas?
thanks! hah
i just use longest substring match
the stash tab api is an afterthought, the json data originally was intended for display on forums (tooltips), i think that's pretty clear
that's why it's kinda shitty to parse
Most of the apis are for display use
Most of the time they have just been forced into working for developers or we force the apis to work for us
something I plan on addressing at some point ๐
trade enhance part 2?
Hopefully a real api lol oauth would make everything easier too
oauth for login and private stash search?
oauth is high on my personal list yes
Niiice
Wish List
- Separate the affix from typeLine
- Add ItemClassesID
- Separate the mod string and value
@mortal bone I've approached CW about this and I get that GGG is way too busy to mess with the API right now. Hopefully in the future we can perhaps as a community come together and present a wish list for the API. My #1wishforAPI would be that an ontologist is hired so that you can point at some object and the traits of that object are standardized over the whole API so that the thing can be fully normalized; this alone would cut about 980mb/hr out of the river.
@mortal bone ^
Well, the river, as xyz said, is an afterthought
The api definitely just needs an overhaul, and it seems like novynn is on it
On Jan 25, 2017, at 8:33 PM, Chris Wilson chris@grindinggear.com wrote:
I think that it's unlikely that the team would overhaul how the API works
at this stage, so I'd recommend not spending time on a doc just for us.Chris
I offered to freely consult on it.
<-- stashi.org dev btw
Seems like it's changed recently which is good news! ๐
I'm not talking about changing how it works, just how it is presented
I had suggested a method to get a public stash list from using a user acct name, so we could read a smaller number of stashes for users and save our bandwidth bills.
Stashi.org will have to accept copy/paste data from users for their stashes because we've decided against using the php sessid due to potential social engineering vulnerability. Users should not be handing out phpsessid to anyone but the site it originated from, imho.
such a thing would be solved with oauth into the private stash api and just filtering into only public stashes from there
that would be beautiful and elegant
wouldn't oauth prevent users from hiding their profiles from 3rd parties they gave oauth to?
no, you can control which sections of information you give with oauth
like if a user didn't want you to have certain parts of their profile they could refuse access to that part from your tool
ahh cool so they can give us access to their stashes but not their equipment, characters or build trees then
neat
yeah, although as the tool maker you could require that and refuse to work without it of course
ladder data will be critical for us
but
I'm a user>tool proponent
users are first
to use our site they only need to give us their stash they want to check
this will help us prevent xxs on our end because the copy/paste json from a user opens more of a vulnerability than getting the data from a trusted source
not much more but bulk data is always better from trusted sources
OAuth is probably one of the things that would make everything better. The current system makes users give a lot of control over to tool developers (like the entire account)
Kind of a shitty situation
@compact isle would it be possible to someday expect a river API that is more normalized? ie: record id numbers instead of raw text and a single document giving us the record ids? ie: instead of "Shaped Shore Map" could be "224" if that was the id in the doc. This kind of thing could dramatically lower the load of the river for some of the smaller devs and speed up our read time too.
probably not to that extent, but when I was talking about improving the item json then it would also affect the river formatting too
It would be awesome to have a database ontological specialist go through and fully optimize it all but I get it if it's just too much work right now.
I'm keen to see the improvements. Are they slated for a particular release date or just bubbling in the cooker atm? ๐
๐ ๐ ๐ ๐
...affixes alone though... there are like only maybe 700 different possible affixes total once you reduce them into simple strings (eg. %30 to fire resistance). Can you imagine how much data would be reduced if we had a table of those rids instead of the full affix. Then the values could be chained as [val1,val2] as there are only ever two values in each affix field.
very much looking forward to the result
so %30 to fire resistance becomes: 443,30,0
over the whole river that is at least 1/2 the data
jwt ๐
@normal idol: if they had an official API to their data you could just expose the foreign keys to the mods and the values there and you pretty much have what you suggested, I vaguely renember someone from GGG saying though implementing that isn't as straight forward
Also there are much more then 700 mods
Also if you're at the ponit of "reducing" things you're already close to what the game does, and might just want to have the stats on items exposed prior to translation (which again, could just link to a data-api list of stats), has some added benefit that this is language neutral and makes sorting/searching for some things easier, but at the same time would end up needing at some point processing them to display them to the use
I think they just want a smaller payload
You could have all the definitions sent on the first grab (ID=00000...). This would still be language neutral. Displaying them isn't a problem. Basically what is being described is a hash of the actual mod which means we have an O(1) look-up at display time
@normal idol are you using gzip on the river?
@obtuse citrus just to clarify, I meant rare affixes and including corrupt, implicit and explicit affixes there are less than 700 distinctly worded affixes. Didn't include enchants because they are a different kind of affix with only 3 varriants per difficulty and soon to be only 2 varriants in all liklihood. Standard will have older unuused and legacy affixes probably available but these are name strings only, without any conditions associated. Not sure what your background is but if you're a computer programmer, you'll consider that knowing distinct strings that identify an affix can mean normalization is therefore possible and those affixes don't need to be repeated in the river or in stashes. They could be a 700 item list with record numbers that reduce the amount of data being sent out, which saves everyone money including GGG if it's implemented. However it may be more expensive for processing power if the engine is still using un-normilized (UNF or 1/2NF) data (which it appears to be, or at least it's not a 3+NF database, or GGG could easily export normalized API; since GGG cannot do so easily and have repeatedly said it's difficult to do so, then and therefore the data is likely UNF or 1NF or possibly 2NF only).
i just wish we had some information about any changes coming to trade
might make some of our development efforts unnecessary
even saying "nothing is coming" would be better than no info at all
@wind garden CW has told us that the API is a permanent feature because GGG sells public stash tabs which can be interpreted as that there will be zero changes to the fundamental trade system that would affect 3rd party tools apart from changes in syntax and data.
but that doesn't mean there won't be some new feature that makes the API obsolete
simply stating that they won't break backwards compatibility doesn't prevent them from adding new features
@mortal bone We won't rely on the river for our usaage. Our data will come from poe.ninja who have kindly posted APIs for people for pricing commodities. Stashi.org will process the equipment in use from ladder players and our user stashes for all our needs and then we will release a DEMAND FACTOR for each affix and the synergy of certain affixes based on the meta/ladder data.
did poe.ninja post the api publicly?
@wind garden CW's wording was pretty much concise enough that it meant they value 3rd party as a model and won't deliberately break it.
or only on request?
what is stashi btw?
you can swap the string between Get<string>Overview to get all the different items
lol corp firewall blocking that link
@normal idol then you don't really rely on GGG
I am confused here
You want changes to the api, but you are using a third party?
@wind garden Stashi will batch parse our user's stashes and let them know what stuff is worth, but we're also working on a way to perform valuation for rare affixes;
You also might want to be careful to not crap on someone else's bandwidth either
@mortal bone the syntax changes would also apply to the JSON they use in stashes
ok so that's why you want API changes to fetch individual player stashes
They already have that
We've talked directly to poe.ninja about pulling their data on chron maybe a few times
The user just needs to log in lol
right....
we wouldn't need their stuff at ninja for like more than a few times a day
but we were talking yesterday about oauth
oauth would be nice really really nice
right
Either one
We simply won't use the session key. It's too much of a risk for users and we don't want our db targeted for those keys. lol
Oauth though is really nice
you keep referring to 'we', is there another member of discord here that you're working with?
bc it would be only be for stashes and ladder we would use
not on discord -- my old guildies and irl friend too
i see
You don't need to store that information
And you shouldn't
You can have a user login without ever hitting your server
It will depend how ggg codes it.
They may do a public key, which 3rd party can store and it would be for that 3rd party alone.
OR
You can do it now
poesessid is private key
You can either have your user grab that (like most applications) or you can have then login
Then grab it yourself
Store it on their machine
Until we get oauth, the users will need to be logged in themselves to pathofexile.com and then copy/paste their stashes so we don't handle their session stuff.
it's the way poeprices.info does it
This is a web app?
can see why you wouldn't want to make yourself a target....
You can use javascript web sockets
Would you not just post data to a processor?
but I won't bore you.
And many would write a novel why not to write php ;)
haha touche
obviously the solution is to use coldfusion
for our uses it's enough
I understand you don't want your processing code to be public, but you can do a lot in the user's browser
I'm an old timer open source guy. We'll release our info up to the point of how we arrive at solutions to the public.
I also prefer heurristics to complex certainty; it only has to be "good enough"
Sweet, open source is best.
as well as releasing our rare affix valuation info
I'm an old time slashdotter too! ๐
only if you feed trolls
every time i read something on slashdot I look at the comments and it's just a ton of people complaining or criticizing
sure but nobody ever says, "wow that's cool, can't wait!"
instead it's, "it probably won't work" or "they spent too much on this"
That never needs to be stated, imho -- if something is good enough people use it. If it isn't they shouldn't cry about it !! haha
My fav slashdot comment was the why spam solutions won't work checklist
which, oddly enough, i don't find as negative
em prolly knows -- haven't used c since college
oo looks like there's a log4cpp
do you guys know the requirements for releasing binaries that use LGPL libraries?
in other words, does it require you to release source code with it
GPL is pretty much always requiring full source code disclosure but if you go with creativecommons instead you release whatever you want; but yeah anything released using a subcomponent covered under GPL must also use GPL
it's an unbreakable chain
yes for GPL
but as I understand, Lesser GPL (LGPL) allows you to not release your source as long as you dynamically link to the LGPL library
Non-judgmental guidance on choosing a license for your open source project
Solid resource
very much
You must disclose source with lgpl
I pref GPL ๐
i'm talking about a non LGPL program linking to a LGPL library
"The main difference between the GPL and the LGPL is that the latter allows the work to be linked with (in the case of a library, 'used by') a non-(L)GPLed program, regardless of whether it is free software or proprietary software.[1] The non-(L)GPLed program can then be distributed under any terms if it is not a derivative work."
As long as you use the LGPL product as a black box then you can have closed source code
As long as you disclose that you are using such software
alright, that's what I was wondering
As soon as you make modifications to the LGPL product you must disclose source
right
It's always better to release everything there is so people can debug and improve it.
Although some proprietary components can save you a lot of time.
ya, my asking wasn't related to PoE though
They can also cause a lot of hassle.
i'm at work right now ๐
and open your product to vulnerabilities
Most really complicated things can be simplified extensively... but style has such an importance today that substance often is missing or neglected.
@wind garden I would go to your legal person lol
Avoid GPL completely if your company doesn't want to produce code lol
googles license just states that your source files need to include their comment block disclaimer saying "this code is used as is"
google's libraries are amazing btw
if you've ever looked at protocol buffers or gRPC
aaaaand they have no documentation at all
great....
oh nevermind
found it
Google is generally pretty good with documentation
You can use LGPL just fine as long as you just use their binary.
ya that's what it looks like
but I think this google library will work out just fine
less hassle
Does anybody know when public stash tabs were available the first time? More exactly the time of the first result set from the river.
Also, what's the time interval between two result sets?
well public tabs were anounced like in march last year, don't know when they went live
@pseudo ocean : https://redd.it/48i4s1
it doesn't really matter
the first result from the river is NOW
you don't get a historical run of it if you access it now, you only get what's available now
if you're just curious from a historical perspective of when the API first became public, um....
March 1 2016. But again, if you start pulling data now, you're not pulling data from Mar 1 2016, you'll pulling data from right now.
there is also no time interval between sets, it's giving you chunks at a time
(and I just realized chuanhsing already linked that, haha)
Sorry if I am wrong here, but is there an offline planer tool working on linux?
yeah it seems it uses a lot of windows libraries. I think i"ll use Wine, thanks!
Yeah, no problem. .net 4.6 is supported in wine, so I would hope everything would work
Would mono work?
If mono is updated
You can run a check on the source with some tool (forgot the name) where it will tell you if it can
We may use a few features or libraries that aren't supported (like the UI)
@compact isle can you see if it would be possible to add some sort of indicator to items in the API to show whether they're relic or not?
unless it's already planned for
can only imagine having relic and non-relic items looking identical exceppt one has better stats
or better yet, only difference being that display integer to show that it should be displayed as foil instead of orange lol
They have a new frametype to indicate they should have the foil frame
so that's the only change?
i mean, it's usable, but not exactly clean
i guess if you dont' want to change the schema...
Mono didn't support Windows presentation foundation last time I tried to run one of the planners on linux
aww
"At this point, no group in the Mono project has plans to implement Windows Presentation Foundation APIs as part of the project."
Rip switch to qt
probably unnecessary since microsoft is working on .Net-Core
Tru
soon it'll natively support linux
assuming they implement wpf
or maybe something new
Wine supports almost everything at this point
And net core is basically the new mono
I was trying to edit
Fat fingered
does it abstract windows APIs to linux ones then?
But yes wine is a layer which takes windows commands and converts them to Linux commands
k
It's a cool inbetween layer
i remember playing PoE on my macbook pro with wine
it was pretty rough but that was more because of my graphics card
and this was before all the perf improvements to poe
I think there is a wrapper somewhere on the forums about it
ya idk if it's been updated
at the time it was old with a sort of disclaimer saying "It should still work"
No idea; I don't own a mac
i wanna see stuff using Vulkan and running on Clear Linux or SteamOS
that would be sick
Why does the public stash api return empty stash tabs?
because it's the diff between the last time that person updated their stash
it's how the indexes can see when something is no longer for sale
so someone had something for sale in their stash tab and then they removed it. Once they remove it a stash update goes out with an empty stash
i think if you start consuming it from the beginning there's actually a huge section in the middle where it's just empty tabs
@chrome topaz yes, been though that and got a little paranoid thinking the indexer is flawed ^^
@wind garden Never though of it that way, mainly because at the moment i'm just messing around with actual item processing and i didn't get to the part where i need to remove them ^^
I think all the empty tabs are void league tabs being deleted. @compact isle explained it once
if they don't have an account name then they're voided yeah
there's a tag in the JSON data that indicates if it's a removed tab iirc
Man, WPF in C# does some things so well and other things are just insanely complicated for no reason. Microsoft lacks consistency. For instance, in WinForms they previously had a NumericalUpDown box for integer input. In WPF they removed it and didn't include any equivalent. Why?
Use a UI library on top of it. E.g. MahApps.Metro looks great and has a bunch of additional controls.
Ya I know there's options. I just don't get Microsoft's decision making
like, if you want to make a window that doesn't have the min/max/close buttons on it. The only way is to use a pinvoke Win32 API
Why isn't that part of the framework?
The seem to like making partly finished UI frameworks and then abandoning them. Isn't there like UWP or someting now?
ya
think it was intended for mobile
but we all know how popular microsoft phones are
UWP is for the App interface that microsoft is pushing
Xbox, Windows Phone, and Windows Store
playing around with the stash API, trying to figure out what a number is. It's stashes->items->properties->values[0] (whats that second number?)
Example would be:
{
"name": "Quality",
"values": [
[
"+17%",
1
]
],
"displayMode": 0,
"type": 6
},
is there any docs out there on this that I'm missing? or just tribal knowledge?
I initially thought it was a placeholder. But I'm guessing the order of those values are the placeholder now. Regardless, I definitely appreciate the response. ๐
@leaden cedar : https://redd.it/48i4s1
Mostly tribal knowledge
cool cool, I may ask a decent bit of questions, I'll document it somewhere and put it online
no docs
no docs as in there are no docs? or no docs as in saying you wouldn't want me to document?
I would throw them on the wiki
another thing that I should probably do at some point
writing documentation is easy, writing good documentation is not
lol
why wouldn't i want you to document
what a weird question
i wonder if ggg even has internal docs for that
I would hope so
I would hate to see @compact isle come in and have to learn it all from what he sees us do lol
I'd recommend editing the wiki to document it if this is user documentation
as novynn said the problem is mainly how ot make the documentation decent enough to understand, I think it's a bit annoying with how nested json can be to properly reflect that in documenation
I've seen some successful documentation where it breaks nested json down into parts
but yeah I don't think our format could be reflected very well
On the other hand, poor documentation is better then no documenation at all ๐
this is also true
Anyone want to make first shot https://pathofexile.gamepedia.com/Public_stash_tab_API
unless it is wrong
I think the skill tree one is relatively updated
although, I may go through and clean it up
the official documentation for the public stash tab api is pretty poor
Is there really a need for the structure to be that large?
it'd be great to document what in the json response can be used as an identifier. afaict from what little docs there are theres no way to identify a stash tab from two separate requests as being the same tab since the id changes when something in the tab changes?
stash ids don't change
I had modified the https://pathofexile.gamepedia.com/Public_stash_tab_API
stash id on the item or the id field in the stash object @compact isle?
When you update an item in a tab, or update the tab itself it's ID will take the next available one from the pool on that server shard (the old ID is discarded, and never reused).
implies the id changes.
it's change_id
sorry that part is badly worded ๐ฆ
stash ids shouldn't change (ever as far as I know)
item ids will change depending on who is holding it, or if it gets stacked with something else it can be destroyed / reset to something different
so the actual ID for the stash tab never changes? that would make sense and be helpful but didnt seem to be what was described by the sparse docs ๐ฆ
and i hadnt finished indexing enough to see a collision (or trigger one myself with a known tab)
still very much in the "what does this doooo" phase of looking at writing some tooling haha
The stash tab id remains the same for the same stash tab, yes.
So you can use it later to update the contents when you receive that id again.
sweet, thats how i was treating it. glad to hear its just a confusing doc!
Hello, can I get the exact syntax used when copy/pasting items somewhere? I'm working on a Price Checker because I'm bored at work and can't find that... Thanks in advance
going back a few hours, when it comes to tribal knowledge on the item JSON data, the exiletools stuff is fairly out of date but some of that is universal and may be worth checking when wondering about things. So, for example, while it doesn't answer the specific question above, next up if you're looking for Elemental Damage you might find data in that project, i.e. https://github.com/trackpete/exiletools-indexer/issues/62
there are a lot of basic explanations for stuff if you search the issues or repo, things like item rarity and whatnot
That's pretty great resource, thanks.
just keep in mind while most of the JSON data is the same, there have been some fundamental changes here and there ๐
@floral dawn I'm getting "Rate limit exceeded" on the league list API
http://api.pathofexile.com/leagues?type=main&compact=1&limit=4
is that because of me or because there's too many people in general?
it's specific to you
IP based rate limiting, on most of the standard API endpoints they don't want you to hit all of the endpoints combined more than X times per Y period
k, that's really strange though
that's not an API I should be calling often
must have just been a bug in my code, seems to be fixed now
if you're hitting the ladder often too it'll trigger the same rate limiter since they're on the same stuff
I believe all the apis, except stash tab, are 45 requests per minute.
ya I must have had some sort of issue where it looped constantly on failure
I found a couple of issues that I fixed this morning though
I rewrote my app this weekend in WPF and converted everything to use TPL. So there were a few bugs heh
@chrome topaz would it be possible to enable user accounts on poe.trade? I'd like to propose some ideas in conjunction with user stash tabs, notibly giving users a way to bundle items they want to sell and advertize on poe.trade and also allowing users to ban sellers that didn't meet their needs is a way of community self-policing too
might want to reword that "allowing users to ban sellers that [...]"
users banning other users doesn't sound right
@chrome topaz considering doing a port of procurement to allow users to build bundles of stuff then send that info in a post to poe.trade so you could handle the searches of this stuff; ie: user wants to sell 50xt13 maps for 100c... or if they want to save all their leveling gear into one bundle and have one price for that bundle.
@pulsar moat ban is definitely the word; but it's only banning within the user's own scope (ie: blacklist or block list)
I think 'block' is more appropriate here
it would certainly clear up the noise pollution from the river to have user accounts on poe.trade
I was planning to do something like this on stashi.org however the amount of bandwidth is simply outside our budget. poe.trade is already reading the river so they are the ideal candidate to take this on unless someone else is interested...
Instead we will probably fork procurement to read a user's stashes and give them the ability to build bundles pretty fast using either set prices or prices populated by poe.ninja on commodies as well as using our own data regarding rare affix demand values.
Just looking at how it would be best to list the bundles.
Emailed CW about it and his response was that bundle prices for a stash is a good idea but GGG lacks the HR power atm to rework it that way... by letting users set a bundle price on a public stash for everything in that stash, or to add some vendor sold item to allow allow users to bundle together items under one bulk price, so they can be stored bundled in a public stashes and traded with one click to up to the size of the trade window.
thinking it would be cool to have a bundle of all the challenge league items you would need for one price, a bunch of maps, a slew of div cards, a full ES set for a build, a proph chain set... etc
there is a problem with bundling stash tabs though: you can't trade it in one go
12x12 vs 5x12
2.5 trade windows is a lot of trust that most people don't have
@mortal bone You're right. We intend on splitting up the stuff read in a stash into bundles that are max trade window size, so that a trader can quickly alt tab and see what needs to go in each trade window, and for what price. It's easy if you're trading maps to just build 60xmap bundles. Same with prophs. Items that are stackable will have to also be handled. Perhaps an auto hotkey app can be coded so when you get a trade whisper for a bundle it will show you what is in the bundle. That's in the works but still very much in early development.
@mortal bone I had also suggested to CW that a new 60x60 tiled bundle container be sold at vendors to allow players to add things to it so it could be stored in the stash and given one price for the river.
poe.fyi is back, cloudflare yesterday was pretty destructive D:
is poe.fyi just like a wiki resource only for gems?
it also links to poe.trade for those gems
@wind garden yep, there is more coming though
Anyone know if there's any other trade utilities like Acquisition and, Procurement?
Working on stashi at the moment.
We will be a little similar to procurement except scan your bags to price them against poe.ninja data and also rare affix demand values.
Probably won't be done for this league.
bags?
lol stashes bro
Any of you guys ever used Xamarin for mobile app development?
is VisualGGPK the only way to unpack the ggpk file?
nevermind, figured that out
now I'm wondering about licensing
does anyone know what GGG's rules are for using and distributing their audio files or other content collateral?
someone suggested I make a soundboard app that plays character dialog clips
I'm guessing that's against some license but does anyone know for sure?
All content unless stated otherwise is termed All Rights Reserved. You would need explicit permission to use the dialog clips as it's GGG's Intellectual Property. There is however the whole "remix-round-about" you can use to void copyright.
meh, it's not super important
just wanted to make something for fun
I'd rather just make something useful that doesn't conflict with IP licensing
not saying the copyright isn't important, meant that my app idea wasn't important
GGG is pretty open with licensing, considering how much they support fan creations, you probably wouldn't run into any issues. I would ask them just incase, but they would probably give you the go ahead.
ya i already emailed support
As long as it's not for profit, you should get the go ahead.
^that is key. As long as there is no profit, or you get permission to make profit, you should be golden
@wind garden: You can use PyPoE to unpack the ggpk as well
Have the calculation for the life been remade? http://pathofexile.gamepedia.com/Life
does anyone know why cloudflare had passwords stored anyways? I thought it was just a gatekeeper
they didnt
the issue was stuff in cache and memory was dumped into pages being served to someone else
Ah, so there was a lot more than just passwords leaked
talk about single point of failure
yep
Things like this happen all the time. This isn't the first time a massive leak like this has gone unnoticed for years
cough google
(as a company, not to search)
even hotmail had a xss exploit unnoticed for many months
This doesn't happen all the time. Cloudflare is by far the largest reverse proxy and man in the middles do many SSL connections on the internet now. To leak decrypted SSL traffic in random requests that were then cached is basically the worst. Just because google and Bing or whoever cleared their caches doesn't matter because your leaked data might be sitting in petabytes of data governments dedicate to spidering the web. I'm not even going to think about regulated sites with HIPAA data if they made the mistake of using cloudflare reverse proxies. Hopefully nobody made that kind of decision or its defcon 5 for them
Can anyone help me understand a bit of Aquisition's C++ code?
I want to know how Aquisition notifies poe.trade of an update to the shop.
starting on line 238
looks like it just sends a get to http://verify.poe.trade/threadnumber/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
yw
@mortal bone do you use Mahapps.Metro for poeskilltree?
Yep
actually, no point even asking. It's obvious you do
lol
I just started using it for a project, it's pretty nice
Yep, it is pretty great.
is there any updated tool for the new skilltree allready?
skill tree info comes out tomorrow
oh k ty
Hey, I was thinking about trying to make a tool that reads out the current Life, ES and Mana in realtime by reading from the values from memory. I would need to use something like cheat engine to find the location of these stats, is this considered a banable offence?
I would think that it is, but can't confirm
it's against the tos to meddle with the game files
Oh, I was not going to change any game files, just read the hp value out of memory while the program was running, but I won't be doing that then :)
THen I'll have to find some kind of low latency OCR, or figure out a trick to determen the life visually
Image recognition :p
i can think of 2 tools that can do image recognition, but not sure how they would handle running in background waiting for a picture to not exist, cos thats probably the better way to handle this case
also they would probably trigger when you mouse over the health/mana globe
Yeah, the real problem is not getting OCR software to work, but it's getting to to be fast enough to work in real time
-_- i got a working script, that starts beeping when hp globe goes bellow 3/4ths full
its reaction time is about 1s
hm nope, its just the beep delay
@mild obsidian rHermes i used a tool called sikuli, set it on an infinite loop to check if a picture exists every 0.1s and to beep if it doesn't, and the picture was the bottom 3/4ths of the health globe
Oh wow, that is nice, I'll look into that :)
My idea was to make an globe girls overlay, but seeing as they return in 3.0 anyway, it might not be worth the effort.
Yeah, but what I'm talking about here is not just detecting if life is under a certain percent
If the script is to be of any use, it needs to be updated as close to real time as possible and contain the exact life values at the time.
I supposed i could make a lot of picture of the globes and get a very finy granularity like that
well this thing reacts in 0.1s, just the default beep takes a bit cos how the sound file is
well if you want it like that, yeah
this wont get you exact values
Ohh, I could just check if the pixels are set to the healt color. It would be a little worse for es shield, seeing as people have different styles there, but then the visual stuff would atleast be the same.
i'm still in shock i got this working so fast
well "working"
i'm not home so i can't test it in the game
I hadne't heard of sikuli, It seems nice. I was thinking of either using AHK or go, depending on how hellish the AHK scripting would be
I'm not very good at AHK >_<
sikuli is all about picture recognition
i automated a few annoying tasks at work with it
its about find a picture, click on it, or next to it, or wahtever
I'm really excited about the possibility of automating browser through the Chrome Debugging Protocol
It's not in any way stable yet, but it will be fun to see what it can do in the future. But this is getting offtopic, so I'll calm my inner fan girl
interesting, we are using sahi for browser automation at work
and found out about Screenster recently that looks nice
hmm, "simple google search exmaple"... 1.5 pages of code
@mild obsidian this may be of interest https://github.com/trackpete/exiletools-xph-macro
and also confirming, reading from memory isn't allowed https://www.pathofexile.com/forum/view-thread/592979/page/4#p5284492
Esge, go code is seldom shorter than that, due to the built in verbosity of the language. The real advante is not needing any extra software isntalled to drive the browser.
fair enough
Carbo thank you very much, this is almost exactly what I was looking for, I'll see if i can adapt it to my use
Go also produces staticly linked binaries, so it would be as simple as uploading a single .exe to the machine you want to automate and run it.
Has anyone created a library of poe items yet?
For developing, I mean I know the wiki exists.
Anybody here use the Lutbot macro?
I just downloaded version 141 and when I press F10 to open up the settings, the icon is shown on my taskbar but is nowhere to bee seen on screen.
the logout hotkey works so I know the program is running
Nvm it's fixed. had to restart again
Fastest way to fetch a database (preferably XML) of all base items and uniques?
Aside from the wiki you can also use the game data (i.e. with PyPoE), but it will only have base items. And you probably need to put in some more effort depending on what you need
I think I'm going to port the wiki into a library.
depending on your needs game data might be better (or something based on this, like https://github.com/brather1ng/RePoE ), I think there are existing wiki scrapers already
Interesting repo, looks alright if you dig JSON. Not really my flavour though.
wonder how long before Path of Building is updated
whenever he adds the data
Getting a crash
pm me?
yo emmitt whats up? i havent been able to use the skill tree in months sue to a missing stack trace
will try to reinstall and see if that fixes it but it diddent last time
nope still having issues getting it to run it said there is a missing stack trace in the roaming debug.txt
you should send me the debug
ho would i do that? sory i dont use discord much
*how
found it and sent the debug
thanks
@mortal bone Hey does PoESkillTree not calculate the added damage provided by Herald of Ash on phys builds?
Hm, It's showing me Herald of Ice data, but not Herald of Ash.
Not that it's hard to calculate.
It is possible that Herald of Ice is calced since it is flat damage
Yea, HoI is showing up, but not HoA. Just wierd one shows up and not the other, but oh well no biggy.
Herald of Ice is flat damage which is already calced because of items and such. Herald of Ash is a % added fire which isn't something we have supported
Auras aren't "officially" supported but I think % added works for support gems. I don't think anyone even from us knows what works and what doesn't with that calculation stuff ^^
that is also true. That was put in 2+ years ago at this point
mark_ggg is probably the only one who really knows ๐
I just downloaded and installed the 2.6 version of the PoeSkillTree and when I open it I dont see the new tree and when I try check for updates it says that it is up to date - can anyone help?
i just can confirm that i get the same
does Help -> About say "Version 2.6.0"?
yes
weird, no idea what may have went wrong. downloading the zip release (https://github.com/EmmittJ/PoESkillTree/releases/download/2.6.0/PoESkillTree-AtlasofWorlds-2.6.0.zip) and copy pasting Data/SkillTree.txt, Data/Opts.txt and Data/Assets into your installation's app data folder should fix it (should be C:\Users\UserName\AppData\Roaming\PoESkillTree - Atlas of Worlds\).
no problem!
@mortal bone any idea to fix strange lines. http://imgur.com/6UVLSOH with chinese translation SkillTree.txt
@mortal bone and I can't translate Opts.txt into chinese, got crash
How do I import my saved builds into PoESkillTree??? When I open the program, it wants me to select a build directory that is empty.
Nvm, gotta pick an empty folder then change I guess
@velvet fog ah, those nodes are handled via English because they all start with "Path of the..."
I will need the debug file for the opts problem
@mortal bone : I found the problem, the "name" (Marauder, Ranger) in Opts.txt must english
Yes, sorry about that
@mortal bone: I had revert the "Path of the..." related nodes, but still got strange lines
Hmm, if you are in another class besides scion can you get into its ascendancy tree?
Regex(@"Can Allocate Passives from the .* starting point");
Sorry, we use the stat rather than the name
You could just add a stat to each of them
@mortal bone: thanks! it's work
Sweet!!
hey im looking for a PoE discord bot
preferably something that will do item tooltips and wiki links
not needing it for trading or leaderboards or anything
@cosmic sierra pm user @blocknite he made one in the past
Can't tag him on mobile but if you use the search feature for him in this channel you'll find him
@waxen ridge < there you go
Oh hai there
I did a bot that worked the same as the one on reddit you type in [[Soul Taker]] And it returned you as a reply the Unique (no css)
It also had a picture and I think a link to the wiki, wouldn't be hard to do
I'll have to fire up my old computer to get the code off of it but if you really want it then feel free to ping me and i'll github it for you, fair warning I'm a JS dev so it's in node ๐
Hi guys, when using a loot filter. Should i uncheck the "always highlight" option in the UI, cz my filter doesnt seem to filter out anything, but it does highlight the items. If i uncheck "always highlight", the items show up but dissapeares when mouseovered, which happens alot during combat, im using ziggyd's filter.
@brittle heart i can't remember the exact wording of the options right now. could you ask in #1โendgame-help? this channel is for tool development so not many people watch it compared to the general channels
oekey ๐
is the Path of Building dev in here? (or someone who has used it pretty intently?)
@timid hemlock yes
noticing a lot of lag/resource hog, taking up about 40-50% CPU and having trouble moving the tree around. anyone else experiencing similar issues?
i am using the Portable version, if that means anything
Maybe this is correct place to ask: can anyone upload the new MonsterMapDifficulty.dat and MonsterMapBossDifficulty.dat ?
Is there a reason you can't get them yourself? I can upload them if you want
low on space on this computer and cannot access another computer today
thanks!
Thank you so much!
new dat: MapDeviceRecipes, MapInhabitants, UniqueJewelLimits
chaunhsing, you are the guy behind poedb right?
ya
I noticed you calculated hp values wrongly before, I can give you a more correct method (some rounding errors). But dunno how to pm in here ^^.
and also how I am certain it is correct beyond reasonable doubt.
You got any reddit account or somewhere else I can PM? I rather pm details in private since your site only displays results and not method.
/u/chuanhsing
k thx, will take a few minutes to formulate, but I'll send a message with details there within 30 min
I really love your database ^^.
Im busy on decode new files, can't reply too much now
ya, I just want to help back to a person that helped me so much but without revealing some details about method publically
so it is not in a hurry ๐
@velvet fog I can commit changes to my spec if yo uwant
Actually I just went ahead, just wanted to commit them with the other changes but no harm in committing them by themselves :p
@obtuse citrus: I had finished .dat part
oh ok
looks like ggg never did fix the league API, Legacy isn't showing up in the league list
for anyone looking for the ladders they are at: http://api.pathofexile.com/ladders/Legacy http://api.pathofexile.com/ladders/Hardcore Legacy http://api.pathofexile.com/ladders/SSF Legacy http://api.pathofexile.com/ladders/SSF HC Legacy
not even the devs playing ssf
also, random, but for anyone with a skill tree editor/planner, it might be a cool idea to add something like this: http://i.imgur.com/8JWfL3b.png (from https://www.reddit.com/r/pathofexile/comments/5xc4in/simple_threshold_jewel_placement_picture/)
@velvet fog Ok, my pm to you through reddit is sent. Hopefully the instructions and proof were sufficiently readable. No hurry though.
You are welcome ^^. And thanks for the quick update on the leaguestone affixes, I am drooling already at the chayula mod :3.
prophecy leaguestone with ๐
@pure needle : poedb had applied new life and damage formula, thanks
Nice!
what's wrong with it?
let me check something
oh wait
i think i'm limiting it to 4 leagues
and there's 8 now
Wait...when was the league api fixed?!
it was working at 8am this morning when I checked it
Na, I mean it used to only return dead races
oh, you need to use type=main to get the big boy leagues
.>
yeah it's weird but at least it's usable ๐
Yeah it used to be not usable at all lol
do you guys have a build editor with the new tree ?
pathofbuilding is already updated
poeskiltree as well
try updatimg directX
@livid zephyr This isn't right place to ask for help with bugs and crashes unfortunately
This is more for 3rd party application developers
@compact isle what was the json property to indicate legacy items?
relic I think
oh nice
it's new
isRelic
you guys are the best!, you actually added a unique property
oh it is isRelic my bad
haha ๐ you could've found it with frameType: 9 anyway (typos pls)
my app kept finding me relic prism guardians which are worse ๐ฆ
this is bad though, it looks like poe.trade can't see items that are relics
my item isn't being listed
yeah, will have to wait for xyz to update
I'm guessing because it's an unknown frametype
why wouldn't they show up just like any item though?
it should show up but be indistinguishable
who knows how xyz has his system set up ยฏ_(ใ)_/ยฏ
I'm sure there's duct tape in there somewhere though
i'm stuck with an item nobody can see!
on the plus side, i have an eye of chayula lol
@wind garden what?
poe.trade can't see relic items
I check discord a few times per day so if you have a question just ask and I'll reply when I'm there
hmm what's a relic?
legacy items
ah
I think it's not working because of a new frameType
could be
do you have a json sample?
much appreciated
np, thanks
hmm should relic be another rarity?
why?
all relics are unique but not all uniques are relics
i guess it could work
but it doesn't seem correct
frametype: 9, isRelic: true
yes I'm not sure if it's better to add to "item rarity" box or a separate toggle for it. I think rarity is a better choice though, especially how these items are only available in 1 league
personally I'd go for it as a rarity tier
@wind garden OK, should be fixed
ty
hey i'm using the latest poe trademacro 2.0.1
and i edited the file in my documents
the additional macros .. and no dice =\
looks identical to my old file (in the previous version of the tool)
reinstalled and fixed (i think the naming of additional marcros changed)
for PoETradeMacro, what's the correct string for getting Legacy Softcore searches?
; "tmpstandard" (current SC Temp-League)
; "tmphardcore" (current HC Temp-League)
; "standard",
; "hardcore"```
tmpstandard doesn't seem to work, pulls SSF
any luck?
yep, appears to be working now
sweet!
thanks bro
ha welcome .. i didn't do anything
@fickle yew think poe.ninja is broken
it's not showing currency exchange rates correctly
I think it relys on historical data so it might not be accurate for the first few days
@wind garden It looks fairly normal for a league start for me, what is wrong?
odd
it's working now
it wasn't showin gprices for any currency
everything said 1c
that was it
Ah okay, there was a short while yesterday where a change gave that effect ๐
Thanks for the heads up though.
how many people work for Grinding Gear Games, and helped make PoE?
@frail mountain not really a question for tool dev but they expanded from 60+ to 90+ employees last year
Added relics to poe.ninja ๐
ninja!
is there a ladder tracker?
@mortal bone you were looking at this MercuryTrade app
how does it send input to the game?
i don't see it opening a chat window to type commands
I didn't actually finish looking through it
I had to sleep and do some homework
I was curious as to how myself.
it says no memory injection
Java isn't my first language though, so it is a bit hard to browse
but i don't know how else it would open trades and things
i should look at it, c# isn't too different
still, it should open a chat window, type it, and hit enter
which i'd thing would break the whole "1 key, 1 action" thing
1 key, 1 server action
^
very different
enter, command, enter is 1 server action
I know. I need to look through it, but I am typing up a paper currently. I let it ride because from first glace it looked fine
there's something odd about this source code
i can't find anything that sends input to the game
only chat log parsing
you know
i think it's obfuscated
intentionally
there are files in it that don't decompile
guess it's time to change my PoE password
i posted in the redit page
someone else found parts that are referencing an external server and port
which makes nooooo sense for a local app
and given that it seems to be obviously hiding some things, I can't tell what else it is hiding
the developers explaination for the external server was for automatic updates
hmm, that could make sense
but still doesn't explain how they're sending input
or why the code doesn't decompile
@wind garden are you getting garbage for the handlers stuff?
the decompiler I am using just returns a file with nothing in it
That is concerning
one returned null for the file
the other had garbage
i concluded it was obfuscated
the fact that they don't openly provide the source is pretty damning
there's just no reason not to
unless they're hiding something
They use a keyboard hook, but I can't find where it is used or how
That's not shady at all.
Well, at some point you have to globally hook into the keyboard
espcially if you want to have an overall like that with hotkeys
(program not in foreground type deal)
Yeah, but if you can't find out what it's doing, that's not very good.
It may just be the decompiler I am using
starting up another lol
I am going to message them and see if we can't get un obfuscated code
The more concerning portion of this tool is that it seems to auto-update without confirmation from the user
well that and we can't actually see the auto-update code
we just have to take him at his word that he's using that server update to auto-update and not do something nefarious
either way, even if he is hooking into the keyboard, you'd see something display on screen
which you don't.....
thus, memory injection
@wind garden you mean you don't see the chat box visually appear on screen? that's not proof of memory injection, that's PoE being so slow to start drawing the chatbox that it receives the keyboard input and closes the chatbox before you see it appear.
You can test this yourself with any other macro software (AHK et al) and sending (Enter)/hideout(Enter) all at once. The chat box never appears on screen (as far as I can tell @ 60fps).
I don't trust this app either but don't jump to incorrect conclusions without testing
the files in /lc/kra/system/keyboard/event look like they're from this library https://github.com/kristian/system-hook
yea
Aside from that, it looks like the tool is performing a vertical port scan every 20 seconds.
He showed me the chat code and it is clean
Can confirm.
the dev showed you partial source code?
from an outside observer that just lends more weight to the argument that they have something to hide
they could make this so much easier for themselves.
Yeah, seemed weird
i've written stuff with autoit that did <enter>/hideout<enter>
chat window is visible
then your input is slow
The chat command code is clean
? no the chat box not appearing doesn't make anything look better or worse. it's completely neutral
you saw the code typing input?
One sec
public ChatHelper() {
initHandlers();
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
}
setForegroundWindow("Path of Exile");
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
It looks ok @wind garden
there is more, but it looks more or less the same
mmk
Are you running the program?
Was it scanning your ports?
i didn't check
Mmk
shae said itw as
ya i don't trust it
Seems like it is trying to hit every port
Yeah...
why is that class called Robot?
isn't that a little odd of a name?
why not "keyboard" something
ya
the second I realized there were files that couldn't be decompiled for no obvious reason I stopped running it and changed my PoE password
Well if you look at https://github.com/Exslims stared pages you will see what I mean
which one in particular?
lawl pickit
they were planning to include flask macro at one point. so the original scope of the project wasn't only trade
Yeah
dude, it's totally messing with memory
I will have to boot up a proper vm tomorrow with some tools
yes
created 2 days ago
it's dumped as one commit so you'd have to download and do a diff with a version of the official poetrademacro from before 2 days ago
to know what was "fixed"
Yep
could be a benign bugfix for all we know ๐
How was it messing with memory? Ran the program for a few seconds to capture the screen shot above
Oh ok
don't have proof at all, you mean
Process Explorer should be able to view stuff like that
Or Process Monitor
I don't want to damn them without solid evidence
No reason to kill someone's reputation because of closed source code
It looks as though the port scanning is just poorly implemented update code
It is sending the program version back to the host every 5s
on multiple ports?
They are using a package Netty
Every 20s it looks like a channel does and they just start on a new port
I am not sure as to why, but I think it is just a poorly coded updater
I can paste the appropriate code section here

They don't know why it is happening, so I informed then
fromย etofokย sentย 7 minutes ago
We don't have the pinpoint answer for this. Best guess - this is a part of the server framework we're using.ย https://netty.io/ย this
I believe that, but it doesn't inspire confidence in their product
This was a kludge for something server connection related. It's now reworked, should be fine on next update
From him again
does someone know, how poe.trade creates the url for a specific search? Is there a way to map old searches like this http://poe.trade/search/abaawokumaraet to the new one ?
@wary quarry most likely random, and expires after a set time. it's not deterministic
anyone in here know what i have to do to get filtration's theme editor working?
there are references to instructions in the wiki but ive read it and im not sure im understanding it
if i open up the editor all the buttons are just blanked out
i don't think they expire, i've bookmarked seraches for some time and never had them stop working
they either expire or fail for some other reason (maybe changing leagues?)
but I've seen plenty of old searches that no longer work
I am pretty sure the end of the url is just a hash of the form inputs
That would make sense as a couple that I bookmarked for standard searches VERY long ago still work.
The "expiry" problem would likely just be that the one they're trying to access is an antiquated league and isn't supported in the search anymore, so it pops out the error.
yes
anyonee here whos vamilar with PoB know how to add linked skills to abberrath's hooves?
set the support gems to be in boots
the search above was pointing to a breach sc search
@uneven meteor when you create a new Skillgroup, you can set the gear you want it to be socketed in.
what would the desired behavior be? redirect them to standard?
well, this should work now
they work now! thanks mate =)))
anyway, how do you calculate the url?
what kind of algorithm is this ?
@chrome topaz
i have some that still don't work. if i'm not wrong they were from essence sc:
http://poe.trade/search/hohitariterebu
http://poe.trade/search/akikakikasiteb
something like query hash algorithm
because essence league doesn't exist anymore
I would expect saved searches to stop working once leagues are merged
@timid fable ^^ searches don't work after the league is gone from .trade
i know. read the context
Shit, sorry. Yeah that's a good update from xyz. They didn't work for me either though now that I learned to read.
@wary quarry the algorithm is random string generator, same as in various URL shorteners
well the idea's same, but algorithm is a markov chain trained on japanese text
That's cool. Whats the reasoning for japanese?
lol ok ๐
the url is easy to read/remember
... for who?
humans
Uh oh....
I have noticed that they always look somewhat pronounceable though so I guess that works.
trying to figure out the math on calculating the biggest hit i can take with X life and Y armor
resists should not come into play on a physical hit, right?
only armor
armor (and block and evade I guess)
im ignoring block and evade for the moment, so that should make it easier
then yeah, only armor
if they fail you take the whole wallup , and i want to know the biggest wallup
this isnt the right channel for that discussion
oh, it's for my genetic char evolver
public float getLargestPhysicalHit()
{
return getLifeAndShield() / (1 - Math.min(subject.getPhysicalResist(), MAX_RESIST) / 100);
}
got that so far
i guess i made a mistake since physical resist doesnt exist apparently
it sort of does
it's called physical damage reduction, doesn't downscale with difficulty and is capped at 90%
that'll be much easier to tackle
oic
there is the math on how much armor gives on the wiki
psure echarges, basalt and a few sources of physical damage reduction all stack with armors reduction
@tribal cairn what kind of algorithm you are using?
i think a* or dijkstra would be awesome for this ๐ to find the best path to a given node
looks pretty cool
isn't really a pathfinding problem is it? seems more like comparing all available next nodes and trying to choose the strongest path "outwards"
wondering why it took the wand phys node or scion jewel but not the witch jewel though
i'm not familiar, which part of A* applies outside of pathfinding?
what I meant earlier by it's not a pathfinding problem
he's not choosing good nodes and then finding a path to them
he's going what's the strongest tree I can have with 1 node, 2 nodes, 3 nodes etc
ah ok - did not read that ๐
at least that's what it looks like
Emmit's poeskilltree crashes when trying to use the advanced tree generator
@tall merlin happens if you open the generator window, close it without running it and then run the generator directly via its menu entry. Running it in any other way should work. Was already reported and will be fixed in the next release.
@timid fable a* can be used to search nodes based on weight so it can help find a node path with strong nodes but I'm not sure it's really the optimal Algo here
Especially with so many nodes having a terrible weight before good ones
@chrome topaz any chance you could add "#% chance to gain an additional Vaal Soul on Kill" to the explicit mod search list?