#tooldev-general
1 messages · Page 5 of 1
I would have hoped that the API provides a list of all nodes in the tree, and for each node its depth and a list of all connected nodes
I believe trade has way more direct access to things and considering how even the forum has access to the alloc/unalloc layout for the thumbnail, the data is probably available internally in some shape.
So that information would then be available through the regular API to non-GGG devs as well, right? I'd assume it would then be added to the "ITEM" object you can retrieve already
If you inspect the announcement page you can find some item json inside the item json is a crucible object which has all the nodes. Example: https://gist.github.com/zach-herridge/6e883497865120afa810da47dc494522
Of course, the forum just fetches images for the hover tip.
oh yeah perfect, that is exactly what i wanted
It has in and outgoing node and allocation status
https://i.imgur.com/5EgnH0s.png implemented it as a test
That's nice
the full node info will be in the JSON in the public stash API
even if we don't end up showing it for forum items etc
Great, so for the search query "Give me all items with a valid path that includes these x nodes, where valid means no node depths is taken more than once" it will either be you somehow beast mode implement it to the trade site, or some community tool does it?
doubtful that something to that degree will be in the trade site
Really just need to know for a given weapon skill node if it’s is: allocated, allocatable, blocked
community tool could do it using results from trade site, but it would make filtering inoptimal or slow
For a tree that has no skills allocated yet, you would need the connectivity information
Blocked would still be useful for melting at forge
You can just query public stashes using the API, and just deal with the 5 minute delay or whatever it has, right?
yeah 5 min delay
Delay only matters if you want to compete with people using the regular trade site, which wouldn't have that advanced functionality
so would probably be fine
Yeah also matters a bit if a community tool that had wide usage was made people. If a good item was listed and sold it would stay listed for 5 mins extra
Hm, I don't get that
oh, you mean after the sale the tool would still show it available for 5 minutes
Yeah
Probably more than 5 mins since the rate of change on the stream is high at league start and is rate limited
I'm guessing these updated jsons will only be available after the league launches, so there is no way to develop against it before?
With actual testing I mean, can parse from the toy examples of course
yeah next Wednesday NZ-time will be when this updates with the JSON model changes:
https://www.pathofexile.com/developer/docs/changelog
Ah that's cool, some days before launch at least
Would you expect them to look like those pulled from the announcement site by zach?
https://gist.github.com/zach-herridge/6e883497865120afa810da47dc494522
so far the same but with the reminderText removed
Pre league dev questions might be a good Discord thread my fellow nerds.
Pre-Crucible(3.21) league tool development questions.
Woops. I didn't mean to shove you into the thread.
I presume this is just the 3.21 preview tree being outdated? As this change wasn't documented in the patch notes.
I really like the early preview of the Ctrl+c examples. A bit disappointed that the unallocated nodes aren't listed in the copy-paste data. Would've been so much easier/better to be able to price-check non-allocated nodes (and show the entire tree).
I'm just a bit scared that this will make it so 3rd party tools offer an immense trade advantage. If seeing the complete tree of an "unlocked" base that is listed for trade with "give me a path that is valid and contains these x nodes" will not be a feature on the trade site (kinda understandably so), that information will be on 3rd party tools only.
Can only hope somebody makes his tool for that publicly available
hi guys, im seeing a bunch of 502 and 522 errors when i call APIs on my bot, is that something ive done? my quick google search says bad gateway?
It seems like my custom UserAgent is being "blocked" by cloudflare 🤔 ... Is there any way to check this to be sure? I remember you could mail someone at GGG about this if I'm not mistaken, but I forgot to write down the details of that, if someone knows, please let me know please, thx! 🙂
what's your user agent?
(See screenshot above), it should be according to the developer docs guidelines, so I don't understand what cloudflare keeps sending me in a loop to "verify that I'm Human"
it doesnt start with OAuth, this one works for me OAuth pobbin/1.0 (contact: ggg@pobb.in)
The docs read like it has to start with OAuth https://www.pathofexile.com/developer/docs#guidelines
Just tried it with the OAuth prefixed to the user agent, but that doesn't get me past cloudflare either. I do see in the network tab of the dev console that a fetch to cloudflare returns a 401 error and a fetch to poe login page a 403 🤔
can I try it somehow to see if I get a different response?
maybe IP related
You could checkout the tool I'm working on and make the change I made to the user agent. Or I can compile an unsigned exe for you, but that might sound dangerous to share... (you should not be accepting candy, I mean exe's, from strangers ;p)
I doubt that, since I have users mentioning the same issue. Although they don't use the updated user-agent (with the OAuth prefix), it seems unlikely that in the 10 attempts I did, my IP got banned by cloudflare 🤔
mh yeah if others also have the same problem then I am out of ideas
Other users of my app have the same problem; maybe other apps don't have the problem. Basically I'm trying to load https://www.pathofexile.com/login into an Electron BrowserWindow which has/changes the user-agent accordingly
I guess your best bet is to hope Novynn has a minute or email oauth@grindinggear.com?
oh so you're not doing the oauth flow?
If I access pathofexile.com/login directly I also get the browser check thing in chrome
Yes, you do, but you get past it, with, or without some extra "human verification"; I don't... in my normal chrome browser I do, but not when using Electron's BrowserWindow with the custom user agent
yeah I doubt they want applications re-using the website login
It worked just fine until recently... i.e. what I do is no different than opening the login page in a browser, it's just an "Electron Browser" and not a big brand name such as Chrome, Opera or FireFox
sorry no clue, I assumed you were doing the oauth flow
anyone else that has a problem with the summon stone golem gem?
mines not working for some reason
I assume this is a game question and not a tool development question. You should go for a more appropriate channel on the server.
is there documentation how to add new UI elements into pob?
docs seems to be focused on adding new skills/mods
if i remember correctly you need to check out the Classes folder with *Control.lua files and the Control base class
I sent you a PM if you wanted to have a look
i'll check that out thanks
what's the link for the good documentation for the API
That's usually what new people struggle with, is why. Plus most UI elements are already there, so there isn't much need. What are you looking to make?
But yes, plenty of examples in the control classes
I sent him an inv btw @oak estuary
i want to come up with a PR for this https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues/5429 and i have several more ideas for UI enhancements
does anyone in the dev community scrape trade (public stash tabs) for rares and provide access via an API?
I'm confused by the ctrl+c text examples https://www.pathofexile.com/forum/view-thread/3361443
Looking at the first Foe Edge example, the ctrl+c contains
Minions Attacks Overwhelm 10% Physical Damage Reduction (crucible)```
and the advanced ctrl+c contains
```{ Allocated Weapon Passive Skill (Tier: 2) }
Minions deal 2 to 3 additional Physical Damage (crucible)
Minions Attacks Overwhelm 10% Physical Damage Reduction (crucible)
(Physical Damage Reduction is lower against Overwhelming Hits, but cannot go negative) (crucible)```
1. There are four nodes in the crucible tree, one of which is allocated, but ctrl+c shows two *(crucible)* lines. Is this because that node is a hybrid mod?
2. The advanced ctrl+c text shows three *(crucible)* lines. Is this last line reminderText that is expected to be removed for GA?
3. I really, really wish the ctrl+c had unallocated nodes listed for stash searchability reasons in game
- yes, it's a hybrid mod
- probably
- You can get the unallocated nodes from the API, but yeah, agree
Regarding the json provided from the trade api, can we have more information on the "skill" property? Will there be any metadata available that lets us cross reference that crucible node with its tier?
"0": {
"orbit": 0,
"orbitIndex": 0,
"icon": "Art\/2DArt\/SkillIcons\/passives\/WeaponElementalNotable.png",
"allocated": true,
"stats": ["Adds 11 to 15 Fire Damage", "Adds 11 to 15 Cold Damage", "Adds 3 to 25 Lightning Damage", "20% increased Effect of Non-Damaging Ailments"],
"reminderText": ["(Ailments that do not deal Damage are Scorched, Chilled, Frozen, Brittle, Shocked, and Sapped)"],
"in": [],
"out": ["1", "2"],
"skill": 41492
},
Yeah, getting it from the API doesn't address the ctrl+f in stash concern, sadly 😦
ye it's also a problem for price checker I believe
This feels in line with some of the trade filtering we have (e.g., annointments):
Without knowing whether certain nodes are restricted to certain orbits, I'm also wondering if there's value in filtering for a node in conjunction with its orbit position. However, I don't think the filtering system currently segregates the filters from different AND groupings from each other.
I added indexing to deconstruct valid paths from items and store the skill ids for uniques and bases to my indexer based on the items in the announcement. I also added in tracking for the skill number -> stat relation so once it goes live I can extract that data even if not published. This should let me do searches for bases/uniques with IE: one of skills [1111, 1112] and one of skills [2222, 2223] in a valid path. Only applies to the public stash stream though none of this will work for ctrl c. If it isn't in trade tool I'll add it to poestack and add the skill mappings to the public data repo.
I was unfamiliar with poestack until now, for users that would be a means to price check bases right? It would not be possible to search the public stash stream for bases that contain a certain set of nodes in a path?
Usually I don't do any trade search type features and focus on price checking since I would just be remaking the trade tool for no reason, if the trade tool can't do this type of search at the start of the league I would add searching public stashes for bases/uniques with specific node paths. You wouldn't be able to search for stats or regular mods but it would be useful for finding items for crafting
That's why I think providing a "Allocates #" means would be useful. You could use multiple of these entries in an AND or COUNT grouping to get close enough to what you want I think
For all the price checking stuff I am already effectively doing limited trade searches against my own data on the backend so the infrastructure is already there I just don't expose it since it's not useful when I publish the full economic data to github every hour. For this I would add a page though to execute some searches.
That would be pretty amazing
Since Novynn already said it's unlikely that the trade site will support those kind of advanced queries
those kind of advanced queries
what do you mean specifically?
To search for a set of nodes that can be allocated together in a path
aka no 2 nodes are at the same depths, and there exists a path that connects all those nodes
That's why I'm curious if nodes are constrained to certain orbits. Is Allocates Master Fletcher only available in the last orbit>=3 for example. And can the hybrid mod shown above on the Foe Edge item show up on a node deeper in the tree.
Yeah, we probably won't know until data mine, if even then
Because will you necessarily care if the two nodes you want are A -> B vs B -> A?
I think knowing whether the node exists or is allocated would probably be enough for most people (or at least initially)
I mean, the valid path information is kinda critical. 2 nodes can exist in the tree in different orbits, but still not allocateable at the same time
You probably wouldn't really care if it's A -> B but if you search for something with [A, B] you don't really want things that are
A
| -> C
B
Oh, can you only take one path through the tree? Sorry, I must have missed that.
Yeah exactly
Meaning a query that says "give me bases with nodes D and C" would show this tree, even though you can never get both allocated at the same time
or B and D for that matter?
yeah, which means a simple "are all nodes of my query contained in the tree" isnt enough
Do we know if scouring the crucible tree is possible? Because that plays into the usefulness of this too
it's possible
Okay, so you don't know
We know that it's possible is what I meant
Oh, that was confirmed somewhere? (I'm just asking because I must have missed it)
yes, chris said so in the Q&A
I wonder if there's a solution using the filtering similar to what incursion rooms use: Any, Allocated, Reachable/Allocatable (or whatever term)
@mortal bone not to be a pest yet another league, but any chance you can slurp in the 3.21 data.json for poeskilltree.com?
oops
I bet into prod will go solution with the stat simply existing on the tree. And we just live with it.
For example SoulEater alone can cost 3div, then you also add COUNT group with some interesting stats, and check 100 items for best one. website should obviously support hover interaction with the tree
Yeah but if no one publishes a community version that can search paths private indexers will have a big advantage
Yeah, that is exactly my concern
I'd rather someone make it public
People using the trade site and manually looking through trees with certain nodes will still have a 5 minute headstart
That's my point too. Which is why I'm tossing out some thoughts / prototypes for us to beat up. I don't presume to know the complexity on the backend but some of the best ideas start from small suggestions. /shrug
Since that is the delay of the API
It sounded like Zach already has all the tech necessary ready to go basically
I think you misunderstood him. He's talking about price checking. I'm talking about searching for items
No for crucible stuff I would add a search page
If you need some financial support to alleviate any cost associated with that feature, please feel free to ping me when the time comes
Should be okay as long as it only needs to support searching for bases/uniques + ilvl/corrupted it's not too bad. A lot lower bar for us than the full trade search needs to work with
I know nothing about server loads and all that stuff
Should be pretty low compared to other things the site is already doing
done
In Path of Exile: Crucible, we're adding the /leave command so you can leave parties more efficiently.
this is nice for trade tools
@mortal bone usually it shows the before/after changes for nodes:
but seems like some are not working properly
@inland kestrel there is only a secondary tooltip if the stats have changed. In this case, there is a little pink circle indicating that the node has moved from that location
Ohhhhh I see now. Nice
Yeah, it looks like that cluster was moved to make room for the new cold cluster there
I saw the wand wheel above it was all lit too. Must have just shifted on the canvas
Yeah, a good chunk of those nodes were moved to make space for that cold cluster
I was gonna say that position is largely cosmetic, then I remembered that radius jewels existed 😄
Yeah, jewels are the reason why I have it in
I wish it was a different color when the mod changes language
Yeah, that is probably something I can look into
Also, it needs a legend for the colors (and probably shapes) as it isn't very accessible right now
Is it correct that refs in dat64 are 16 bytes, up from 8 bytes in 32-bit dats?
8 for the table name, 8 for the id?
yep, one of the words is all zeros.
Ah
@civic crane I opened a dat-schema PR with a couple new fields, nothing huge. #44
yeah the passive export is wrong. The node hasn't changed in 3.21.0. Good catch!
Out of curiosity, where is this PR? Can't find it in https://github.com/SnosMe/poe-dat-viewer, would be interested in taking a look at the new fields.
Thanks!
thanks for making the atlas tree export available early this time around! hugely useful
someone has the 3.21 atlas and passive tree please?
gggs github
thanks!
select atlas branch for atlas-tree
anyone knows if the pob issue of proxy servers not found is still fixed?
still running into this issue
you can try **clearing **this:
maybe its because i havent put that?
what link should i put there
nvm it doesnt help
that link is for if you have a proxy, if you dont it should be empty
running PoB as admin helps for some people
admin running didnt help either
Press Ctrl+` to view the console and see what errors you're getting when it tries to update.
Ok
(that was me DM'ing you btw) this convo should probably be in a thread or something since it's kinda off-topic
I'm working on an app and have a pending oauth request in with GGG, could anyone spare a few sequential json stash dumps?
Thanks!
is there a link that has the updated media content zip you can download?
If you're asking about the press kit, it is linked from the bottom of https://www.pathofexile.com/crucible, as is tradition.
yeah, thanks forgot what it was called and where it was found.
in pob, i dont think these types of masteries actually increase the player's accuracy for the purpose of damage scaling, such as Obscurantis, Oskarm, etc.
i assume they instead just increase the enemies chance to be hit
Want to open an issue then https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues/new/choose
anyone seen this issue when opening a freshly installed PoB?
you install to a onedrive folder?
No is your settings.xml in something like onedrive/documents/pob/settings.xml or whatever.
The other case is it might be a empty setting.xml file in your builds folder?
Deleting it should work.
Not sure I have onedrive disabled on this laptop, but the portable download he just linked worked
Very weird because I had PoB install working at the start of Sanctum
Yeah it is probably the second thing I said. The settings file is likely empty.
Yea you're right
Looks like that folder was connected to onedrive before I could disable it
Clearing the old data let the install work
thanks
Guys is there a way to report POB bug without GitHub acc?
Not really. Here or the Reddit post is maybe your best bet
People will pass it along regardless
("People" being me)
Maybe it's fixed in this newest release but before it when manually crafting influenced 2h weapons they were getting their 1h counterparts influence mods (like staves were fine but swords etc borked)
@compact isle Did zealots oath move on the tree or is the promo vid wrong? https://youtu.be/rm8UG7bgmAE?t=633
in the 3.21 tree on github it is moved compared to the 3.20 tree, my guess is the vid was an earlier prototype and they decided not to move it as far
the tree export should be correct
Does anyone know how to add the fossilised spirit shield (or any bone spirit shield) into builds in Path of Building? Currently using the community fork and cannot seem to find it in the list of rare items.
ahh okay, I knew there was something I was forgetting. Thank you very much^^
Have this problem when i convert passive tree from 3.20 to 3.21. My PoB Community Fork v. 2.26.2
Have a saved build code?
Is the internet proxy connection issue fixed?
Hmm, that imports and updates the tree fine for me
convert final tree
Oh, it was on the leveling tree, yeah
Allocate the mastery next to Charisma @serene trail and then convert
in this builds its node 53615 (next to Charisma)
question is, what did you have allocated prior?
no
Ok time to redownload it is
ye got the same, it only happens on some trees...some conver tperfectly fine without unallocating and some are converting while unallocating (bcs old tree, makes sense)
Act 3-4 levelling tree still works, Act 4-6 doesnt anymore...i can make a screenshot where i mark all the nodes which are added from the one tree to the another, maybe that helps finding the problem
its almost certainly the reservation mastery
just allocate the mastery and then convert the tree
no its something different....i disallocated on the act 4-6 now everything back to the act 2 tree (where it worked perfectly fine) and i still get the same error
yes, its a node which is brokenly allocated, you need to allocate it, not unallocate stuff
it most likly happened when the tree was converted from an earlier tree with a mastery that was removed
but in the trees for the lower acts this node is not allocated
wait need to revert the changes
That's why the act 3-4 tree can still be converted
At some point your act 4-6 tree had the reservation mastery in 3.20 or earlier
gimme a moment ,i try to truly understand what that means
can you handle this? I am supposed to be asleep
Yeah I got it
i get two new masteries from act 3-4 to 4-6 tree
block mastery and a minion offence mastery
i will send the pastebin
Listen, just allocate a reservation mastery and then you can unallocate it. The conversion will work after that
Send me the pastebin still and I can tell you exactly which cluster to allocate
ok ye i got it
i think you are on the right path, dont need furter providence
evidence*
well anyway, thanks for your work on Pob 🙂
the old tree has a different amount of available masteries then the new tree in the reservation mastery...the other mastery clusters had the same amount in 3.20 than in 3.21...i think this might be it?
When GGG removed the 15% mana reservation efficiency mastery, PoB didn't do a good job of cleaning that node up when you converted trees, and left that mastery as "allocated", even though it couldn't be anymore. So now when you're converting the same tree again, you run into an error due to a bad allocation state
Hey all, is there anywhere here I can post to get feedback on a tool im working on?
depends on what kind of feedback you're looking for
constructive criticism, feature ideas, design ideas?
Nothing wrong with posting it here
but you can also show it off on the subreddit e.g. and hope to get feedback there
I guess forums could work as well, but I am not much on the forums
Alright, yeah I did the subreddit and got some feedback, just trying to go wide with different places to get as much as I can ^^
http://poebuddy.xyz/ - Aim is to simplify the process of searching for items across multiple stash tabs
maybe interesting for tft, could get feedback there (I think they have a tools channel, but I am not in that discord)
I tried searching chat history here but did not result in anything, so as someone working to build a new tool, I hope my question doesn't come across too tone deaf.
I recall the developer of poe.trade a while back posting on Reddit about the unavailability of specific item mod data.
Has requesting a change in the encoding of the stash tab river to encode Explicit and Implicit mods in arrays with necessary metadata been discussed?
For example:
"explicitMods": [ "3% reduced Mana Cost of Skills" ],
changing to
"explicitMods": { [ "name" : "of Efficiency", "display" : "3% reduced Mana Cost of Skills", "properties" : { "mod" : "{1}% reduced Mana Cost of Skills", "properties" : [ 1 : "3" ] } ], }
Oh, I'm dumb, wrong import, lel
Are the maintainers of poeplanner.com in here? There's an issue when searching on the Atlas passive tree.
Out of curiosity, what's the issue?
I legitimately don't see anything weird
Green highlight circles appear at the edges, even when their nodes are off the edge
That's a feature
It helps you see where other things are even when you're not fully zoomed out
I find it especially helpful on mobile
yes, a pretty common UI element
Definitely not a bug
Hmm
Wanna know something funny? The official path of exile website has the same feature for its trees as well.
Wow, so it does! I like the way the official website does it, it feels less "something odd is happening" to me. Fair enough 😄
Although its version acts slightly differently in that it doesn't position nodes that aren't visible on its x / y coordinate, but as if you drew a line from the center of the screen to it.
some military-style HUDS do the same thing
anyone that has done work on being able to copy paste into the stash tab - is there a secret trick im missing? I can copy paste into the chat just not into stash
ignore - my string was too long -.-
Please don't post discord invites
hey where do people get 3.21 atlas trees? theyre not in the official github
oh its a branch 🤦
the whole branch thing is real dumb and I need to fix it at some point
New Cadiro found
Item Filter Information missing Primeval Remnant, isn't is a new base item?
hm weird it's not included... Primeval Remnant and Primordial Remnant
I guess since they can't drop
Can't you yourself drop them from the inventory tho?
did they move the background? if i use cleansing fire group coordinates, it doesnt quite match anymore
uh maybe not exactly a tool question, but do gateways function just like normal nodes, as in you need 1 point to activate first one, and another point to activate second one?
or is there special logic to activate both with 1 point
they said yes 2 points
valid tooldev question if your gonna implement it in a tool
so nothing special besides not drawing a line between 2 gateways
it had a fancy line when hovered iirc, but no line when not hovered yes
You might want to check out an old tool called Acquisition. I know at least a few Standard players who use this for searching their stashes. I think it really comes down to having the filtering done well. Anyways, just a suggestion/idea.
just support regex and search is nuclear 😄
ingame search does support regex?
In theory yes, but personally have often struggled with the 50 character limit
The syntax is also a bit bastardised with the traditional search semantics too.
yea but you arent searching across multiple tabs in one go with ingame search
Is the only way to identify an item type (e.g. sword, 2h sword, mace, axe etc) by checking the baseType?
In what context? But generally yes that sounds right
developer docs preview is live
https://www.pathofexile.com/developer/docs/changelog
.ais file removed
Does anyone know the format of the League field in the Character object for private leagues (https://www.pathofexile.com/developer/docs/reference#type-Character), I'm guessing it's LEAGUE NAME (PL00000)?
I really like the addition of the Public Client to the Authorization part of the API. I do have a question about the Redirect URI though: does it have to be a publicly available website/webpage? or would I be able to redirect to a local url/embedded html page; e.g. ...&redirect_uri=#/poe-oauth-response&... (additional context: the app uses the Electron framework and show a bunch of webpages, so to some extent it's just a locally hosted website and for me it would be ideal to redirect to a local page and handle the response there [instead of needing to rent a domain and webspace to host a simple "Auth success, you can close this page now"])
Doesn't it says something like "local URL" in the specific docs?
for public clients it must be http://localhost:someport
it's whatever the league name is. For private leagues they'll follow that format sure
Thanks, wasn't sure what the league name internally is, could've just been the number for example
If I wanted to make a public client that can access an account's stash, how am I supposed to get what leagues are available for GET /stash/<league>? (aside from hard coding / making the user input that in)
Reading the docs, it seems like I need scope service:leagues to do a call to GET /league and get what leagues exist, but all service:* scopes are not allowed for public clients.
currently there's no good way to get a list of leagues in the scope of an account. You could use the old /leagues API (https://api.pathofexile.com/leagues) to fetch the usual set in the meantime
I'll bump the prio on the account:leagues scope implementation
Thanks for the response, really appreciate it!
can it be any protocol, or only http? E.g. pob://...
only http for now. Custom protocols are a pain for us to support in our framework :/
I'm curious, do you get any headers or any other payload with such OS protocol handlers, or doesn't it matter as it's all encoded in the URL itself?
I guess there's no actual data transmitted, just a redirect.
(imagine thinking before lunch)
Not sure if this belongs here, but how do tree changes affect timeless jewel calculators that use the old tree? Will noteables that didn't change position still have the same effect per seed?
Yes you check PoB if your curious as that is updated with the new timeless data.
Oh, that is in PoB? Damn, thank you
Must've been a bit of spring cleaning, also removed the few stray .aos that were present as well.
GGG doesn't usually change the Legion node IDs, but if they did for 3.21 then we'll have to export the Timeless Jewels again on patch day to be correct
whats the 8gb patch about? the new stuff isnt there yet?
repack the bundle, removed server side files(ex. .ais, .aos)
Dang, I was afraid of this...
orbit ?uint the column this not occupies Typo in here
3423 bundled files removed, 0 bundled files added, 382 bundled files changed.
Removed: .ais .aos
Changed: .dat64, .datl64, .ot, .otc
Hi ! Someone know how can I set manually server on Awakened ? https://github.com/SnosMe/awakened-poe-trade/issues/902
shift + space and if you go to settings you can change it there
Is this from your custom tools or do you know some public diff source like a github or something that keeps track what changes per patch?
Dinky little Python script I just wrote, consuming my manifests.
One could make some more user-friendly (web?) tooling to query that information in some way, but I haven't done so.
Much like I haven't done the dat64 summarizer yet.
Ah ok, do you know if the data from https://old.reddit.com/r/pathofexile/comments/12chsm2/dataminedleaked_crucible_tree_passives/ is contained in that 8 gb patch that got released earlier or does that leak use a different source for that?
513 votes and 1,035 comments so far on Reddit
Have quickly glanced over the online dat viewer and couldn't identify any .dat files that correspond to that.
This one is a straight-up compare of the paths present in either of two manifests of bundled files, and if not, comparing sha256 hashes.
That should be from a StatDescriptions file and no, it's not in Steam's 3.20.2d.
Ah ok, so thats why it contains all changed stats, not just the new crucible passive tree stats - it's literally a diff of the stats from different versions?
Probably.
I see
Interesting where it's comming from then if it's not in the files.
Highly scientific version differ: https://gist.github.com/zao/49ade12ef46c798f78cd9ac7f5e27484 😄
If it works it works 😄
All the heavy lifting having been done by the automatic ingestion of Steam releases server-side, so it only has to squint at manifest listings.
{"sha256":"5cbe1984690496a04879d2a3f8afb939e31a759f49f902fe00e14511224ff81b","path":"Data/GrantedEffectsPerLevel.dat64","phash":"17062053648172072157","size":5990360,"comp":true}
Have recently watched the GDC presentation by Jonathan Rogers a while ago and would love to be able to read what the tool has written at this point https://youtu.be/mYry9Vl_Hh8?t=809
In this talk, Jonathan Rogers from Grinding Gear Games takes us to a brief look into the Path of Exile game engine; What challenges were faced, and how you can make one yourself (now in 4K)
🎮 Who is the Game Developer Guild? 🎮
The Game Developer Guild is Auckland University’s club dedicated to physical and digital game development. The Gu...
There's a direct Twitch rip of that one as well.
Also what "Hide From Client" at this timestamp does https://youtu.be/mYry9Vl_Hh8?t=1571 would be interesting (probably public knowledge already but unknown to me) - is the .dat then simply empty on the client?
In this talk, Jonathan Rogers from Grinding Gear Games takes us to a brief look into the Path of Exile game engine; What challenges were faced, and how you can make one yourself (now in 4K)
🎮 Who is the Game Developer Guild? 🎮
The Game Developer Guild is Auckland University’s club dedicated to physical and digital game development. The Gu...
They work with tooling that has both server and client side data intermingled. Any column that shouldn't be in the client rendering of the dat64 files is tagged with "Hide From Client" and isn't physically included.
Thanks gonna download and save that!
Both client and server DAT64 should be derived from that central repository of truth.
Upload speeds are going to be a bit crap as it's on my home internet, but if you're patient you'll get it 😄
Ah interesting, makes sense. So they can kind of decide what they want to share with the client if it's not strictly required for the client to function?
Yep.
Their tooling simultaneously generates C++ classes for each DAT64 file with hardcoded accessors for the various fields, keeping the client in sync with the data.
There's no separate "schema" that the client/server consumes, the C++ is the "schema".
That's why you can find some slivers of field names and table names in the executable as they're baked into error messages, but all-in-all it's very much inlined and intermingled with game logic as there's not too much in the way of intermediary layers.
(supposedly, I haven't looked)
i love u
Yea makes sense, many asserts contain field names etc.
@compact isle The live search websocket on the trade site seems to be 500:ing on engaging a live search, is there some between-league work being done or something actually hosed?
live search restored
Hey @compact isle, I see that lastCharacterName on PublicStashChange is now removed from the docs after being deprecated. This means that there isn't really any supported way of implementing a third party trade site anymore, since you can only whisper people by character name and character name is no longer available. There is direct whisper, but that API is not accessible to third parties. Is there any supported alternatives to use?
not without obtaining the account you're trying to whisper's permission to view their characters
So if the community makes any indexing improvements for crucible items they won't be able to provide a copy paste to whisper the person
if you wanted to somehow interact with a player your tool doesn't have access to you'd have to do something like... generate a trade site search that would result in the item and let them use the communication tools from there
which would also tell the user of the tool if the item was missing / already sold etc etc
I guess I could just execute the trade search and extract the IGN anyways then
but that would be against the Terms of Use, whereas passing ?q= into a trade site page is all good
oh is that against TOS doesn't awakened POE trade execute searches for users?
yep 🫠
oh
I will not do that then didn't know it way against tos
Thanks for the response, though that is of course very disappointing. Practically speaking, nobody is ever going to use a site that then makes you click a link and then find the whisper button on another page after that loads and click that. Is there anything that can be publicly stated at this time about plans to support Direct Whisper or such for third party sites to avoid this?
the entire point of direct whispers is that you know they come from the trade site and only the trade site
Guess the tool will just have to be limited to TFT users who have their accounts registered then
unfortunately some less than savoury tools were using the public stash API to track users via the inadvertently public character names so we had to restrict it
Huh isn't that kinda strange to no longer being able to identify character names from stash changes? Doesn't that somehow contradict what Chris Wilson said in the reveal stream when asked what trade site features will be available in regard to Crucible passive trees and he mentioned that there is an API to find items you want and contact the sellers that way? Or am I misunderstanding this?
Not expecting this to change, but I'm curious, why is this? The direct whisper API requires a token anyways, so you can only use it after querying the official trade site and passing in the item ID to receive the token to pass in to the direct whisper API. I'm not sure what anybody would be able to maliciously do with it as a result?
CEO is the big picture guy, not always reliable for details
Chris is correctly mentioning implementing better searches than the trade site not the whole communicating with the player aspect. We'd prefer that always be made through official channels like the trade website or the private message system on the forums
you could also do users who have public characters, as it doesnt matter which character you whisper they still get it iirc
I don't anticipate the need for third party tools for these searches. The trade site will support searching for nodes in a valid path on league launch
but profiles with private characters are 🤷♂️
I see
This is big that is mainly what people were looking for nice work getting that in
For me it's not so much the idea of implementing a better search for Crucible as it is just having third party trade sites in general. Sites like poe.trade by third party devs are what brought the ability to do real trading in the first place and made the game accessible. To kill them off is just a very disappointing move all around. Obviously nothing I can do about it, and such is the consequences of working on a project where you're beholden to a third party, but overall just an unfortunate waste of time.
Anyways, appreciate the timely responses to the questions.
?
I was mainly worried about it in context of not being able to search for crucible passive paths, but I'll add that this does give a large advantage to existing large tools and communities compared to newer ones. A tool/community that already has 300k users can still offer copy paste whispers to any of them a new tool will only be able to offer it to its smaller user pool creating a network effect for tools of this type going forward. Probably a pretty small/largely irrelevant worry considering the type of tools that exist today aren't the same type that existed a few years ago but maybe worth considering.
Poe trade was not a waste of time
Nothing lasts forever
Poe trade served its purpose for a long time
Just because its use case came to an end doesn't mean it was all for nothing
The time spent making it helped tons of poe players until the official trade site came to be
https://www.pathofexile.com/forum/view-thread/3362077
FAQ changed some Items' Item Classes which will affect item filters, but Item Filter missing it.
You are a god
How do we determine if an unidentified item from a users stash is rare/magic? I'm looking through the data I'm getting and don't see anything like rarity...
https://www.pathofexile.com/developer/docs/reference#type-Item
- Here i'm not seeing anything that helps
{'verified': False,
'w': 1,
'h': 1,
'icon': 'https://web.poecdn.com/gen/image/WzI1LDE0LHsiZiI6IjJESXRlbXMvUmluZ3MvUmluZzUiLCJ3IjoxLCJoIjoxLCJzY2FsZSI6MX1d/6f90cd3c4b/Ring5.png',
'league': 'Standard',
'id': '810c56ba055ee250ec126fb7aa9329a81bfb37062e23ad8f66161e193c77caaf',
'name': '',
'typeLine': 'Topaz Ring',
'baseType': 'Topaz Ring',
'identified': False,
'ilvl': 81,
'implicitMods': ['+26% to Lightning Resistance'],
'frameType': 2, 'x': 23, 'y': 7, 'inventoryId': 'Stash1'}```
You can use frameType for that
@craggy beacon @outer jay dang as always you guys are a goldmine
I just remember since I had pretty much teh same question
Does anyone know if there's an association between characters and the first support gem you find in the twilight strand chest in the gamefiles?
I've found the starting skill gem in Characters.dat64 and I've found the chest you get the gem from Metadata/Chests/TutorialSupportGemChest in Chests.dat64 but can't seem to find a drop list or something to connect things
Drops tend to be purely serversided
@daring stag neat site btw. looking forward to see it progress 🙂
bug report @velvet fog https://poedb.tw/us/Heist_league#Jobs
Data\ directory is empty as usual
is there any way to make pypoe work with newer ggpk?
idk why its even trying to load that file FileNotFoundError: /Bundles2/_Startup.bundle.bin not found
because they removed the file from ggpk
you mean the torrent ggpk isnt complete? or its just not there anymore?
they always remove these files to prevent datamining
aah ok thx
you can download these missing 1G files when new league patch server is up
@compact isle
Another case of incorrect tree data the recovery mastery is connected to the small node next to agnositic. See https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues/5963
Relevant section of json https://pastebin.com/Vu2eAQMB
1.5h until patch for all us cool peeps \o/
now that's a new one. Passed along thanks
I was in the process of removing the recent character names from http://uniques.top until I just read The lastCharacterName of the PublicStashChange type is no longer included by default. Contact us if your application needs this field. who do I shoot an email?
Ladder for tracking of Unique Items found in Path of Exile
Is there any official reference page of known TOS-friendly tools, or known TOS-violating ones? there semes to be some useful stuff out there, but not useful enough to risk a ban
you won't get banned for using a tool, unless it's something egregious
GGG doesn't certify tools as "not TOS breaking"
so like ZiggyD made a video about using Lailloken's Crazy UI tool - that should be fine right?
yes, that's fine
anywhere to read up on the TOS for developing my own?
https://www.pathofexile.com/legal/terms-of-use-and-privacy-policy in the Restrictions section, if you ask specifically for you own tool, the answer will be that they do no encourage using 3rd party tools and they can't give definite answer to each tool if that is allowed or not.
right, you won't get an answer, so you can't ask directly
I can't remember where it said about 1 action per key but that is also said somewhere
And it’s always a problematic answer because the tool can change
And then there will be posts about "but xxx said it’s allowed to use"
Exactly, it's understandable
Hah, it worked: https://gist.github.com/zao/a4c92fa922721d3c5241d139961c4dc4
appreciate it! I'm more comfortable with making my own so i know it follows the rules. Makes sense why it's a bad idea to give official approval to something without controlling changes
what am I seeing here?
The overall shape of each of the DAT64 files in the game, as changed between 3.20.0d and 3.21.0.
Row count and row width most importantly.
PoEDB updated with version 3.21
Noticing in the .dat files that some of the new Vaal skills have divergent drop levels from their base gem counterpart (Animate Weapon (5), Arctic Armor (1), Domination (12), and Rejuvenation Totem (5)). I don't think they've ever done this before and PoEDB doesn't reflect this difference.
So the weapon_passive page is updated from the patch data?
I don't sure, will check later
anyone knows what new mod domains represent?
probably WeaponTree, WeaponTreeRecombined?, CrucibleMap
would be great if there was a tool that parses dat files in real time as you edit the schema, scrolling through hex dumps is so annoying 😄
😦 logged in, made a character, insta crash, 75k place in queue
wtf ggg, where is AA 😄
oh, they seem to use same setting as for 3d world rendering, which is... bad. UI should be always with AA
anyone knows where LibGGPK2 is storing schema.min.json? they seem to use it instead of DatDefinitions.json now by default, so the latter is not updated anymore
Smells like a dat-schema file.
ye i know. seems theyre pulling it directly from the github repo
i wanted to edit some fields since it obviously isnt working with 3.21 but to do that i have to revert to old datdefinitions which is even older
Ah.
@compact isle is commit "3.21.0 preview 3" the same as the live tree in the skilltree-export repo?
let me prepare a release version and we'll see
seems the same
though there is an incoming change to fix the invalid node mentioned earlier
Ah, cool! Thanks 🙂
Okhayyyy
yep
why would player level requirement be a float 🤔
anyone knows how to get awakened poe trade to work in private leagues?
i can use browser to search for items in the private league, but when i try and use the ingame search it just errors out
Maybe try using the mode that uses your actual browser for the UI, that might have more session state from already being signed into your account or something?
@barren widget did you login?
that worked like a charm
LOGIN
Reading the ticket for this now, did you do any PKCE stuff yet @civic crane , or is it gated on lack of scopes?
i only signed in by pressing "browser" but that took me to my browser outside of the game, using the ingame browser and signing in owrked
nope, yes it's pointless rn
the autosearch still won't work even tho turned on in options but that's minor issues. thanks alot 🙂
@barren widget also unfortunatly you will need to click this button once after every app restart
thanks for the headsup 🙂
@civic crane Heyo my awakened can't find the crucible league, its only popping up with standard and ruthless leagues. Also is it intended that you have to boot up the executable each time instead of an app?
refresh.
Just saw that button my bad. I el stupido thanks for the help
@compact isle can you relax cloudflare on RU subdomain, people are dying from bot-checks 😄
How hard is it to make a tool/website like this? https://www.reddit.com/r/pathofexile/comments/wp6i66/trade_helper_for_geforce_now/
Its pretty much the best way I found to play trade on geforce now, but sadly the side stoped working a while ago. I havn't found anything similar yet..
@civic crane Long shot, but any idea what causes this? No matter how many time i fresh reinstall i still get this.
win8.1 is no longer supported
sigh, installer wont even open ;-3
Well by some miracle, after trying for a good 2-3 years, i was finaly able to update to windows 10 (it kept failing and failing, i had tried 10 times)
Bummer because the game is literaly not playable without your program SnosMe. thanks for doing what you do 🙂
this new "feature" is very annoying, since the server is wrong about the person being offline 90% of the time
no one reads / responds to forum PMs for trading, that's not a thing
that probs happens when the server updates their online status while they are on a loading screen
Isn't trade online status still on a bit of delay for some sort of stalking reasons?
Hi all! Awakened Poe Trade does not respond to hotkeys. Tell me what could be the problem?
but F5 for HO - working
@compact isle unblock 3.21 user-agent in Cloudflare
1020
I set all the settings, after the update the program does not respond to hot keys. Changed language, changed hotkeys, reinstalled, nothing helps. Please tell me how can I fix this?
Yeah it looks like Cloudflare is blocking the Awakened Trade UA. Is there a way to perhaps use my cookies or set up a new session in the Awakened to avoid getting blocked so often?
The tool kind of worked yesterday but is now completely blocked by what seems to be a rule added on the Cloudflare side...
pls help)
Hey, @civic crane I've been having issues with the APT tool ever since the last update, not sure if this is the place to contact you but I have no other clues as to where to do so.
After updating to the latest version I noticed that none of the hotkeys work and will not bring up any overlay (my hotkeys for hideout and etc. F5 aren't working either).
When I use the "Open in browser" option it only opens a blank dark-gray/black page with nothing on it. A friend of mine said that when he did so he got the dark-gray/black page but with the settings overlay that opens when you do Shift + Space/Ctrl + Shift + Space.
I went through the whole common issues page to no avail. I have updated my GPU drivers, tried fullscreen windowed and normal windowed on both of my monitors. Tried Vulkan and DX11, neither of which worked. I have restarted, reinstalled and tried the portable version of APT with no success. I have tried reinstalling AHK 2.0 and 1.1, restarted my computer, run as administrator, closed and reopened programs on my tray and task manager to see if there was anything that was interrupting it.
Thank you very much for any potential help and if there's anything I can provide just message me and I'll do my best to do so, also thank you very much for developing such a great tool that has provided amazing quality of life for many leagues now.
@whole ridge what's in Console in ther browser (F12)
Sent a PM with the screenshot :)
@compact isle not sure if you're aware but the bulk map search on the trade site is broken
Same problem after update, any solutions yet?
I'll write what worked on my end, closing APT and deleting config.json
@compact isle Also not sure if this bug is already known but you when you filter for Weapon DPS it does not include the Crucible Tree when filtering. But it shows the correct DPS (with tree modifiers included) on the results
this is not a bug, this is a feature called SSF
https://github.com/SimonSapin/snippets/blob/master/markov_passwords.py it's used this algorithm
fwiw if you need to reach me for any poe related stuff the best way is probably on poe irc, but I still check this discord once a month or so. but if i don't know you and you send me a DM that says "i want to ask something about poe.trade" you will never get a response (basically: be specific, don't ask to ask, etc)
Is that the one on FreeNode? I wasn't aware it got much use
it's on libera and there's not much use, it's just that i check irc maybe every day or two, but i check this discord maybe once a month, just in case you want to contact me specifically
Hi. Pls help! https://snosme.github.io/awakened-poe-trade/nothing-happens - it didn't help me.
warn [ClipboardPoller] No item text found.
@compact isle it appears that the crucible passive tree filter lacks a limit on query complexity? maybe that's why the site keeps going down?
https://www.pathofexile.com/trade/search/Crucible/Jndjjnahl
@velvet fog https://poedb.tw/us/Bows#弓WeaponPassive crucible mod page titles appear to be in Chinese on /us/, I assume this is unintentional
@compact isle not sure if you saw my previous message but just fyi bulk map search is still broken
https://www.pathofexile.com/trade/exchange/Crucible/LgeEZ8VIn
0 results for any bulk map search as far as I can see on crucible
pls help. ctrl+c - working. Disabling other apps doesn't help. F5 (hideout) works, the rest doesn't.
@civic crane мне бы кто объяснил на родном, как помочь 😦 я уже готов скинуть денег 😦
ctrl+c - working
I don't see it mentioned here
I understand correctly that the Highlight in this bundle is the hovered cursor on the item? if yes - then I can copy the text of the subject in WordPad. But the price check itself does not work, because the window does not open. I am very sorry to bother you with this question, but I am in despair, as I have been looking on the Internet for 2 days for a solution and a mention of an error. I tried every step described, but nothing worked for me. I even thought that Windows 10 just does not work. maybe there are some clever ways to solve it?
@tranquil blaze wrong, there is image above on that page which explains "Highlight" key
@civic crane fyi, the popup shows if you open the poe folder, i guess it checks the window name?
yes, you can disable notification in settings (but hotkeys will still be grabbed)
Nbd, just found it funny
got it, thanks for the reply
@worthy cape do you plan on updating https://github.com/zao/RePoE/tree/3.20.1 for the new league? I spent some time patching things up last league and then afterwards figured out you'd already posted a few days earlier so I figure I'd ask this time.
Repository of Path of Exile data for tool developers - GitHub - zao/RePoE at 3.20.1
No, I have no plans to maintain this. The last time it was a boredom hack to see if I could. I can't keep it up to date - especially with the wiki PyPoE evolving in a different direction.
@tranquil blaze just a reminder this channel isn't for support on tools. If you need support for specific tools, please go to their discord/github, thanks!
@compact isle looks like brothers-gift item tag isn't on the trade site. "Brother's Gift" shows up on the search page (and is correctly identified as Card) but not on the item exchange filters
@compact isle The Armour mastery {0:+d}% to all maximum Resistances if Equipped Helmet, Body Armour, Gloves, and Boots all have Armour would seem like it applies to max chaos res but uses the ele res stat for additional_maximum_all_elemental_resistances_%_if_all_equipment_grants_armour. Is this just an error with the wording and the stat is correct?
idk man I just make website go again
better off filing a bug report on the forums
found an internal issue, it's supposed to read Elemental Resistances
I want to ask can I extract the search filters just from knowing the url e.g."https://www.pathofexile.com/trade/search/Crucible/eG73KYfL" ?
thank you very much!
Would I ask here about if there is a debug Path of Building mod to use to convert physical damage over time into fire damage over time(for the new reap passive)? Conversion normally can't apply to damage over time.
if you find act_str.lua in your PoB files you can edit it like this
ooop that'll work for me for now thanks \o/
ah, also need to alter fire damage to deal per minute on 7629 for base reap, but it works after that. ty for help
I'm having the same problem as you
condolences with all my heart. I disabled the nvidia overlay and in addition to this error, I got another one 😄
poe planner forgot to renew their cert
maybe someone has a contact they can reach out to
actually noticing that all 5 of the new cards are not showing up on bulk exchange (Brother's Gift · Soul Quenched · Poisoned Faith · A Chilling Wind · Matryoshka)
Does anyone know what the required headers are for an api request to 'https://www.pathofexile.com/api/trade/search/Crucible
import requests
# Define the API endpoint URL
url = 'https://www.pathofexile.com/api/trade/search/Crucible'
# Define the request payload
payload = {
'sort': {'price': 'asc'},
'query': {
'status': {'option': 'online'},
'type': 'Boots',
'stats': [
{
'type': 'and',
'filters': [
{'id': 'pseudo.pseudo_total_movespeed', 'value': {'min': 30}},
]
}
]
},
'size': 1
}
# Define the request headers
headers = {'Accept': 'application/json','Content-Type': 'application/json'}
# Send the API request
response = requests.post(url, json=payload, headers=headers)
# Print the API response
print(response.status_code)
``` is getting 403d
You need a user agent: https://www.pathofexile.com/developer/docs#gettingstarted check the user agent heading
Do cluster jewel enchantments exist in Mods.dat64, or are they stored somewhere else? I see all cluster explicit mods in there, but can't find the enchantments
StatDescripotionTreeExpansionJewelGrantedSmallStat in ClientStrings concatenated with PassiveTreeExpansionSkills(->PassiveSkills) table
Hi, new here 👋 . I'm trying to get to the bottom of the Linux issue in Awakened PoE Trade
where there is an extra focus event on attach (https://github.com/SnosMe/electron-overlay-window/issues/15). This is an annoying bug that's making my PoE experience less smooth. I have some experience with N-API and WMs so I thought I'd take a look but I'm having trouble building electron-overlay-window. Things work up until linking where it seems to fail with zero errors. Any ideas? cc @civic crane
nothing special in CI script
- run: |
sudo apt-get update
sudo apt-get install -y libxcb1-dev
- run: yarn --frozen-lockfile
- run: yarn prebuild
and it was successfully built week ago
Hmmm... I'll try in a docker container to reproduce that as close as I can.
Did something change with the web api? Awakened trade doesn't appear to be able to fetch prices anymore
is there any way to extract 3d models from poe nowadays? the model viewer is gone / not maintained and it seems impossible at first glance
most guides show a different filesystem, looked like GGG has changed it
Formats are mostly the same as ever, you may be seeing the difference between the pre-Heist legacy GGPKs and the bundle system introduced in 3.11.2b.
There's still fmt/smd/tgm and fxgraph/mat. The model formats have had some format version upgrades over time and the materials are in JSON since a long while.
The challenges are the same as always, it's still an art or impossible to map the materials PoE uses for geometry and visuals to something that works in an external modelling package or common viewer - a proper viewer still has to understand and compile down the materials into shaders and implement a decent bit of the PoE renderer.
The most accurate viewer is probably still my "Squint" one powered by the very janky "matgen-py" to interpret and translate materials to D3D11 HLSL.
If all you need is raw geometry for postprocessing into 3D printing or further modelling, non-animated things export fairly well.
If you need animations, you could probably get quite far in translating animation tracks and assume that it uses regular blend skinning.
If you need surface properties, lighting or VFX, you're off the deep end.
thanks for the good information! i'm only after the mesh and the materials / UVs / textures, for 3d modeling and sculpting.
where can i find more info about the squint you're talking about?
WIP software, no releases or source: https://zao.github.io/stuff/
The big problem is that while you can get the geometry with its positions, texcoords and tangent frames, they're further transformed and used by the object's material graphs.
The materials encompass the whole pipeline from geometry transform and skinning to computing per-fragment material properties like albedo/roughness/emissivity and also doing the whole lighting process.
While you can rip out the geometry and textures used, the graph itself may do some additional processing that you cannot easily extract or replicate.
A lot of artist control is effected through the material system, where they often bias things like emissivity to fine-tune a model's look, by exposing parameters in the material which they can interactively tune in the game editor.
Chuan's model viewer worked off an approximation of the materials and mostly ripped out textures and used them as-is on models. This failed miserably on models like Jun which has two textures side-by-side in a single image file.
poeloremaster's viewer did it in a similar way, I believe.
Those were kind of hamstrung because they ran on the web and at least chuan's were oriented around using OBJ files for interchange and very rudimentary materials.
All this said, based on specific models you could probably get a decent idea of the materials and work off the raw data, but it's quite a manual process and you'd need bespoke converters to get the data out in the first place.
I haven't looked for a league or two now, I'm sure they've fiddled with the formats again.
I don't have any immediate help for you, my converters are still very situational and mostly geared towards the occasional 3D print and inspection.
@worthy cape this is very interesting. i looked at that flowchart and was reminded of regular shading flowcharts like in substance or blender.
the repository is private though. i don't even know where to start regarding getting a mesh at this point. a normal obj file could be a start, and materials can be re-created from scratch so i'm not super worried about that.
the hardest part for me was comprehending how to actually extract any object or mesh from the game files, basically. i tried running a few different programs and scripts to decode but it didn't match up with the latest league (since almost everything seemed to be bundled?)
thank you for taking the time for this btw, i appreciate it a lot
A quick and dirty unpack would be to download Bun from https://github.com/zao/ooz/releases/tag/v0.1.0 and extract either everything or particular file formats with something like:
bun_extract_file extract-files --regex "C:\Games\Path of Exile\Content.ggpk" "C:\Temp\contents-3.21.0c" ".*"
bun_extract_file extract-files --regex "C:\Games\Path of Exile\Content.ggpk" "C:\Temp\contents-3.21.0c" ".*[.]smd$"
There's probably other asset extraction tools out there but I tend to use my own 😉
Regardless of how you extract, you still need something that converts static meshes (.fmt) and skinned meshes (.smd+.ast) into something more usable like .obj or .glb (glTF).
I've yet again got some Python scripts to do so but they're brittle and not user friendly.
You'd have files somewhat like these then, test-exported for the recent chessboard MTX: https://zao.se/~zao/poe/chess-gltf.zip
Looks awesome, i'll test it out and see what i'll come up with, thank you so much!

hmm, clicking browser let me log in and now it works. That didn't used to be required though right?
can someone suggest ideas for tools that haven't been made yet that people might actually use? could be some kind of overlay or web service.
you might find this interesting, suite for doing Steam In-Game style overlays https://github.com/hiitiger/goverlay
FACEIT, OP.GG and Guilded use it, among others
it was always a thing when you get unlucky IP.
Pretty sure anything running in-process of PoE would be strongly against TOS.
By community wisdom and a strict reading of the developer docs and ToS - don't touch the client in any way.
Existing software not getting users banned is no guarantee that you won't get in trouble, particularly if you do sketchier things than them.
Not sure if "memory reading is perfectly fine lol" Overwolf is a great example to cite here.
You should also make a distinction between injection overlays that are inevitable and serve ancillary non-game purposes like Discord, OBS, Razer, NV/AMD tooling; and injections that are intended to give a game advantage.
Just don't do the latter and play by the rules, both in word and spirit.
@velvet fog I'm curious as I was looking at an unique on poedb and wanted to go find one on trade... could it be possible and desirable to generate outgoing trade search links that prefill from the item page you're looking at, or would it be a nebulous and scope creeping feature?
it's easy, I will add it
Seems to work, neat! Not sure if "The Market" makes people think about the trade site, but that is still slick.
Is there a ready made pack of all the art in poe?
the one pinned here is 5 years old and doesn't contain stuff like the current atlas background, or current skill icons
Ah, zensei's dump of CDN assets? Not sure if anyone is collecting and curating anything like that anymore.
I just use my personal supply of actual game files for my tools, converting as I go, none of the pre-composed stuff that the CDN offers.
If you're looking for a particular one of those, it's probably easiest to extract the specific file from the packs and convert and slice it with some utility.
@carmine merlin Hey not sure if this goes here or how to communicate this I select Rain of Arrows with Manaforged arrow and then another Rain of arrows this happens
Believe that’s fixed by this https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6059. I’ll put out a hotfix for it in the next couple hours
Ok thanks
Hi, is there a chat command currently to make party public / private? I found out that the command /party_description will automatically put you in a public party. but i was unable to find a way to automatically set my party private or public
anyone have an older version of simplegraphics.ddl? PoB is running very slow on my computer and I can't seem to figure out why. Tried updated drivers, update windowsd, and nothing works.
Does anyone know if the X/Y of item in special tabs (currency/essence/frag/ect) have any relation to their position in the tab or is it all mapped manually?
thanks 
Hey if I'm working with the trade api where can I find something that would translate explicit.stat_288644193 to whatever it actually is?
Can you eli5 this lmao
"whatever it actually is" is what?
"1 added passive skill is Assert Dominance/Magnifier/Random cluster enchant here"
RoPoe has a array of all the notables, I wanted to parse through all the combinations to see pricing on each combination.
But I'm not sure how to map "One Added Passive Skill is X" to it's explicit.stat_numberhere
for such simple case, just using https://www.pathofexile.com/api/trade/data/stats is enough
Oh yeah this is perfect, thanks!
@fickle yew not sure if it's an anomaly, but Bubonic Trail (2 Jewel) is very off.
There's tons listed for 100c or less
can anyone help with awakened poe trade
This channel is not for general help using tools
also don't ask to ask
you might have some luck reading the APT faq, or on the TFT tool channel
Does anyone know if there's any resources out there that show what notable can belong to what type of cluster? https://poedb.tw/us/Medium_Cluster_Jewel_affliction_fire_damage_over_time_multiplier How this page shoes that master of fire is a valid notable
PoEDB provides things come out each league, as well as items, uniques, skills and passives. Path of Exile Wiki editing functions.
most affixes have spawn tags which dictate on which items they can be rolled, so in this case master of fire has affliction_fire_damage_over_time_multiplier with weight of 46
Sorry yes, i get that, I was thinking more as a dump of JSON data, %burning damage can have x notables
PoEDB doesn't seem to have an api to scrape it from
BS4 might actually be a better solution, might play with that
you might give repoe a try, but its no longer updated so some things may be outdated, no idea how much cluster jewel mods changed since the last update
FYI this was a dumb user issue (i.e. me not reading the output of the error correctly) where I expected g++ to be included in the default gcc package. After installing gcc-c++ package, things are building.
oh, thought everyone installs it via build-essential 😄
That's a debian thing, I'm on fedora-based nobara linux.
There's a group there that's roughly the same, but I tend to install individual packages.
https://web.poecdn.com/gen/image/WzI1LDE0LHsiZiI6IjJESXRlbXMvQXJtb3Vycy9Cb290cy9Cb290c1N0cjMiLCJ3IjoyLCJoIjoyLCJzY2FsZSI6MX1d/56efa25c50/BootsStr3.png Dose anyone know what this section 56efa25c50 of these URL represents?
Opaque anti-tamper hash, pretty much.
So probably no way to predict it ourselves then thanks
Can't quite find the old discussions around it, but in effect you can mirror any existing URLs you obtain but you can't invent your own: #tooldev-general message
ah makes sense mainly just trying to reduce the need to transfer these full URLs from server -> browser in a few places where it's a non insignificant % of the total data
15:60:300,
30:300:1800```
How the hell do you translate these rate limits lmao
Requests, time period, penalty.
Am I right in reading 5 requests every 10 seconds, 60 second lockout
Correct.
jesus 30 requests every 5 minutes this is going to take forever
Is there any way to get a higher limit?
Some endpoints (used to) have different amounts depending on if you're authed or not, some endpoints have different limits.
Limits can be a bit tighter during league start when servers are straining as well, not sure where we're at right now either.
Most of the endpoints that are unauthed or account-bound without OAuth tends to be scoped for careful human-driven interaction at best.
Actual API endpoints behind OAuth scopes tend to work more at scale, but I haven't tried any of that myself.
For OAuth, what unit of time is the expires_in field in the /oauth/token success response?
Ought to be seconds.
It's quite short here if I recall correctly.
Or rather, the auth code is short-lived but the token is fairly long.
The example in the docs has an expiry time of 2592000, which is 30 days.
Yeah, just that my dumb self saw a big number and decided to treat it as an epoch time timestamp and wondered why I was getting freaky results, lol.
Anyone have any tips on keeping up with the stash tab river? It feels like I can't catch up even going at the rate limit
The big trick we tend to recommend is to read the first bunch of bytes of the response and pull out the next ID from that before reading the rest, so you can pipeline the next request as soon as possible.
With that in place and rubbing up against the rate limits, there's not much you can do with one client.
Early league there's occasionally more traffic than the limits can supply, not really anything you can do about that apart from maybe dropping off and restarting from a more current ID if you don't require all intermediary state.
Obsoleted stashes are going to be smaller too, so falling too far back might iterate faster.
Can you use multiple clients? The rate limit policy is per IP and not by client, so could you for example use a machine with 2 public IPs and alternate between them?
and yeah I'm only reading the headers from the response to get the next change ID and then passing the rest of the processing to another thread to be published to a message broker
I actually don't know what the rules are around that, it would kind of be circumventing the point of a rate limit.
Well client is also a valid rate limit policy so I would think that if they wanted it limited like that then they could just change the rate limit policy
fwiw my application does currently support every rate limit rules type
I didn't mean client per se there, more talking about hosts.
If you're going at the rate limit you should be keeping up, you can't ever catch up because of the 5 min delay. In my experience during peak times of the day I fall a bit more behind compared to over night but it catches up to the delay just going at the rate limit
I should probably not have mentioned it at all.
Some of the other service endpoints (e.g. /league/<league>/ladder) do indeed use a client rate limit rule. I'm assuming that in this context one client refers to one oauth2 client id, i.e. one approved application
Since the psapi endpoint specifically uses an ip rule I'm guessing it would be fine. For development or for things that don't need to be in real time I think that falling behind a bit then catching up later is fine, or even like zao suggested dropping some intermediary data to jump to a catch-up point.
The application I'm building is meant to be uses to search items in real time (-5 minutes) so being 10 minutes or an hour behind would make it pretty unusable in a lot of cases
alternatively is there any way to request a rate limit increase per application? like I said being behind is fine for development for my application but if down the line it's released and used by players then having that option would be nice
They are good about responding to emails it wouldn't hurt to ask if you had a good use case/explanation. In the past some apps got whitelisted to bypass the 5 min delay so it's probably possible even if unlikely
do you know if there is a preferred email for those inquiries? in the past I've either emailed oauth2 or novynn directly (lol) but I'm not sure if those are the best places
I sent a few questions/ideas to the oauth email and a developer got back to me and I asked in those emails if there was a better email to use and they didn't mention one so that at least works 
lmao I did the same thing and also didn't get anything mentioned
what type of live searches are you working on if not private?
I'm working on a trade indexer, like the official trade site but with some more features
which sounds like a very boring thing to do with the data lol but there are other features too
for normal users the best feature will probably be an integrated crafting emulator/planner so you can craft directly on items from trade searches or run a planner on them to verify your crafting method will work
the crafting emulator will probably the first published part of the project and I'm planning to make it open source so other developers can add crafting integration to their applications
another feature although it's not going to be very exciting to users is a complex querying language to search for items as an alternative to the dropdown based approach (currently queries are written in hcl, contemplating implementing a dsl for it or using something else prebuilt) which hopefully some development minded users will appreciate
and some publicly exposed APIs for item searching, live searches, etc
another neat planned feature is being able to search for item sets (eg, two rings with a total of 200 ele res)
Sounds cool having a integrated crafting emulator would be interesting combined item searches sounds awesome as well
If it ever got off the ground and had real users it'd be cool to add in some SEO features as well, like seeing how often your items show up in searches, the average placement in the search, what a typical query that includes the item looks like, etc
but I haven't thought about those much because it seems pretty hard to get off the ground lol
Yeah the advanced queries sound complicated enough without needing to also do trade emulation but if it came together it would get users surely. Does the removal of lastCharacterName affect that at all?
it makes it impossible to buy items without leaving the site
and makes it pretty hard to buy them in general since you can't make a official trade site query by item id
to buy items it has to generate an official trade site query that will only result in the item to buy
it would be awesome if the unofficial https://www.pathofexile.com/api/trade/fetch api was added to an oauth scope
that would allow official trade messages to be sent from the site without leaving just by signing in with your poe account
unofficially by breaking TOS and providing a POESESSID it can be used, but I'm not going to put that in a public application
Yeah hopefully the trade part of the official API will be expanded now that the name got removed since it encourages more session id usage
SEO data sounds interesting for getting better data on how much interest there is for X item at Y price
yeah it would be awesome if they added more trade related APIs to the official third party apis, even just by adding that fetch endpoint it would allow already sold items to not show up in searches without giving snipers a programmatic advantage, it includes a signed whisper message so third party trade sites could send official trade messages knowing that a verified item exists, help fill the geps of the data which is missing from the river api (exact mods/veiled mods)
I'd be really curious to know why some of my items sell, like "was the int on that belt really important? or are people just searching for the chaos res?"
another thing I'd love to do that's a bit inspired by poestack (great site btw
) is being able to see price history for novel item searches
Thanks
doing more pricing history for item searches is cool just a lot of data the more you want to store
I bet with a lot of SOE type data you could start doing some fairly accurate pricing prediction on rares
yeah that's a project for way down the line for me though lol I have so much planned already
since it's a full trade site I already index every item so how much more data would it be to just not remove items after they're gone, can't be that much... right?
you could perhaps try the hidden ?unbuffered=1 query parameter though last I checked it didn't help much
Thanks, I'll check that out!
It depends on how much of each item you are storing
hey I'm looking at the dat files and the base items seem to be missing certain tags, for example Astral Plate does not have the armour tag, I don't see a list of tags in the ItemClasses or ItemClassCategories table either, how am I supposed to figure out all of the tags for an item? Am I missing a table/column? or are you just supposed to know which class associates with which tags?
I don't think items have tags in that sense, your best bet may be ArmourTypes.dat64 which gives armour/es/evasion/ward values per BaseItemType if that's what you're after
I'm looking for finding mods, in my example Astral Plate has the str_armour tag but not the armour tag. Mods weights are based on tags, so even though there are some mods which have a weight for str_armour, most of the mods which should be valid on an Astral Plate only have weight for the armour tag
For example StunRecovery4 (of Steel Skin, a valid mod on an Astral Plate) has the following weights: 0 for gloves, 1000 for armour , 1000 for belt, and 0 for default
I'm not exactly sure how I can tell from looking at the .dat that StunRecovery4 should be allowed on an Astral Plate
They are not in .dat file
Are they somewhere else? or is it something that just needs to be hard-coded?
Metadata\Items\Armours\BodyArmours\AbstractBodyArmour.it was wondering how those linked up
this is perfect, thank you!
Is there any official way to crawl ladder characters and get info on them including their equipment?
Hi, are there any resources available that can help me to understand how to generate a POB import code from character data from the poe API?
PoB codes are base64-encoded (with modified alphabet) deflate-compressed XML.
https://github.com/PoeStack/poestack-apollo/blob/main/src/services/pob-service.ts#L192 this service achieves POE API character -> POB code using a headless POB client
The XML format is "whatever PoB generates when you save/export".
I think I just made a nice recoup calculator since I was checking how one of my builds performs
can I have someone spot check my google sheet?
not sure if this is the right place to ask so apologies if not; I'm wondering whether supports like spell totem, trap and cluster trap affect the damage of minions they spawn. In POB it says they don't, but I've seen conflicting reports in other posts that the damage penalty to supported skills does occur on the minions. Is POB correct in this case? E.g. raise zombie +trap + cluster trap has no effect on DPS regardless of turning either support off or on
if the minions skills can be supported by the support then they do, otherwise they dont
eg, if the minion were to throw traps, cluster traps would affect it
but if the minion instead does a default attack or blows up from minion instability, then it won't take the damage penalty?
Is there some documentation what is available on the CDN?
Looking for class icons + skill icons atm
only item and unique icons are on the cdn
Ah, what's the recommended way to source other icons?
I'm using bun_extract_file from https://github.com/zao/ooz to extract files in Content.ggpk
and convert .dds to .png by https://github.com/Microsoft/DirectXTex/wiki/Texconv
or https://github.com/aianlinb/LibGGPK2 works fine to extract png directly
Most images are indexed in DDS sprite sheets in Art/UIImages1.txt, which you can convert after extraction with TexConv as Chuan mentioned or https://github.com/zao/poe-utils/ to slice it out to PNG.
Miscellaneous data mangling utilities for Path of Exile - GitHub - zao/poe-utils: Miscellaneous data mangling utilities for Path of Exile
Do we know of any community project/coordination to archive old PoE content hosted on imgur?
I guess this is prompted by the recent news that Imgur will be removing all content that isn't associated with an account or album? https://www.engadget.com/imgur-to-ban-explicit-images-and-delete-uploads-not-tied-to-an-account-122537118.html
Does anyone know if there's any web based Atlas passive tree tool that can highlight nodes based on url search query?
Hi, I'm making a client library for the POE API and I'm a bit confused about how to authorize my application. I can see from the docs that they use OAuth2 and I found an "Authorized Apps" tab in my poe account page so I figure maybe I can somehow authorize my app and get a token that way?
Not quite.
That's for the existing apps that you have granted some amount of rights to your account to.
The way to get started with the PoE API is to follow the instructions in https://www.pathofexile.com/developer/docs#gettingstarted which involve mailing the contact address at GGG with information on your application and the scopes you desire to use.
Once you have it registered, you can manage it in your account settings too, but you can't create new ones without explicit contact.
Would it not be possible to do a type of "on behalf of" flow where the application can send me to the login page, and then after I've authorized it it can act on my behalf?
My aspiration right now is to make a general client application for the entire API, it wants access to everything. Not necessarily at the same time once it is in actual use, but when developing it I need to test that it works properly with all the endpoints
There's unfortunately not any test API or other training wheel type of things, you've got to be up-front about what you need.
The easiest route would probably be to use the formal contact route and see if they've got any advise or solutions for you here, like having one registered app with all the scopes for development and for actual production apps you'd have separately registered ones with the set of scopes that make sense.
I'll try that then, thank you for the advice so far 🙂
I noticed that I could just go to the endpoint from the browser, presumably because I have tokens stored. But when I send a similar request from my test it was refused, so I assumed I could use the same token there if I could just find a way to reliably and cleanly actually get it without requiring people to do weird stuff
Historically the way the API and site worked is that it acted on the session ID cookie, which granted the user agent almost unlimited rights to your account.
Tools used to have you rip that out of the browser and put in that session ID to interact with the APIs, which super bad from a security standpoint to give that to often-unaudited and self-updating code or even worse websites.
Or broken / missing user agent
The whole OAuth initiative is to get rid of that kind of unfettered access from anonymous programs and sites and regulate it up to share no secrets and have time-limited authorizations for particular scopes.
In a browser you may be able to perform a limited amount of stuff acting as your sign-in to the site itself, but it's not really something you could lift outside in any reasonable way I don't think.
Yeah I was envisioning a flow similar to what I'm used to doing with Azure AD. Where I will send a user to Microsoft's login endpoint and the user will log in with their own credentials and then be redirected back to my application with an access code I can redeem for an access token and a refresh token etc. That way the application can act on behalf of the user using the app, as opposed to acting on behalf of the app itself.
Similar how the POE website will do the "Log in with Steam" and send me to Steam where I'll log in and be redirected back to poe
Yep, that's the oauth way, PoE acts quite similar to other places where you might have encountered it.
Biggest difference there was pretty much that it didn't do "public clients" until recently, limiting its usability in standalone applications rather than websites.
Tools used to have you rip that out of the browser and put in that session ID to interact with the APIs
This is by the way exactly what I meant when I said "without requiring people to do weird stuff" :p'
But you're saying in order to do that I need to first contact GGG about access as well?
Aye, You need a registered app to do anything around OAuth with GGG and the way to do that is email them with your requirements and the information required as outlined in the docs.
Alright, thanks again and sorry for making you repeat yourself
No worries.
poeninja: suggestion: add EHP column
my imgur album, can track map popularity 
Can we get a link to the album 
only I can view stats 
Views are public no? Won't be able to see the rest yeah
https://imgur.com/a/yh2GJiX not using map check in APT smh
I'm a minion player 
Hello there. I do not know where to put this. There is a problem with Filterblade and I hope some Filterblade dev sees this here.
When I load in a preset into my existing customized filter, then the rules are strangely merged together. For example:
In section "Miscellaneous" under "Identified Mod Filtering" for "Physical Weapons" ("Phys Weapons 1") I click "Add list", fill it with some mods and set the condition to ">= 2" (see screenshot).
When I now load in a preset, then the preset would destroy my config. It adds mods to the list and changes the condition (second screenshot).
When I add another preset, then this destroys the config of the previous preset.
Am I doing something wrong? Is this a bug?
ok this is actually funny.
people write how to fix thing for ad views
spammers find a way
is it possible to make a tree simulator/emulator from this data? https://www.reddit.com/r/pathofexile/comments/12y4rvk/321_crucible_tree_combine_mechanism_cracked_with/
Don't know if this is the proper section to ask or suggest this, but on path of building, I am using an ability that comes from an item, is there anyway for the support gems, to be sorted by dps, for that skill? It just seems to be suggesting Skill gems to put into my helmet instead. Thanks, if this isnt the correct spot, anyway i could be directed to the correct spot to ask D:
There is not atm. It’s been an issue for ages but is tricky to solve
gotcha, i figured something like that, i posted on github about the twister change as well, as that hasn't changed as far as im aware, of it having 100ms cd
and i think Anomalous Summon Phantasm got broken again lol
Yeah the twister change isn’t in the game files from what I saw so will need to manually add that. I’ll have a look at the phantasm stuff too
is the support for displaying alternative quality name in development for POBB.IN or was it culled?
mh?
currently no support, it's on my todo
alright, not opening a ticket for this then.
was easy, press F5, should show alt qual now
@nova hamlet would it be possible to add strongboxes to craftofexile?
Have there been any considerations from the PoB crowd to implement some kind of plugin/addon system? If not, what would be the stance on it if someone were to propose a PR for something like that?
Probably, i'll make a note to check it out when i get the chance
I'm asking because in my surroundings I've had a bunch of people wanting to either add features for themselves to PoB or in general asking why it does not do certain things and I believe exposing an API to add extra functionality would be "nice"?
Not talking about PoB in particular but a plugin system is a terrible burden on a software as it pretty much cements design choices forever, lest you're OK with the negative PR hit from breaking plugins.
Or do plugins "correctly", something I'm not sure that anyone ever has managed to do.
The proper approach to adding things to the core project is to add things to the core project. It's fairly hackable and as long as it aligns with the philosophy it's quite likely to be merged if one puts in the work.
If it's not, well, there's forking.
The innards would benefit a bit from a bit more well-defined evaluation and structure, but that wouldn't improve if you add in hooks and customization points all over the place, those would make it less possible to reason about the state of things.
One of the reasons why meaningful upheaving development can be done in PoB currently is that all development is contained inside a single project, if you ignore the third party runtimes that only really implement the Lua<->native API.
Very fair
I definitely see your points
I think as a user I'd personally prefer something plugin-esque as it would allow me to just add in functionality without having to update the main application (especially if it is some fringe thing a friend made)
I'm curious, have you and your peers tried to do any work in the current codebase or is it more along the lines of "it would be nice" from the outside?
And if the former, were there any major points of friction?
I have not hacked around in the current codebase yet. Looked around on GitHub and the way it is set up looks a bit... daunting? With it all being in Lua, then having that native runtime just zipped up in the repo
(and DLLs in a folder)
I don't mind Lua itself, just the setup being a bit interesting
There's a writeup on getting started with development at https://github.com/PathOfBuildingCommunity/PathOfBuilding/blob/dev/CONTRIBUTING.md but it's pretty much that you clone the repo and start working in it, as it's about as self-contained as a portable installation.
Any "normal" contributor would only ever touch the Lua and having it immediately hackable in a checkout is a nice benefit, with some additional effort to set up a debugger.
The native runtime has been stable for ages and only really people like me touch it.
Very fair
I've only ever used Lua for some light scripting so I'm not exactly used to an entire graphical app being written in it
One of the concerns my peers had was that one might put considerable effort into getting a feature working but it then not actually making it into the codebase for whatever reason
I think that's also one of the big things which made us initially think of something like plugins, because that'd let us just do something and share it with friends I guess
as an example, someone was looking into speeding up the node power thingy (please don't ask me how, I have no idea lmao)
One thing that matters there is discussion. Reach out, get in touch with the gang, talk about it.
A PR to speed up node power calculations would be VERY welcome, lol
A wild PR out of the blue sucks, while something that evolves over time in mutual understanding is much better.
Not sure why that should just be a plugin
ye I get that Wires haha
On the "sharing with friends" piece: all of the files are stored plainly in the installation directory, you can just drop-in those files (though you'd have to ignore the updater trying to "fix" them for you)
oh that's interesting
for some reason I always thought PoB'd be packaged in some way
the contribution page mentions a discord server and that you should DM someone to get an invite, would all of us have to ask for an invite separately or is it fine if I get one and share it with my friends?
Personally I like to vet people, at least nominally, so we don't have a peanut gallery forming in the dev discord, but I could make an exception of there is a core of developers who have been talking elsewhere
Definitely get that. We're only 3 people anyway so I'll redirect them to you if that's okay
Is the whole embedding thing for PoB documented somewhere?
What do you mean? Most of the docs are in the CONTRIBUTING.md file
Do you mean running it via the HeadlessWrapper or the kind of stuff you see from the pobbin embeds?
I believe I've seen mention of being able to embed or otherwise use PoB "headless" before
but also yeah, e.g. what pobb.in does
not sure if ninja also uses PoB behind the scenes but I would assume it does
Many consumers utilize the information stored in the build code (which is essentially a PoB XML save) which has pre-munched numbers for things like the sidebar.
They don't actually run PoB themselves, just leverage previously derived data.
Sites like ninja do it more live by hand-cranking a customized PoB installation.
It's very fun 
heh
Speak of a devil 😄
There is a HeadlessWrapper.lua that can get you started, but yeah I imagine most sites that actually run PoB have either heavily modified that or use other hooks they've made themselves
ah right I forgot the build code has pre-calc'd stuff inside
ahh
I see
HeadlessWrapper.lua just mocks the rendering API
More like a poorly modified HeadlessWrapper.lua in my case 
kinda lowkey almost want to strangle you Zach, you keep moving everything around on stack, I'm having to search for the same shit every week /s
The ui will surely stay the same soon

surely
iirc poestack is pure TS/JS, right? Was it hard to interface with the Lua runtime from that?
~100k+ POBs per day with the sketchiest headless wrapper
this is the only LUA I've ever written
I've been playing around with Elixir for a bit now and was wondering if I should just move to a pure Lua setup to make it easier 
it wasn't too had to make it interface the main challenge was figuring out how to get it to load/execute
I just spawn the POB process and talk to it through std in/out
I assume you have to spin up a luajit process every time and have it print out something like JSON on stdout?
ye
makes sense
what does stack need a live pob session for tho?
the character ladder
Everything I write at work is TS so used to it
Ye not trying to talk down on you for using it, I'm just an old fart (22) who's too lazy to learn the cool new stuff
I definitely envy the whole JS/TS ecosystem haha
when half the projects I see on github are from people 16 and below it makes me feel old
I actually need to figure out how to make the pob processor faster
Too many people joining per day now it's getting slow
have you tried to profile it? Is the problem in JS or Lua?
like worst case you can probably "just" scale up to a more powerful server and run more instances of PoB in parallel?
heh
a PoB SaaS
It's probably just the POB has to do a bunch of processing when it loads a new character there might not be a way to make it any quicker and I just need to run more in parallel. But also the like 15 lines of lua in that fork is all I know about lua right now so it also seem likely I'm not doing this very efficiently so I want to go over it again
I'm wondering how much work PoB does on start-up as opposed to on character load
at least it seems to take a bit to load when I'm starting it with the GUI
I don't restart it for each character snapshot it stays open and just keeps loading new characters
ahh
I have access to 530k poe characters right now though so there is just a lot of work that needs to be done each day for new snapshots
are those daily snapshots time critical?
otherwise you can probably schedule them to just happen during times there's little load?
they are not really time critical but there also aren't times of low load, the background process is snapshotting characters 24/7 to keep up
yeah on league start I spin up different deployments for different groups of characters
I don't like doing it all the time because it increases cost a lot since the POB deployments need a good amount of ram
Do it the web-scale way and just offload all the calculation and memory to a user's browser /s
They wouldn't notice if Firefox/Chrome used an extra GB of ram for a few minutes anyway
Yeah overall it's pretty minor I've just been too busy with other things to go back to it and I'm probably not the best person to be optimizing it anyways
mad respect for getting stack going in the first place
it's been a really fun project so many more things to add but seeing so many people use it already has been really cool
I woooonder if you could do some kind of clever preforking thing there
With zygotes like Chrome/Firefox?
Or use unexec https://lwn.net/Articles/673724/
The Emacs editor requires a lot of Lisp code and program state before it
can start doing its job. That led Emacs developers to add the
"unexec" feature to quickly load all of that at startup, but unexec has
always been something of a hack. It employs
a fairly ugly (and intrusive) mechanism to do its job. Some non-standard
extensions to the ...
Is there a tool already created, or perhaps an API to use, to determine the mod tiers on an item? I'm thinking you copy the text from the item in game to the clipboard, then check the mods against a list (poedb perhaps?).
ctrl+alt+c, mod tiers are there
there are also various tools with ctrl+c parsing attempts, if you really want
but advanced mods from ctrl+alt+c is definitely preferable
git down, panik 
are there any good tools for filtering rares based on tiers or expected value? Closest thing I found is: https://github.com/Essyer/PoETiS, but that one requires finesse with their config file and I'm looking for more generic filtering based on tiering/weighting of an attribute. bonus points if it looked out for synergies.
I also was looking at https://poeprices.info/, but the pricing algo seems pretty darn off to me.
I'm basically wanting to make or use some sort of first-pass filter for my dump tab. So ideally it would use the stash API from PoE's site
Hello!
Is there a way for me to pull data from the minion crucible tree page and place it in an excel?
Is there a database of some sort?
I usually just use the browser console to pull from poedb
hello guys. i want to make some basic API testings on poe but i couldn't figure out how i can get token. i mean access to server endpoint.
https://www.pathofexile.com/developer/docs/authorization#scopes probably explained here but i can't get the idea
For most things with OAuth access there's no facilities for testing. You need to contact GGG with your desired scopes to get set up.
You can't perform any of the authorization flows on the page you linked without having an application set up with GGG beforehand as it involves redirection endpoints that must be previously registered.
@worthy cape ohh. sorry i m a newbie test automation engineer. i m getting API classes rn.(finished java + selenium and other stuff). i thought maybe i can make some basic tests on 3rd party tools like poe chaos recipe.
In the past all you needed was a session ID from the website to access your own data, while now many API endpoints are restricted to be OAuth only.
I forget which particularly, it might help to look at old software like Acquisition or Procurement and see how they interact with stashes if they still work.
or a very simple application that counts beasts total at menagerie
@worthy cape 😦 i couldn't get the idea of oauth thing.. e.g. in my lessen there is a swagger document that i can find easily to what should i write
or i should wait to finish all API classes to grasp more and turn back to this topic?
We used to have a swagger spec for PoE endpoints but it seems lost to time now.
What's rate limit on path of trading
The authoritative documentation for PoE is the one you've found in /developer/docs, but as it notes most of it is behind that you need grants for scopes via OAuth.
i mean it is a special thing? idk how i can use it where can i get idea 😒
If you're just interested in playing with an API around games and not necessarily PoE - I found the Riot Games' one fairly accessible when looking into LoL matches: https://developer.riotgames.com/apis
OAuth is a common standard for authentication for third party services and something you're likely to run into if you do any form of service or site that does work or requests on behalf of users.
@worthy cape as a QA do you think it is necessary to know it or optional? i mean i get the basic idea but i don't know how i can implement on intelij
The general idea with OAuth is that your application is set up ahead of time with "scopes", particular things it wants to do and access on behalf of an user. The auth flow is that the user gets sent to the official login page for the service to authorize your application, then redirected back to a pre-determined URL with a secret that your backend/program can exchange for the right to do those things as the user for an amount of time.
iirc it changes based on a few things, it should be in the response header?
like join another website via google account right?
what's path of trading?
I assumed he just meant trade in general
PoE API endpoints (documented and not) have the same rate limit scheme with a policy that classifies the endpoint and several rules with state that indicate how far you're into a particular rate limit.
The scheme is described at https://www.pathofexile.com/developer/docs#ratelimits.
cfr.
@worthy cape ohh so i should ask ggg for get the token with a reason ?https://www.pathofexile.com/developer/docs#policy like fill a form and i want to access those areas etc?
if you scroll a little to getting started it's explained there
@formal kraken thank you i think i missed the point . i didn't want o be rude
Kind of. You register an application with the information mentioned in that Getting Started. You can use the ID and URL you set up then in the authorization flow to authenticate as an user to get the required tokens to use the actual endpoints.
there is no difference to use on programming language like java python right? i hope so 😅
Not really no
sorry guys i m so newbie the area that maybe i ask very unrelated questions
As long as you can send/get requests using some library or method you can use the language
i learned something and i want to practice with my hobby( poe in this case) so that they ll be permanent
A typical PoE app (confidential client) has a backend service of some sort and the ability to send users to their browser to perform the authentication flow.
Language of choice tends to be anything that speaks HTTP.
in my mind like i want to make a basic assertion that count beasts and if it is more than 950 itll give a warning , after 1000 gonna give a warning like menagerie is full.
is there an API for this? i don't think so
Oh uh, I was just refreshing the page
Each search you perform counts toward the rate limit. Tools like APT that search also count toward the rate limit.
If the site tells you you've exceeded the limit, you don't have much choice but to not touch the thing for whatever the timeout period is you hit (10s / 1m / 30m).
@worthy cape accessing beast tab is not possible as i see from documents right? so my basic app project is not possible sadge
Yeah accessing the beast/expedition/heist inventories is not possible through the api 
Anyone here have issues with Awakened Poe Trade giving issues with keybinds not working, or issues with overlaying?
Specifically, when I ctrl+D the price check window opens up just fine, but moment I move my mouse it goes away, cant interact with it as a result.
And I went through the OCR setup process for detecting alt quality gems and set the keybind to a few different possible keybinds, but no matter what I click it justseems to be unresponsive.
F5 works though so thats interesting, and shift+space opens up the interface just fine, I can interact with the "main" windows it shows.
I tried running as admin, no change in behavior, and debug mode enabled logging doesnt log anything.
I have AMD software running, I disabled all keybinds for that and all forms of "stay on top" for the AMD stuff, and I dont have any other autohotkey or "on top" global programs that would be listening to keybinds running that I can think of
oh and, on top of that, the program doesnt seem to be downloading any price data?
so something seems very borked :x
Any tools for searching/filtering stash tabs with Pseudo-mod support, akin to the filters on trade site?
you can search your own (public) stash on the trade site
Hm I guess that works, not optimal but works
can someone explain to me why mine dont work? :
const working = https://www.pathofexile.com/trade/search/Crucible?q={"query":{"filters":{"misc_filters":{"filters":{"gem_level":{"min":1,"max":19},"quality":{"min":20,"max":20}}}},"type":"Awakened Chain Support"}};
const mine = https://www.pathofexile.com/trade/search/Crucible?q={"query":{"filters":{"misc_filters":{"filters":{"gem_level":{"min":1,"max":19},"quality":{"min":20,"max":20}}}},"type":"Anomalous Blast Rain"}};
try searching for anom blast rain and check your browser network tab, gem alt quality is handled differently than awakened gems
ohhhhhhhhh
btw there is no tool that give us leveling gem profitiablity right? since im building one
i see
tyvm
yes u were right i think Awakened Chain Support work in my program while other gems dont
yea im working on that rn i will let you know
yea its finally working

Are there any examples for oauth client credentials? I'd love to do some stuff with the API, I've done some things in the past, but I'm having problems to authorize the app. So far, I generated poe auth url, I can click authorize there but on callback, I get internal server error.
https://poe.re/#/beast bestiary economy regex now live 😄
Not much more than what's in the developer docs already for the two types of auth flow, unless you can find some code for an existing service to look at.
If you show some suitably redacted requests and how you prepare them someone experienced might be able to advise.
This is how I generate auth url:
const authUrl = "https://www.pathofexile.com/oauth/authorize?client_id=${clientId}&response_type=code&scope=service:psapi&state=10ceb8104963e91e47a95f4138448ecf&redirect_uri=${redirectUri}&code_challenge=${code_challenge}&code_challenge_method=S256";
This is callback:
const { code, state } = req.query;
const response = await axios.post(
"https://www.pathofexile.com/oauth/token",
{
client_id: 'clientid',
client_secret: 'secret',
grant_type: 'authorization_code',
code: code,
redirect_uri: "https://mywebsite.com/auth/callback",
scope: "service:psapi",
code_verifier: req.session.code_verifier,
}
);
I'm sure I'm doing something wrong, watched some guides, but I guess my knowledge is not good enough for this.
Once I get to the point that I can start using API I will be good, but auth ugh :/
Do you know of any code of existing service that I can look at? Tried searching on google/github with no luck for this.
set a user agent
