#tooldev-general
1 messages Β· Page 20 of 1
what else would be cool is to match stats with https://www.pathofexile.com/api/trade2/data/stats
I do want to add an advanced version of the parser that also returns the mod tiers actually, but that's definitely a bit further in the horizon
yeah that would be harder because stats would have multiple matches and I think some are combined
Yeah I think without advanced copy it might be impossible sadly
Here's to hoping CTRL ALT C comes to PoE 2 π
are you gonna also release the fancy tooltip ui you've created
Was just about to say actually! That's also on the TODO for today - I want to write the regular web components version as well first so I can release it with both React and web components as v1
https://gaming.tools/poe2/similar-items-search I'm working on this
Svelte? π
Svelte β€οΈ
I'm planning to make the renderer work in all major frameworks, so watch out for a Svelte package as well
If you want to integrate it I'll prioritize it higher
yeah would be great
I was planning to create it myself but if you do, I can contribute instead
always prioritize svelte
i found some issues parsing a few items.. should i be patient for the next release or open github issues? ;)
Please open GH issues, that would be super appreciated! π
I'll work on fixing them immediately
Pushed a few of the fixes, thanks for the report! π Also pushed it to an NPM package:
Can someone remind me which data file has the mod domain, gen type, group, etc?
nevermind... it's just mods
Anyone hear an update for PoB for PoE 2? The latest thing I heard was a release today (1/13), but I don't see anything on GitHub
they are working on it
Maybe local wants to give an update but they are still hard at work
LocalIdentity tweeted about it. Delayed it again until either tomorrow night (Australian time) or until 0.1.1 release
Ty zao β€οΈ
solidjs please π
(itll basically be the same as react, syntax near identical)
Noted! Plan (in this order) is then:
Svelte
React
Solid
Vue
Angular
Web components
why do typescript generics have to suck so much 
PassiveSkillsHash is unsigned in the passive skill tree, but signed when searching in trade.
i finished a canvas renderer last night
is path of building releasing today for poe2?
Unfortunately going to have to delay the PoB release by a little longer.
Aiming to get it done by the night of the 15th is Australia so ~60 hours from now
Not sure when ggg is putting out the game patch or if itβs worth waiting for that too before we put out the release
What do you mean? TS type system is one of the most powerful there is
easy to have powerful generics in a language where types dont actually mean anything
ποΈ damn you dropped this
@hexed mesa I think you forgot | null> at the end of your sentence
Nice!
let's see if i will actually integrate this into a discord bot
discord bot dev is annoying imo
@velvet fogthanks
Types do mean something in TypeScript though. It's in the name...
typescript is not a thing, its a psyop
in that case types don't mean anything anywhere then since it all ends up in machine code anyway π
How do we filter on waystones?
client does not recognise class named "Map" and there is no rule named "MapTier"
you might be shocked to hear this, but "Waystones"
and "WaystoneTier"
indeed i am shocked. there is no way i would have guessed that xD
FilterBlade is up, you can always look there
When grabbing item data from the trade site, I see there is a field called "indexed". I assume that indicates when the item was listed for trade? Is there anyway to determine when an item was created? Ideally, I'd like to be able to tell whether an item was created before or after a patch
Where did you find this information btw?
Is there a complete filter guide for poe2 out there somewhere?
filterblade, or my filter... possibly poe2wiki but doubt it
it's just accumulated experience at this point
well... filterblade must have gotten that information from somewhere?
or did he guess it?
ok, kinda wonder if we should just try to ask ggg to release this info
i don't see why it would be kept a secret
poe2 filter code seems to be a fork of 3.18 poe1 filter code + some generally buggy hacks to support new poe2 types/features
ggg simply hasn't had time to even get filter support working properly, much less document it
that's fair, will hope to get this info released sometime in the future then
they have added WaystoneTier at least to the about item filter page on the main site
https://www.pathofexile.com/item-filter/about
Oh, interesting, wonder if we can have multiple sounds with custom sounds and if Sockets operator are fixed or they just added the WaystoneTier
is there any current way to hit the trade site?
Define hit
i've found a way, im trying to dabble with a price checker
the types in typescript are good but generics are far and away one of the most contrived features
also full of seemingly endless edge cases
(that's what I was bitching about fyi)
e.g. restricting from a union type using string literal or enum is so much harder than it should be. I read for 4 hrs yesterday about it and still dont get it
if you have enum with 10 unique values and 10 classes with a property type = 1, type = 2 etc for each enum value but then conflicting types on other props e.g. value: number, value: boolean and then union those classes into a type, you can isolate it but then as you pass the isolated type around, it has a pile of areas where intuitively it should work but it just doesnt
If you're using Enums in TypeScript you're doing something wrong to be fair
as const for the win
this is fine
enum MyEnum {
FIRST = "first",
SECOND = "second",
...
}
I tried the same thing with as const for a bit and still had the exact same issue, I'll push it up today and someone that's a genius at ts types can look at it if they want π
(it's a factory function that creates classes and takes in parameters for those classes constructors)
I'm not sure if I like this pattern vs. manually writing all tests directly in the test file, this definitely feels like less effort to write new test cases
I guess I could name the test cases differently based on what they're testing
"Ah yes, 6.ts, the edge case"
There will be a Taipei Game Show next week (Jan 23th to 26th), and Path of Exile 2 is on the list of exhibitors, but Hotcool said there will be no official personnel present.
I find them much easier to both read and write when I have 4+ similar test cases. I tend to define them in the same file unless they get way too big, but I really like this approach.
We have some large table driven tests at work that could maybe benefit from being chunked like this π€ . They're also parser tests, funny enough π
Why seperate files? Name the files accordingly and put your tests in there and name them accordingly too, it's not hard
No reason to call the parser individually in all those files - this version requires way less setup, it literally just exports the text and the expected result from each file, main test file takes care of the rest
Itβs growing on me, I like it for stuff like this
I do need to name them differently tho
I've done similar things but mostly put it all in one big json which then got evaluated - it's nice if you know the system well and can easily add new cases but at some point you can spend too much time on it if you also want to cover more than 1 assertion π
For sure - it definitely works for now with this catch-all "Hey I just want to simply run the parser on all these cases" - but I am going to change the approach a bit when it comes to testing the invidiual bits of the parser
i'd probably do it like this:
- put each ctrl+c item into its own .txt file with a descriptive name (
headhunter.txt) - in your item.test.ts, iterate all txt files, creating one test for each, naming the test after the filename, parsing the json file
- if a fitting json file (
headhunter.json) exist, assert it is equal to the parsed txt output - if no fitting json file exists, create one (establishing a baseline)
- manually edit new .json file to match expected output
doing it like this, you don't have to write code for new items and basically just paste a new txt file when you need a new test.
might be worth thinking about if it is ok to check for equality of jsons here or if it's better to compare js objects, which would require you to write .js files instead of .json.
@somber mortar would you mind adding OS tags to EE2 issues ? (eg. os:linux, os:windows, os:mac), I would like to help poeple trying to run ee2 on Linux and this would make it easier to see anything linux specific:) Thanks for the awesome work !
Can you make an issue so I remember to do this tonight (at work rn)
sure thing
And for question stuff Iβm probably going lean towards converting them to discussions, it makes them slightly harder to find, but GitHub added it so you can mark answers like SO which can be helpful instead of a list of comments
DIscussions tend to get overlooked becuase they are not indexed that well, but if you pin a reminder to people to check discussions first on top of the issue view it might work
this is not the place for user questions because poe 2 trade site complains about internal error while trying to check prices through EE2. Sorry if this is the wrong channel to ask.
Trade site seems to be having issues, yes, but the proper place to ask about game issues is the forums, including issues with the website
The down for maintenance message wasn't in place a few minutes ago, trade searches were just returning internal server errors
Thanks for the help! I remember it next time!
ya looks like live searches are still broken. I'm assuming they're working on it.
@rancid tinsel I've been struggling with getting my Svelte build to work for SSR (ie. it bundles document-calls into the dist file). Do you have any good templates for setting up a light weight Svelte library (preferably with Vite so that I can extend it to easily support other frameworks)?
Once I get this stuff building v1 of the renderer is ready
never created a lib, but the wizard should help you
Big problem is that it's not a svelte-first project
Hm
Actually I guess I could do some magic
maybe create one and copy paste
Yeah will have to tweak the configs a bit to allow <insertLib> entrypoint as well but good starting point, ty
this looks great, are you planning on open sourcing this? :)
thank you, not sure yet
Thatβs a pretty nice addition to an item parser/renderer, basically being able to create trade links next to rendered items
So you want a web component?
just trying to make some sense of the search
Which is pretty much what Iβm working on right now. I might implement something similar myself
nice
Yeah but web components feels... awkward to use, so yes the baseline implementation will probably be something like:
web components for the basic parts
lightweight framework wrappers to render the web component and/or do extra logic
I'm trying to build a tool to suggest a price, but without a public api, it's not gonna happen
Sounds like a very hard problem to solve given that price is meta and supply/demand dependent
yep
You can also make the web component via svelte https://svelte.dev/docs/svelte/custom-elements
that way you author in a nicer api, and just consume it whereever
Oh nice
Svelte is not the "main" output tho, basically all the entrypoints will be
my-library/react
my-library/svelte
my-library/solid
etc.
Thus the idea of web components behind it all with a thin wrapper on top
Which basically will just be a shell component using the underlying web component
Got the builder working so now I'm just migrating my old code to the new repo
https://github.com/Path-of-Tools/poe-item-display at least pushed the React version today, been a few busy days with other stuff 
I also need to implement all properties that the parser now supports
After that I'll push Svelte and Solid entrypoints
don't make it too hard on yourself. Unless your main goal is to learn how other frameworks work. A plain vanilla js library (with or without web components) would suffice in my opinion. Anyone who needs a specific version for their framework should be able to write a wrapper, depending on the complexity of your lib of course. Personally i prefer to integrate a JS library even if the author offers a specific implementation for my platform. That way i don't have to worry about framework version collisions and don't have to wait for the author to bump the framework versions that prevent me from updating my project. Second, i can control the integration part and do it in the most idiomatic way I think is appropriate for my platform or project.
so suggestion to the devs for the mercs can we get an auto cast for the skills instead of having to switch ammo then fire id rather use the skills in my binds then have to basic every time
sorry if im in the wrong chat here
I swear ppl just see the word DEV with some blinking rgb colors and full send it, on side note has there been any news of further pob release delays?
Yeah LI posted on Twitter about it earlier tonight: https://x.com/Localldentity/status/1879809603145437238?t=Z_Bml-e1ZxcchHFtGvm2zw&s=19
Sorry for not being able to get the release out yesterday. I wasnβt able to finish it before I went to sleep and Iβm spending my birthday today with family so release will 100% be tomorrow
Iβll release it after the PoE 2 patch is out so itβll include all the game data from that
Neat, I dont have twitter and trying to see ppl's pages without account is practically impossible
Like this is what I see without an account, gl trying to find latest posts when they are in random order with backlog of last 5 years
but should we wish him happy birthday 

Link to the post worked for me without an account you just don't see comments or multi message posts completely
https://status.d420.de/
Nitter (Alternative front end for twitter) took quite a heavy hit but some instances still work
To be fair, the whole project STARTED as a renderer library for React because I needed it myself, then I needed to write a new parser for PoE 2, and now the parser is the main product and the renderer a sidethought
here's the thingy i've been working on
Holy, that's pog
ruh roh
Is that the Spell Echo I hear so much about?
Yeah it has always been there
that looks like a caching issue
clear local storage
removed the front-end stripping in favour of backend stripping because it was causing issues for some people with π₯-devices
still there after clearing my local storage/cache
This is what i see on my phone
hm this probably means the you're local CDN edge didn't clear...
poggies
wow, it works in chrome
but not in b rave
that's surprising
and it USED to work in brave
I purged caches again, maybe hit the clear cache button on the website in brave and see if it works now
Isn't poe2 trade just a copy/pasta of poe1 trade but with a URI change? That would explain why the Crucible stuff appears (in my eyes anyway)
probably, i'm likely just blind and never noticed
any of you guys use brave that could try?
not usre if it was brought up, the new tablet is called "Overseer Precursor Tablet", not "Overseer's" as mentioned in changelog
might be useful for someone
I downloaded it fresh on my phone and can't see the issue with what you were seeing
alright, thanks for trying
I'll see what I can figure out. idk if there's any other cache I haven't cleared yet
but seems to be local issue
maybe claude can help me π
looks like mods for "against the darkness" are searchable now on trade, but are still not exposed in the ui (there's no mapping for those on the data/stats endpoint) https://www.pathofexile.com/trade2/search/poe2/Standard/oOnXORKIl
fixed it. Reset all browsing data from all time and reset brave flags (whatever that is).
We love browsers don't we π
so so much
I've been developing an angular app in electron recently. It's so strange and different than all the C# development I've done up unti this point.
fixed ;)
as in the mods are now correctly searchable?
or you can no longer access them at all?
seems the former
Their search link showed the stat properly when I clicked it at around five past.
@ashen aspen How did you find the stat in the first place?
how did i find it without it being the the ui list?
i noticed the mod was now hoverable (showing mod level and range), which i knew it wasn't before. so i just right click inspect element on the mod line and the mod id (explicit.stat_3991877392) was right there in the html (even when it wasn't on the data/stats endpoint yet)
definitely seems like something isn't uncaching right
but yeah this patch should have solutions for all of the problematic jewel mods
when i took this screenshot, the mod definitely wasn't in there, cause i specifically searched for it
but obviously other changes where in there already, hence the screenshot
Something is wrong with Playstation filters
the data endpoints are cached separately
SOME get it to work
but we have so many people complaining, filters just don't load or don't do anything for them
may be a caching issue, idk
I've read that some have restarted their consoles and it worked after that
Interesting. I'm using a Ryzen 5 3600 together with an RX 6700 XT (not potato I would argue) and had massive performance issues with the mod search in the past. It was somewhat better in Chrome vs. Firefox which I usually use and I always just assumed it is another one of those problems I have that nobody else has ever experienced (my tech seems to hate me in general). It feels like this change make it a lot more performant for me.
I'd relate to my search experience but I don't think I've ever traded in PoE2 yet π
hi zao big fan
Did anyone figure out how the radius jewel trade hashes are calculated?
Which jewel?
The rare mods
They both use the stat "cold_damage_+%" the only difference is the radius mod has a different tag in mods dat file.
That just seems to build the trade query based off the returned json data. Which isn't helpfully for computing it directly from the GGPK data. I am referring to something like this. #tooldev-general message
I also hope someone can solve the following hash algorithm too
WzI1LDE0LHsiZiI6IjJESXRlbXMvR2Vtcy9TdXBwb3J0L0VsZW1lbnRhbEJ1cnN0U3VwcG9ydEdlbSIsInciOjEsImgiOjEsInNjYWxlIjoxfV0/717e468ab8/ElementalBurstSupportGem.png
Okay, so this one was a though one.
But quite clever by @compact isle or whoever did it this way at GGG.
This doesn't work for the Passive Skills in Radius also grant mods as @acoustic gust mentioned - the reason is that, similar to my message here:
.
The stat that gets added to the passive skill isn't the only stat that is hashed
There are two stats specific to these mods that are relevant:
local_jewel_mod_stats_added_to_small_passives and local_jewel_mod_stats_added_to_notable_passives.
Let's look at an example.
Ahh I didn't see them makes sense thats how it works.
{
"id": "explicit.stat_3669820740",
"text": "Notable Passive Skills in Radius also grant #% of Damage taken Recouped as Life",
"type": "explicit"
}
The "trade hash" in this example is 3669820740.
To get to that value we need to first find the stat for #% of Damage taken Recouped as Life.
That is damage_taken_goes_to_life_over_4_seconds_% (I found this by looking through the mods the jewel can have at poedb and then searched for the according stat in stats.datc64).
The HASH32 of damage_taken_goes_to_life_over_4_seconds_% is 3225429806. (this can also be calculated manually by doing MurmurHash2(damage_taken_goes_to_life_over_4_seconds_%, 0xC58F1A7B)).
Then we need the stat local_jewel_mod_stats_added_to_notable_passives and it's HASH32 which is 1950420994.
This can also be calculated manually the same way as damage_taken_goes_to_life_over_4_seconds_%.
And now - similar to my post here.
We concatenate the uint32 representation of those hashes and then hash it using the "trade seed":
Which gives us:
, the value used in explicit.stat_3669820740.
Thanks for figuring that out.
this works the same way with small passive skills in radius ... just using this stat instead: local_jewel_mod_stats_added_to_small_passives and it's corresponding HASH32 1498395485.
sure np, was fun again
Oh, and the trade seed is 0x02312233.
This is everything at once/tl;dr:
public static void Main(string[] arguments)
{
uint clientSeed = 0xC58F1A7B;
uint tradeSeed = 0x02312233;
uint damageTakenRecoupedAsLifeStatHash = MurmurHashAlgorithm.ComputeMurmurHash2(Encoding.ASCII.GetBytes("damage_taken_goes_to_life_over_4_seconds_%"), clientSeed);
uint passiveSkillStatHash = MurmurHashAlgorithm.ComputeMurmurHash2(Encoding.ASCII.GetBytes("local_jewel_mod_stats_added_to_notable_passives"), clientSeed);
byte[] value = [];
value = value
.Concat(BitConverter.GetBytes(damageTakenRecoupedAsLifeStatHash))
.Concat(BitConverter.GetBytes(passiveSkillStatHash))
.ToArray();
uint tradeHash = MurmurHashAlgorithm.ComputeMurmurHash2(value, tradeSeed);
Console.WriteLine(tradeHash);
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
i wonder how do they handle hash collisions
underscores
see this message for source
I always wondered why mods had random underscores after them
but in this example?
I think GGG only adds underscores to values that would have had a hash collision without
so the stats/ids without underscores simply don't currently have a collision I suppose
Seems that way. I think I remember seeing mods with 2 or 3 underscores on them at one point
nice π
I wonder if someone is adding those underscores or if they have a script that just keeps adding them until it doesn't find a collision
I have always wondered why there is underscore, and finally there is an answer
@carmine merlin , Will PoB be just updating through the normal updater built in or is PoB for PoE2 going to be a seperate branch / installer?
Separate installer
Going to be out very soon
Big thanks to you and the collaborators for the hard work!
collaborators
Iβve lurked into the repo and saw that there was an attempt to rewrite this in different tech - is this still somewhere on the roadmap or not?
In case it is, I am happy to help from every aspect of it
Rewrite in go is the current approach some people are taking
Can you point me out at the repo where this is happening please?
is there a third-party application in PoE 2 or PoE 1 where you can see the metrics of sales at the auction of certain items? As an example, I send a similar implementation in WoW (wowpricehub)
and how difficult is it to implement this for PoE2 if I am a developer?
very difficult for poe2 since there's no api yet. There are a few similar tools in development right now but I believe they use fetch APIs which are not officially supported.
poe.ninja did this for poe1 but I don't think it had any certain way of knowing what items were "sold", only inferred based on when they were unlisted.
ty king
great work!!
oh shoot, i just realized it's saturday in NZ
novynn's not coming online to restart live search
sadge
assuming we will need to manually add a modifier for demonform stacks?
ie inc. spell damage
Any way to create a character URL to import to PoB2?
no
yes?
Look 2 inches above that screenshot
PoE2 characters aren't even shown on the characters page under one's account yet, right? So presumably they'd have to do that first/too.
Are there docs for the poe2 api? π€
There is no PoE 2 API
I have a pretty good idea of what 2 inches looks like and its most definitely 6 inches above that.

Anyone else getting this?
As soon as you allocate Loyal Hellhound?
anyone know of a greasemonkey script/ahk script/chrome extension that supports copy pasting poe2 trade site items to get the item text (suitable for import to PoB)
a copy paste button seems not implemented on the poe2 trade site, but it is on poe1 trade site
I have the workaround of hitting the "direct whisper" button and then ctrl + c the item link ingame after the whisper occurs but i think people will hate me whispering them when all i want is to copy their item to PoB
think i found the issue 
Am I the only one that can't seem to clone PoB2?
general question for github action release pipelines + changelogs - anyone used anything in the past that they recommend? Ive used conventional commits + release-please in the past but wondering if anyone else has seen (or ideally used) other stuff in the wild
the repo seems to be having issues after going from private to public

Yeah... the code page isn't loading in the browser either.
That's a GitHub fuckup though, I'm guessing. π
Yeah nothing we can do. We contacted support so have to wait
maybe GH has preventative measures in place for high traffic repos that have just gone from public to private
or sorry, opposite, private to public
or maybe it's just classic distributed system issues, who knows
Maybe yeah. Not sure who got the email though as thereβs 3 of us
Hey guys, I am a .net dev and I was just sitting here playing on Xbox wishing I had something like the price check overlays for PC and I was thinking I could probably make a cross platform mobile app with MAUI pretty quickly to handle the OCR from camera, from the TV (I gotta test but it should work I have no issue scanning a QR off the screen for sign inβs etc..). I figured this was the best place to ask. Which of the price checkers for Poe2 on GitHub use OCR/Screenshots and is there a βfavoriteβ. The idea is to use the phone/tablet to scan the item and then pass the screenshot/data to the original app I.e bypass the direct screenshot and use the device camera. Then we can price check on console without manually typing in the attributes.
With blazor/maui hybrid I can probably re-use one people are familiar with and just make it open in app instead of an overlay and reuse all the parts I can.
I dont know if the pricing data would be available in anyway for xbox, ps, etc. anyone know if there was APIs for trade in poe1?
Canβt you just list an item for trade, look up your own item on the trade site, and then use that as a base for a new trade search?
Sounds more reliable than some ocr stuff, although more convoluted
In general, OCR can be quite sensitive to colour variations, lighting and perspective/lens distortion.
QR codes scan as well as they do because of their bi-level structure, corner marks and excessive redundancy.
I don't think tools use OCR if they can avoid it - historically only really APT cared to try it and that was in very constrained scenarios like transfigured gems and other heist rewards; where Ctrl-C wasn't available.
this is a crazy intuitive thing to be included... very nice job. dunno if you could see a visualization of aoe before in pob for poe1 but just noticing now, and its great for visualizing my hexblast/despair aura aoe radius
Yeah, it's been in there since forever, a bit sneaky.
there is a realm parameter for all APIs, but no sites like ninja consumed the console APIs to gather the data. immaterial here as it's a single cross-platgorm realm
l believe all existing price checkers use the clipboard to get item text, or read the game logs for chat messages
Well I guess those of us on console will have to suffer, type in the specs of the item on the site, or use a computer for selling stuff.. was an idea though. Thanks for the replies!
Would be amazing if Poe gave us a way to stream the drops for your character, or even just what you pick up, from the site.
Ggg^
most likely they will add apis that allow apps to read the contents of your stash, so you will be able to put items in the stash and get price checks that way
That would be awesome. The loot filters helped immensely on console but I was hoarding junk for a while cuz I couldnβt see it without getting closer to the TV π
you worked out weapon swap stuff in POB?
Asking around no luck
It says weapon swap comboes isnt implemented but the points are
probly better off manually doing it tbh
hold alt and use scroll wheel to change allocation modes, you will see text on the bottom of the window that says when its active
general question for github action
I consumed the Sony api for a bit but there was no real interest at the end so I stopped offering these prices.
well, you can get a stream of what gets added to your dump tab if you live search your own account ;)
could build something around that..
Anyone wondering itβs just alt scroll
Is it possible to get boss names from the client data? I'm making a tracker that scans events in client.txt for deaths, level up and so forth. The Executioner talks and that is logged, so was curious if I could extract a list of boss names
I tried browsing PoE data viewer from snosme, but have not found anything yet
the boss names are in there, with all the other monsters, so no you have to make your own list of bosses
Do you know what table they are in?
I havnt looked at the poe2 tables but I assume MonsterVarieties should still have every monster type in it, but again, thats not going to help you figure out which are bosses and which arnt
Hmm, may or may not be relevant boss indicators π€
As well as the boss healthbar π€
anyone know if we can export columns that has no name yet in the schema? with the pathofexile-dat npm package? https://github.com/poe-tool-dev/dat-schema/blob/main/dat-schema/poe2/MonsterVarieties.gql
I also was looking into this and what I did was editing line 119 of poe-dat-viewer\viewer\src\app\workbench\IndexTree.vue and add && false to the condition so that it would always download the file instead of showing it in the viewer, thus allowing me to parse with a binary reader
I think extending the cli with an option to define column index instead of only by name would be what I need. i'd much rather use working things than write a binary parser myself xD
https://github.com/SnosMe/poe-dat-viewer/blob/e6835cba3ea44ca13ca1a3653146ac9d7d3a1c90/lib/src/cli/export-tables.ts#L52-L60
Sadly I can only define colum names in the config for the cli right now
the keys are based on shared schema. possible we could just name the keys unknown_1, unknown_2
maybe base it on the length or something, not sure
but yeah if you want to hack it, pull the llib and point it to your own schema for now
shared schema is here https://github.com/poe-tool-dev/dat-schema/tree/main/dat-schema
Is this a bug guys? and where can I report it? https://steamusercontent-a.akamaihd.net/ugc/42321433940337773/B41C6EE8B0EE34303A099EAC0C62ED7D66BD1E3E/
has there been any cases where a piece of software written to compliment the game was technically not completely in line with the ToS but got GGG's approval anyway?
have they even approved any third party software?
sending inputs to the game has always been a somewhat grey area, just recently I was trying to find the basis for "1 user input to 1 sever side action" but couldnt dig it up
i mean the general rule of thumb is to just not be a dumbass I suppose, if it feels wrong it probably is and I respect it
yeah I mean, dont cheat, dont read game memory, dont abuse the servers, etc
be respectful to the software others have made and be respectful to the infra which costs a lot of $$ if misused
but there are certain cases of tools that I've seen floating around that technically break the ToS in more than one way but don't actually provide the user with any advantages other than being able to just play the game at a higher framerate than 5
I wish some of that got approved, or rather make these options available ingame
if it's for graphical stuff, I doubt GGG ever changes their stance on lower quality graphic settings
they want their game to be recognisable
I suppose that's fair. I'll just continue complaining about the performance instead then π
If im using POB2 to search the market for items, would I prioritize full DPS, Combined DPS, or Hit DPS for ice strike monk? I'm kinda confused on the difference between the 3
fulldps = everything you include in fulldps (marked so in skills) - this can combine different skills
combined dps = the damage you deal by hitting + any ignite/poison/other damage source applied by your skill
hit dps = dps from hits excluding other sources
i THINK
so just to make sure hit dps would also include things like elemental damage, crit chance, attack speed, etc.
i believe so
in reference to a quarterstaff
just not ignite if you deal a bunch of fire dmg
ah that makes sense, it was pretty confusing. Thanks man
someone will correct me if im wrong but that's what ive gathered from using pob in the past
hi, i was wondering if there was some official record of individiual trades that i could access
nope
cdr is green 
It's a good colour for them
Where do i report it? cant find it anywhere
anyone know in witch stat description is this stat?, in game only have one stat, so i'm not sure if this intended or if the stat description is missing, any advice?
Apparently that stat works in-game, mechanically, but doesn't have a description. Didn't know that was possible
Item Class: Quarterstaves
Rarity: Rare
Wrath Cry
Expert Crescent Quarterstaff
[Physical] Damage: 175-361 (augmented)
Lightning Damage: 2-132 (augmented)
[Critical|Critical Hit] Chance: 12.31% (augmented)
Attacks per Second: 1.85 (augmented)
Requirements:
Level: 72 (unmet)
[Dexterity|Dex]: 150 (unmet)
[Intelligence|Int]: 59 (unmet)
Sockets: S S
Item Level: 78
40% increased [Physical] Damage (rune)
152% increased [Physical] Damage
Adds 2 to 132 [Lightning|Lightning] Damage
+157 to [Accuracy|Accuracy] Rating
+2.31% to [Critical|Critical Hit] Chance
23% increased [Attack] Speed
+15 to [Intelligence|Intelligence]
Wait, what do these square brackets mean?
No source for that specific one but here's a forum post that does compile messages from ggg employees about different topics regarding automation/macros https://www.pathofexile.com/forum/view-thread/2077975
unfortunately the section about server side actions does not come with a source
my friend linked his item to the chat, i CTRL+C this
then i asked him to CTRL+C by himself. He got no square brackers output
π
I think it's specifically for when people link you in chat, not sure exactly what it's used for
Wouldn't be surprised if it might be some localization stuff
My guess would've been those help tooltips
Oh yeah true
Yep it is the help tooltips
Forgot about those
We strip them all when you add items to PoB
Yeah I had to write logic in my parser to strip them as well
π
Creating a program to quickly check, is it worth it to qual20% + put runes into weapon candidate for upgrade. Maybe this is too silly for trade league, i dunno. I play ssf now
"CTRL+C"
and when i create new char, im in constant search for weapon upgrade
next step is to create ui with popup window
If you don't feel like writing all the edge cases I made an item parser that should output the data you need! There's a ton of edge cases already
(Shameless shill https://github.com/Path-of-Tools/poe-item-parser)
Although seems like you're using Python or Rust?
starred(2 days ago) π€
Rust
Kinda surprised you're actually parsing fully "manually"
Instead of using something like nom
also docs updated to allow registrations again π«‘
https://www.pathofexile.com/developer/docs/currency-exchange-market
I think there's a bug, I'm getting 404 on this?
Pls fix
You mean the auction hou...

Also, to not meme for once, would it make sense to have a #755139879305871360-announcement channel where things like the above could be posted?
that's perfect
also registrations open just in time for me to start on the new features, woo
What options do i have about sites hosting download pages for ee2? I am currently only hosting a download page at my github pages site, and for some reason it didn't cross my mind to buy the exiledexchange2.com domain. I just saw a reddit post about it, and there appears to be a download page there. It doesn't appear to be malicious right now but I'm not sure what I should do about this.
Looks like someone registered the domain 2 weeks ago
But a scan shows no detections
I believe PoB hosts their https://pathofbuilding.community with github pages and probably leverages the ability to have a custom domain in front.
A powerful build planner for Path of Exile
yeah i'm filling out a contact form to cloudflare domains right now
Almost sounds like someone is trying to host the download to potentially take credit for your hard work.
tbh I'm less worried about that, and rather more just that it could be switched to link to malicious files
fortunately most likely just someone trying to skim ad revenue
Not sure Cloudflare Domains will do anything sadly
yeah, I think this one isn't the cloudflare domain like registrar service, but the one to contact the owner of the domain
Ooft
yeah and if there are any problems my plan would then be to reach out to actually cloudflare, or something else idk then
@somber mortar not sure if it's something you want to do or not, but maybe post on reddit encouraging people to download it from github instead of that .com website?
Yeah problem is Cloudflare most likely wouldn't be able to do anything since you technically don't own any trademarks etc. for the domain (depends if they start hosting malware or not).
The most likely thing that would have to happen is for GGG to reach out with a takedown request since anything PoE related technically is their IP.
Hopefully you manage to reach them tho, and that they don't have any bad intentions π€
That probably wouldn't be a bad idea, I'll go spin up a reddit account then since I nuked mine after the third party app thing
Have not dug into nom yet. Also heard about Logos recently. https://github.com/maciejhirsz/logos
I just needed to grab a couple of things, so I didnβt even think about nom and friends honestly
I've tried using nom every now and then when I mined in Rust.
Every time - they completely re-imagined the library with most examples/docs/guides around it being either inapplicable or barebones.
Back then it was fairly OK albeit a bit cumbersome to write binary parsers for larger file formats in it, but you had to thread quite a bit of parsing state around.
I think that every parser I've written in Rust or C++ has had a different parsing paradigm inside, sometimes because the formats vary but sometimes just as part of finding a good abstraction.
Interesting. To be fair, I've only done very rudimentary things with it but I assumed it would be somewhat mature given it is "just" a parser combinator library
Back when I was using it, there would be a new major version every time I got back to Rust.
Most of my experience with this style of parsing comes from Haskell and Parsec
The curse of using crates where they're still finding their footing on what they want to be.
Parsec in Haskell was nice as you had a lot of the implicit state lifting done for you with transformers.
Sounds painful
Until when you make a mistake and your parse just vanishes into thin air and you have absolutely no idea where you went wrong.
I think AttoParsec solved some of that?
Might've been a different one
There was one parsec alternative with extremely good documentation
Probably. Been well over a decade since I last touched the ecosystem.
I found this interesting for the dotnet world recently
https://github.com/benjamin-hodgson/Pidgin
As it uses LINQ as a sort of DSL
You want these pinned perhaps?
Pins are less visible imo
Yeah a channel called tooldev-announcements would be helpful. Just make it so only GGG peeps can post in there
or a select group of other people too but I assume it'd be 99% GGG web dev posts in there
Re: rust parsers, winnow is pretty ok for text stuff. For binary I found it to be horrible and used the bytes package which is great other than not being seekable
Just did this, since new account, just waiting for the subreddit mods to get to the mod message I sent so it gets approved
Where can I find guides for loot filters with all available data?
if you are asking about syntax then https://www.pathofexile.com/item-filter/about
if you are asking about basetypes and whatnot, use poedb i guess
yeah, this
thank you very much
you can give chromatic a go to explore it interactively if you want, it has a preview of the rule in text @sour cosmos
https://jchantrell.github.io/chromatic-poe/ for web version if you just want to poke around 
this one is cool as well, thanks
@modest path check DMs, not sure if you have them filtered or not
@compact isleyou had mentioned the cause of live search's current problems (about 1/10 changes actually make it to the browser) being server capacity related. Is there a priority to increase that capacity in the near future?
Guys, is there a way to access internal trade API? I'm doing a filter through the browser with JavaScript, but it feels rudimentary
My question is, if trade2/search returns has more than 100 results but only 100 result hashes are provided, how can I get the rest of the results (i.e., the next page of results)?
There is no pagination, you get to refine your search if possible.
and I'm not talking about the 10000+ matches limit
Well, if I wanted to search the items I have publicly listed (and say there are 972 results)... is there a clever way to enumerate all of the items?
Hey, I'm wondering what sorts of functions you're allowed to automate without breaking ToS- Specifically considering a mass reforging macro for waystones
Does anyone know if having something like that take control of your character would be acceptable?
Obviously not going to bother making it if not
"sort":{"indexed":"desc"} would work if pagination exists. I'm not sure of another way to eventually enumerate all though
The developer docs covers how actions must be user-triggered, may not do different things per invocation, and must only do a single action: https://www.pathofexile.com/developer/docs#policy
I see
Sorry, is this for poe1 or 2?
Do we have means to read stuff from PoE2? Is there any docs somewhere that I can read up?
The applications fall under the same restrictions, built on top of the same ToU.
See https://www.pathofexile.com/developer/docs#gettingstarted for info on PoE2 APIs.
(spoiler: they don't exist yet)
I could use "filters":{"trade_filters":{"filters":{"indexed":{"option":"1hour"}}}}},"sort":{"indexed":"asc"} and keep incrementing the "option" value but this is not complete. Surely there is some way.
Got you, thanks.
Not even for trading API? I'm using browser console to filter stuff
The APIs that the developer docs describe are the "proper" ones that are available through OAuth scopes. The trade and website APIs are more for internal function.
I'm really sorry for asking this here, but simple Google researched didn't helped me much
I see, so we can't do anything until they give us more to work with
Thank you
Thank you!
Reading that, I have a question about this here clause
Would it be considered cycling between "different things" if it just shift clicked on items with each button press, but different ones?
I.e. something like: (in pseudocode)
When button pressed:
If reforger top full, shift-click reforger top
else If reforger bottom empty, shift-click lowest tier waystone that there are 3 of
else If reforger bottom empty, shift-click waystone of same tier as contained
else if reforger bottom full, (shift-)click on the reforge button
Bolded the section that I imagine might cause issues
In general, if your idea involves some sort of bulk action, ratcheting action (cycles between stages), or determines what to do based on state, it's no good.
Ah, well the last one kills it stone dead
I take it it's the same deal even if it's for private use rather than distributing to others?
Indeed.
Ah well, thanks for the quick answers!
passing "sort" to either trade site doesn't do anything btw. never got implemented
What do you mean? It sorts if the field has sortable values (as far as I've seen)
However, if you search is sorted by price and 100+ are all the same price then it seems random
it's intentional that you only get 100 results. We don't want you scraping through the trade site to see your entire list of items...
π do you believe the stash api will be available before release? i'm assuming it's not a high priority
for 1.0.0 release? Probably yeah
oh, i'm thinking of the non-API version. "sort":{"price":"desc"} for example doesn't work there, still need to manually click the sort button once the page loads in browser
By the way, is there any precedent for changes to this sort of policy, or exceptions to it?
Not really, no.
It's been touched on in interviews in the past but it's the way it is, is essentially because the game should be playable on an even playing field. A player shouldn't feel a requirement to run mods or reach for assisting tools to order play the game.
Fair enough- I guess it's just things like this that are kind of mindless busywork with 0 risk
What about getting features integrated into the game?
There's an EA feedback forum and being in EA, more things are probably up for discussion than usual.
From experience with smaller games at least, it's sometimes easier to get things implemented if you make the thing first
though in this case I suppose it's trivial enough that that's probably redundant at best
Oh wait hold on
for the idea as described before, would it not be kosher if there were just different buttons for each of these states?
Human does the flowchart stuff, machine does the match-3
I didn't quite follow the flow, but you're essentially still doing different things in that there's logic picking the correct ingredient to insert.
Ah, even that is too much?
The kind of interactions that the docs intend are things like mapping a F5 press to "open chat, paste /hideout, hit Enter". A single deterministic action for an explicit user input.
One can attempt to refine the workflow until you have dedicated little operations for every single envisionable thing one might want to do, but it's still doing something that's not really in the spirit of it all.
Wait I thought that was purely for bitching, not for actual feedback
These kinds of bulk quality-of-life ideas come up every now and then and while the thought is commendable, they don't belong in the ecosystem around the game.
unrelated, I pushed the bit of code running https://poe-versions.obsoleet.org to https://github.com/vitaminmoo/poe-get-version
π
Pretty sure it is lmao
I assume there's some signal in there.
I bet if y'all made two feedback forum pages - "Angry Feedback" and "Constructive Feedback" then banned anyone who cross-posted you could raise the SNR
Maybe just migrate things over? And have a tag system on the angry one, so you can "collect data" from it (no need to actually do this)
Oo oo use AI for sentiment analysis so you can be on the trendy bandwagon and get 1.3 billion dollars of cash for it
Honestly feeding the entire feedback forum into an LLM and asking it for a summary of constructive, popular ideas would probably justify the hole it'd burn in the ozone layer for the anguish it would save versus reading it yourself
@charred lake assuming you are the same on github, I'm actively working on adding direct CDN fetching to poe_data_tools
Counterproposal: Say you're doing this, and probably get a higher net return in terms of results.
Hmm, do the upstream bundles contain duplicate datc64 files in the translation dirs and existing tools just skip or remove them?
Sweet! I need to get back working on that repo soon π
I have it slurping files from cdn locally - need to figure out why poe2 bundle isn't parsing though
@nova hamlet sorry for the ping, but would it be possible to enable the eimport parameter for coe with poe2? it is currently not working for poe2. although (looking at the js console) it seems that poe2 items get parsed, the items are not displayed in the ui. you can find test import-links here: https://gist.github.com/vimmode/a29c1b900fa3d108184454b4d36fe79d
poe1 had a version of each dat for every language, poe2 seems to only include non-english dats if the file contains localised text
Ahhh! That explains it; I'm currently testing with poe1 due to there being some issue in the index parsing for poe2
Will take a look at it as soon as I can, thanks for the report
@charred lake https://github.com/adamthedash/poe_data_tools/pull/1 - Initial pull; I'm going to keep going on top of this but just wanted to get incremental before I start making changes that might be in a direction you're not interested in. Current short list is
- Try to get nom errors sane (I'm better with winnow than nom, and I tend to use Bytes over either for binary parsing, but I'll try to fix it with nom somewhat before I change the parser lib out of frustration lol)
- Add some lib surface area meant to be used to easily get a file handle to any content from other crates, maybe document that
- Once some/all of those are done I'll fix up my start of a dat parser/analyzer and get that into a public crate```
Lmk if any of those seem awful or you're already chooching on 'em
Oh and I think there may be some sort of bug in the grouping where it's extracting the same files over and over but I'll burn that bridge when I get to it
Anyway to pull from our own stashes in POE2 yet? and did they take the call away from poe1 as well?
Used to be able to just go to the site:
To get tab items
Nothing in PoE2. Your account name is missing the distinguisher value (#1234)
yea tried with and without it - nothin - "You don't have permission to access this area."
Works fine for me, make sure you encode the # as %23
Anybody know the first_file_encode value of 12 in the bundle format?
Oh it's Bitknit
Ngl I just used nom because it was one of the first ones that came up when I googled. I'm not a fan of it so if you've something nicer happy to switch!
https://www.pathofexile.com/trade2/search/poe2/Standard/D0qK8X4C5
Can anyone else verify that the sort by price isn't working for this query?
I'm seeing 200, 209, 210, 210, 210, 200, 200..., 203, 205, 205, 208, 208
actually, it looks like sorting is working fine except for that 209, and the 210s at the start.
people find a way to elevate their listings?
I believe historically when currency ratios were updated there could be some smear over time as they applied, maybe that's what's happening here?
could also be the infra just struggling to keep up with the amount of things being indexed 
looking at the listing json, there's nothing that seems to correlate with them such as status or listing time
judging from that one search, it looks like it's happening based on windows of time. is a service restarting/crashing in that window?
more a question for GGG, I'm just making a wild guess based on the steady pace of getting my session invaliated on the trade website π
looking at offline goes against that assumption
all the out of order listings appear to be before 22:06, while everything after that point is in order, 22:47 and beyond
updating currency ratios takes time, and you'll see weird results until it completes
ah, that makes sense
I should have remember this is a side effect. Pretty sure it's happened before now that I think of it.
https://www.reddit.com/r/PathOfExile2/comments/1i6ngow/i_created_a_copy_item_button_script_for_poe2/
I did figure out the error parsing poe2's index, so that's fixed in my pr (missing a compression type from the enum). I've attempted to migrate over to VerboseError to get decent errors out of nom, but convert_error() doesn't appear to work on non-strings so I'm not sure that's the right way to go for getting the errors passed up the call tree nicely
Your parser is working, so I'll probably skip the error mucking and head towards getting it usable as a lib
@compact isle sometimes when a livesearch result pops and you whisper the person but they're offline. Is that because the result was delayed, or is there something else going on?
probably, it doesn't check if they're online or not when processing
https://github.com/Path-of-Tools/poe-item-display/commit/136d7ed85efc395cdfcad0091b52f314e06b3697 @somber mortar i added support for passing in a full Item object, available in 0.0.6 on npm
Thank you! 100% going to add this in ee2 as an alternative option for the hover feature I just added! I know you also mentioned something related to using it to get nice screenshots of items, I may also try to get something similar in ee2 as well, i just haven't worked with clipboard stuff in a while :)
is pinging tool creators here okey?
I wanted to ask the creator of poe2db or craftofexile2 about weights. Is this somthing GGG releases through an API? or do people datamine it? cuz for poe 1 we know the weights. But for poe 2 we dont.
I think for poe1 they were gathered from game data, but this was either removed or obfuscated for poe2
Weight information cannot be obtained in poe2 data files
oh ok, and in poe 1 the weights where in the data files?
mods.datc64
Do you think this is philopshy change with GGG?
we know nothing
coe2 use trade bias as weight
Craft of Exile is a crafting simulator for Path of Exile designed to compute the probabilities of obtaining specific results through different methods.
Alright, thanks for your answer. Hopefully we get the weightings :)
Yep they purposely removed them from the game files as they donβt want -ripple simply knowing the weights
I'm positively surprised this channel didnt get flooded with nonsense just now
the hover thing is really neat btw, very good idea
idk if you're talking about https://github.com/Path-of-Tools/poe2-item-canvas-renderer here (which is my project), but if you are, i am not sure this would be fast enough in image creation for quickly showing images of items on hover
yeah that may have been it! I think I'm probably going to use petter's for the hover tooltips once vue gets added as a framework, but for the copy an image to share, like instead of screenshotting, this may have been the one I heard about
yea, i got a discord bot going that does that, which is what i wrote this for as you can't display html stuff in discord..
but oh, that would also be a kind of neat idea for ee2.. copy a bitmap screenshot to clipboard on hotkey or something
yep that's the thought! It would probably go into the "item-check" part of the code, I just have no idea how images are stored on the clipboard so I would need to figure that out.
doesn't look so hard https://www.electronjs.org/docs/latest/api/clipboard#clipboardwriteimageimage-type :)
awesome! I'll 100% get around to it if it is that easy!
anyone know where in the game files I can find the keyword descriptions? Like when you mouse over a dotted underlined word in a tooltip and a new tooltip is shown for that keyword.
can use this @urban vortex https://www.ggpk.exposed/4.1.1.1/
@carmine merlin does pob2 have the ability to select the campaign rewards yet? (ie. chaos res, all attributes, etc) Not sure if it isn't implemented or I'm blind.
It's in the config tab
Very sneaky on the right hand side:
thank you
Also eew, the production font rendering looks so weird to me now.
now if ggg would fix the bug in 'From Nothing' not counting attribtues in range, my attribute numbers would match pob π
you like the vector fonts more now?
Apart from the odd misalignment, they're the future to me.
Today i accidentally equipped a sceptre which replaced the sceptre i was using that i just spent 3 divs on instead of taking the space that the sceptre i equipped in my inventory it completely dissapeared. It was not in my second equipment set or anywhere on the ground or in my stash. I spent alot of time finding those divs i spent and feel like giving up completely now can anyone help?
Im trying to install EE2 but im stuck at step6, i cant seem to locate apt-data anywhere in the appdata from the awakened-poe-trade directory. Any advice?
you can skip that whole thing if you never used awakened-poe-trade
Oh I see, Do I skip to step7?
no the steps are only for if you want to transfer config from awakened, if you didn't use awakened then you just run the installer
I see, thank you. Will try that now
All good sorted, thanks @somber mortar. Appreciate the quick assistance
Hey all, just made a new post on Reddit about the new poe2filter.com features, would be awesome if you could go and give it an upvote to help a fellow tool developer π π https://www.reddit.com/r/PathOfExile2/comments/1i96omf/poe2filtercom_updates_console_support_sync_import/
Anyone else using Exiled Exchange 2? I couldn't figure out why my FPS dropped to 99fps and wouldn't go above. I forgot to boot up EE2, game booted, 243fps. I opened EE2, dropped to 99.
Any ideas why that would limit the games Frames?
With it open
with it closed.
Possibly, I ran into something similar back with PoE1. Any overlay that shows on top of the game like APT, the TFT list warning tool, and assumedly EE2 makes the game present frames with a different and slower method than it can when nothing is competing with it.
This can manifest as a lower frame rate but also stutters and a less smooth feeling even if the frame rate is there.
For APT I used a workaround by having it open the whole UI in a standalone web browser on my other display, one does that by adding --no-overlay to its program shortcut.
in reality its most likely frame gen stuff, since game loses focus the frame gen stops working as far as I can tell so far nvm
If you're technically minded, you can see what presentation method each application uses with PresentMon (https://github.com/GameTechDev/PresentMon/releases/tag/v2.3.0), run as Administrator in a command line window.
Interesting I'll try and see, I'm not sure there is much I can do most likely but maybe?
Note that OP's problem manifests even when not showing.
yeah you right, oops
Not framegen related, not using anything like that. Edit - you beat me to it with the strike through:)
This is helpful, Iβll install presentmon and see what it tells me π
Iβd imagine Iβm not the only one running into this issue though
It's a tricky problem as it's Windows itself that has a fast path for GPU applications that it doesn't have to compose with anything else. When you get popups above the window or persistent transparent overlays like what you have here, it has to fall back into a less direct one.
I don't know if you can expose the option in the UI maybe to make it easier to do, or if it needs to be a command line option in order to set things up early enough in startup.
I don't know about it actually capping my FPS but I did notice a 10 FPS drop when opening it
Here for me:
Hardware: Independent Flip - PoE2 without EE2
Composed: Flip - with EE2
I use this with EE2 but because the hope of the overlay and wayland-based sway working at all is basically zilch at the moment lol
I reckon that Wayland still has the position that the prevention of input snooping is a safety feature, eh?
Or is it more of a composition problem?
@worthy cape It's possible to do overlays with wayland, I just don't think the lib EE2/Awakened POE Trade use has been ported over
I wouldn't be surprised if there's issues due to the wayland people thinking they own my computer though
Their default on disallowing programmatic clipboard access pisses me off - If you think it's insecure that's fine, but removing the ability to do it entirely is not reasonable. Make it have a perm or something
Fortunately sway actually supports that though
NOt 100% positive on overlays being possible but I remember reading something somewhere that made me think it was
just use x11 /s
Simply invent and shepherd a protocol for it all.
I love mailing list flame wars
Most of this Wayland stuff is newfangled to me, I'm still quite solidly in X11 land.
@worthy cape So is reality
iirc ee2 is a fork of apt, which was electron or something?
Wayland is a lot closer than it was a year ago, but it's rough
Looks neat for the happy path.
would surprise me if it was anything but a full-screen window with a transparent background and allowing click-through
https://github.com/SnosMe/electron-overlay-window is what apt/ee use for overlay
It may be possible to implement at least on KDE? https://wayland.app/protocols/kde-plasma-window-management
I considered looking into that a while back but my typescript/c++ are significantly worse than my rust which is worse than my golang, and I'm already shit at completing my own projects
asking for upvotes is against reddit TOS
@somber mortar how hard is it to add pseudo mods using a weighted sum filter? would be super useful for total attributes and total resistances
it did that initially (and there's still an option for it) but it burns all of the query complexity
ultimately more detrimental than helpful
but there's not that many things in the query beyond it? like at most 6 mods and few more basic flags. When I manually search gear on the website, my sums get quite big without hitting the limit
because you're logged in, the queries the tool is making have a much much lower limit
oh, I see. and my guess it's not worth it to get log in functionality (even if just directly copying the cookie to settings)?
I'm not sure log in even affects the initial query, but clearly not, since the fake psuedo mod feature got removed quickly
I'm just watching on the sideline, I'm sure kvan7 can speak to it better
Thanks for the info. I just constantly find myself going to the trade website with pseudo mod sums to check anything with stats/resists
you can try it now btw https://github.com/shonya3/poe2-weapon
where are these weighting comming from? very spesific numbers.
I belived weighting data wasnt obtainable for poe 2.
yeah, this is already added, but as cdr mentioned it was removed due to causing way more errors for most people than it was worth. You can enable the fake pseudo for ele res in settings which only works if you are logged in, but even when logged in, we only have enough complexity for about 1 weighted sum. We can technically do 2, but for the purpose of trying to minimize errors, I only re-enabled the one for ele res, since that is the most common thing that greatly skews the price when you search by only explicit mods.
You can log in already, if you are comfortable logging in through using the builtin browser. You enable the builtin browser and then hit trade to open the browser and log in from there. Just note the potential security risks of logging in through a third party application
Log in does help a ton, I haven't tested the limits, but a normal query seems to be between 10-25 complexity, while using the sum it jumps to 90-105. When you log in, you also get much more favorable rate limits, although that isn't too much a problem unless you are checking every item you find, and not using a loot filter
As far as I can tell and guess overall, the main thing is real pseudo mods are most likely calculated when you list an item, ei the trade site adds your item to some database and then fills in some extra columns with calculated pseudo mods at that time. Then when you search a pseudo on the trade site, it just checks another column so there is nearly no cost to it.
What fake pseudo does, in contrast is build an incredibly large SQL statement(or whatever db is used) that is much more complicated than the normal SELECT query. Since this is a runtime cost, its not really feasible to expect this to be allowed when not logged in. I do hope we get real pseudos soon, but since I'm guessing it would take a database schema change, it may be waiting until next league unfortunately.
Is there any way to detect what character is currently being played? i'm tracking events in Client.txt and untill your character dies or levels up I have no idea what character you are playing π
Those are indeed the only ways
Dang it, okay :/
there's an uncutgem file with weights - only for uncut
also those are relative weights only for the level of the skill or spirit or support gem, after the game has already decided to drop one
it does tell you the lowest loot level a particular level can drop though (at 1 weight or ~0.4% of the available levels) and what loot level has the best odds
Are skills always capped to lvl 20? In the data I can see entries up to lvl 40
not sure what you mean
the uncut gems themselves only drop up to level 20, and I only recall through 20 being in the file
even if higher existed, iirc you would need loot level 87 for a weight 1 level 21 uncut gem if they existed, which is not achievable
can you boost the level of gems much higher through +level effects, well, of course you can
The repoe repo has data where skills have mana cost and stats until lvl 40
So theoretically you can boost up to 40?
yes
Ah
Interesting
So much work for things that might never happen in the data
Mirin the effort
In PoE1 you could get above 30 for several skills. The stats for each level are just determined by a function, so adding a handful more levels to the curve isn't that much effort
you can get pretty close to 40 in poe2 afaik
You can hit 40 with ancestor totems too. I think I saw someone get to 41 with it but it just scales down to 40
Anybody have some notes on the changes between .dat, .dat64, and .datc64?
are there any open source tools that let you embed the poe2 passive skill tree in your own site?
Which field determines the background image of BuffDefinitions?
.dat: 4 bytes key size
.dat64: 8 bytes key size
.datc64: same as .dat64
Slowly working our way up to a .dahtzee π
There was one .dat64 in poe2 previously but I don't see it now; only a couple .dat and the rest .datc64 now, eh
I'm going to assume that the etag on the cdn bundle files is hash based and not mtime or whatever given they don't seem to change for unchanged bundle files when a new patch comes out - if anyone knows that's the wrong assumption, please do let me know
.dahtdeez
GOT EEM
there was .dat64 and .datl64 (for mac), and merge into .datc64
wait maybe they are mtime but they're hardlinked or archive-copied?
the pre-dash portion of the etag has a bunch of duplication and are all in the same sort of range so it kinda screams timestamp or something
the post-dash portion is more random looking but not all that random looking
Ahh that kinda makes sense
there is only 1 .dat right now, languages.dat
mat_table.dat is in 4.1.1.2 as well
it doesn't look like a dat inside though
_index.bin will store the file name, as well as the corresponding bundle file name and offset
Yeah, the bundle stuff is all working for getting the dat files out, I'm just trying to add a content-addressable store with smart caching for the bundle downloads and I'd be able to only download things that aren't already locally available if the etag is hash-based and I can figure out what it is
otherwise a CAS can only save storage bytes for bundles/files, not download bytes
The first part of the etag is def a unix timestamp in hex
so I'm guessing that's mtime
the rest appears to be non-zero-padded 3 byte something
oh it's an nginx etag, it's last modified + content-length in hex
by background image do you mean the frame? the frame is based on BuffCategory
That data comes from table uncutgemadditionaltiers.datc64
ok thanks
Nothing kills motivation like this. /rant
If only I haven't had a fulltime job and a pretty busy life!

2 whole weeks oh no
Actually been working on the backend as well, hopefully I'll have something during this week
define "game data repository"
Most data that the community has mined is from their own special interests and as significant effort goes into that, different groups have different data they expose and use.
It might help people answer if you clarify a bit what kind of data you seek.
that doesn't really help me understand what you want
(I krangled the grammar on that, but I hope the gist comes through π )
if you just want to explore, you can browse the game data directly through eg SnosMe's DatViewer
most of what you want is probably in RePoE then https://repoe-fork.github.io/poe2/
certainly you can use what's in PoB also
@pseudo ocean https://snosme.github.io/poe-dat-viewer/ is good for exploring the tables
Don't rely on our data format to stay the exact same though, things will change and break without warning if you're automatically pulling data from us. Repoe is a better fit for you

@somber mortar I dont know if this was mentioned yet but can you add the fuctionality to select a Normal | Magic | Rare item for search. Specifically used for chancing bases that are worth a lot or Magic items that are worth a lot with 2 mods for people that want to GAMBA on them
Hope this is the right channel, but does anyone know if there's a way to manually change what a passive node does for adding Heroic Tragedy to POB?
There's no way to currently do that in PoB, but we're looking into getting Timeless jewel support working. Trying to figure out what GGG changed with their new implementation in PoE 2
Not sure if anyone else from the community has info on it or if someone has figured it out and is hoarding it again
Oh, thanks :)
Is it something built into the game that y'all are trying to figure out or something that they have in open data somewhere?
poe-dat-viewer also has a section about exporting data, i'm using that for my vscode extension for .filters (ItemClasses, ItemBaseType) you have to piece things together yourself though, as it is just raw json dumps https://github.com/SnosMe/poe-dat-viewer/blob/master/lib/README.md
The former. The community had the algorithm figured out, but GGG added a stat in PoE2 to break everyone's calculators
oh no >.<
@exotic heron I have a questuin,.. i DL'ed that program that tells you the teir/value roll max and lim of the item and how much its worth all in all with the gear it was ID'ED FOR.. AWAKENED PoE Trade program... Does anyone know the button combo to load it: via, in game to see the stats and value
did you consider forgoing sleep to please random internet strangers ?
Myself and @modest path are working on some tooling to pull data like this out atm. Should have something to dump everything into csv files in the next couple days if that's what you're looking for?
This already exists as pathofpathing.com, FYI. Someone made a copy for PoE2 and posted it here a while back also
Most of the stuff you're talking about has already been built for PoE1, so there's a high chance a version exists for PoE2 also. Poe2db.tw is a common resource for game data, and craftofexile.com was the place to go for item mods and weightings, though weightings were removed in PoE2
@pseudo ocean Path of Pathing is not maintained because GGG hired the dev, but it's awesome and if it appeared for PoE2 I would rejoice
There's a copy for poe2?
excitement
Unrelated: I had a bug in a benchmark and hit the poe2 version socket kinda aggressively for a bit until I realized that was the issue; If any ggg ops peeps noticed I'm sorry
added tooltip with dps breakdown π https://github.com/shonya3/poe2-weapon/releases/tag/app-v0.4.0
Probably a silly question, is there official documentation for the API yet? If not does anyone know when this is likely to be released?
probably before game release
is there a way to extract affixes tier information from somewhere besides of manually writing'em?
I think this #tooldev-general message
but we can't access those classes form PoE2 yet, can we?
You should be able to I think? Using the dat viewer I donβt have the link since Iβm on mobile right now
That message contains a section titled "in poe2:" if you didn't read that far
I saw that, the thing is that the other day here I was under the impression that we can't develop anything that reads from PoE2 files yet, so I stopped to dig into it
will research for it
You can read the game files, same as PoE1, there just isn't an official web API for PoE2 yet
Both games are covered by the same policy
I'm very sorry to ask this, but can you point the direction that I should look at in order to access the data somehow to read it?
I've no experience with modding whatsoever, but I've 5+ years of game development with c# and I'm doing a tool to help me filtering the trading site and I'm absolutely terrified to write data that comes from a db manually xD
software name or guide would greatly help
just a thread so I can pull it >.<
I'm lost
https://repoe-fork.github.io/poe2/ look at mods, base_items and mods_by_base
will do, thanks β€οΈ
This has been asked a lot in this discord if you search. In addition to ivy's link, a lot of people point to https://snosme.github.io/poe-dat-viewer/ for first-timers
Got you, thank you so much.
There is no useful keyword in this doubt to search in the discord engine, I really tried finding it both here and through google.
appreciate the help guys
I was manually reading the trading site using json in order to extract information >.< felt like the wrong way to do haha
If you're looking to create trade requests, take a look here: https://poedb.tw/de/API%3ATrade
And here https://www.pathofexile.com/api/trade2/data/stats for mod IDs (tho this doesn't include mod tier info). The latter JSON doesn't change too often, so downloading it once a day or so should be sufficient.
ok, will do, thanks
hmmm... interesting stuff
thanks
@swift thorn Here's how these xyz.stat_<HASH> hashes are made if you need that.
Got you, thanks.
But from what I've researched, the solution I'm halfway through will work the same way than doing that, although I'll be limited to a single item type (bow) for now (which was my goal since the beginning)
I'm currently accessing what it writes manually in the elements of the page, and parsing into useful information, and instead of requiring multiple searches (it only retrieves 10 by default if I use json from what I've seen), I just load it all through using the "load more" button through the api.
I know it's a brute force method, but seems that will be easier to mantain since the stats id's won't change. And I'll also write into the elements themselves further information such as how much the dps increases by adding an iron rune and what would be min and max reroll ranges for divine orbs
(I'm not a web developer, just bruteforcing my way through >.<)
I'm basically just grabing from the generated element structure and parsing instead of the bigbrain method of getting straight from the "db"
good thing that at least it's organized enough
Their version is much more responsive than mine ever was, it's real neat
They correspond to the stats from the GGPK
Start here if you want to know the details #tooldev-general message
It's stat position
Hope this is useful to some people - most of the datc64 files for poe 2 exported as CSVs using Ivy's schema. Doesn't include ones where the schema failed
https://mirrormarket.org/
This site seems to be taking prices from ingame exchange using ocr and script to change tabs (I can only assume). Just checking wether something like this is allowed or not...
Professional trading charts and real-time market data for Path of Exile 2 currency trading. Track prices and analyze trends.
if it's at all automated, definitely not
if it's all manual capture, that would be okay
but of course there's no way it's being collected without automation
okay yeah thought as much.
Don't think it's automated cause watching the exalt to div market I ain't seeing it move
you mean they're lying about "every few minutes"?
because at a glance it does seem to be updating reasonably often
ah, it does seem to be only once a day...
but either they're breaking TOS or they're lying
hard to tell without diving too deep into it, how does sites like orbwatch or poe2scout gather their data, I assume the same way?
Well I can tell you π . Not the same way. We both purposefully steared clear of the ingame currency exchange as that was understood to be untouchable. Im not about to sit at my computer and click on different tabs every couple of minutes for OCR to scrape... Neither is who ever made mirrormarket
divine seems to be updating every 1 minute and a half. I respect the hustle but it feels slightly bad to see someone just so blatantly break the rules.
oh yeah just seen it update then
for a good 10 mins though I didn't notice it move
for their sake I hope they aren't breaking TOS 
Watch divine. Since that price moves more frequently on the exchange its more obvious how often it updates.
Specifically inspect and look at the websocket connection.
yikes
ah no.. this is totally possible without user input and with just one character. you just create bogus orders that will never be fulfilled, keep the window open and OCR the exchance rate (which is updating)
that's still against TOS unless you're manually pressing a button each time to initiate OCR
i mean, scraping data from the trade site is technically also against tos
but i don't have a horse in this race.. was just interested in how they do it.
no it's really not
So is account sharing but "elon" is still wrecking it
Kinda curious why I haven't seen anything about banning the people who temporalis exploited, either
how so? section 7c in the tos should apply imo.
completely false equivalence to an OCR bot
i'm not talking about that, talking about automatically and regularily reading data from the trade site/api
(i.e. a bot)
completely different
oh well, i guess this can't be a constructive discussion.
when you're trying to equate API use with OCR bots in the game client, yes, it can't be "productive"
I think the actual wording of the ToS is ambiguous in some places (e.g. what's the difference between reverse engineering dat files vs reverse engineering the binary with a debugger or ghidra), but in practice it's relatively well understood where the lines are
i said "is also against tos", idk how this counts as an equation.
yea, legal documents be like that
I think an argument could be made for the actual trade site API because people aren't supposed to touch that. The river is "free for all" though
on an unrelated note, I wonder how long that site is going to be around. Even if they got someone to pay for all the accounts and none of the characters ever got banned, that is still going to be a lot of compute they will need running 24/7 just to OCR some data
hopefully we'll get an "auction house" api at some point :)
hard to imagine the accounts wouldn't get banned eventually
Personally I think running a permanent OCR tool isn't in breach of the terms of use tbh
like, isn't it exactly the same as having OBS up all the time and streaming your game? You're not interacting with the game at all
Fair
but, you could realistically have it streamed to a different machine where you do the OCR, and at that point nothing infringing is happening on the sysem that actually has the client running
and it'd all be about the user's intentions
yea, you got a point. in the end, ggg decides what they tolerate and what's over the line.
if u had any history in this space you would know the trade site existed AFTER the trade api. Edit: pretty sure Iβm mistaken on this. Old trade sites used the river
we don't have a trade API for poe2 at this point in time
no official one, that is
you could argue that making use of the endpoints used by the trade site is in breach of TOS
i'm sorry, but how does that change what the tos says? :) i understand that tos is a legal document and the reality of things often look different and certain things are tolerated.
the one the website uses is undocumented but available to other peoples usage
is it, though? I've never seen that stated anywhere
what I've seen is GGG tolerating people using it to a certain extent
IMO the trade-site's API is to be looked at separate from the official API
Algood. Every other tool uses the trade site api. If you guys want to go over the grey line into the black. Feel free (:
we're just discussing stuff :)
dude... your site just got "leaked" as well. oh no how inconvenient π.
Gotta respect it haha
hah so now i'm the owner of ..
Hm? Whose site?
let me look up the name
mirrormarket.org? :)
sorry i just think it's an interesting topic
i don't plan on crossing any tos lines or something
π
Does
Utilise any automated software or 'bots' in relation to your access or use of the Website, Materials or Services.
consider "looking at" as "in relation to your access or use of the services"?
and if it does, is that still true if you were to run OCR on a streamed video of the game?
Who knows. Precedent has been set for the trade api being fair to use in other apps by awakaned trade from poe1. No precedent has been set for what mirrormarket is doing. Always has to be a first.
This is a nice piece of obfuscation but mirrormarket has more than 10 items listed. In talking to the dev early on he stated on reddit that he was going to automate the switching of the item. When promted that this was possibly against tos. He deleted his comment.
okay that's cringe
π
that's my screenshot. i just tried to find out how they do it
Yeah sorry ill bump your comment so thats clearer
.
wasn't your comment along with that screenshot that it is easy to track multiple items because you can put up multiple orders?
yea
I don't see hst ever claiming to be the dev
of corse. cause it is ? :)
idk, you'd have to fill the window
am i arrested? this is kinda funny
people discussed how it's possible and i tried to figure it out
Okay you guys are very clearly not actually looking for a discussion but just trolling. This conversation serves me little now.
Huh?
stop suspecting me of some weird poe crime without a basis lol
Discuss amongst yourself (:
for the record: i am not
That's what I assumed
Interesting. I actually thought of manually taking screenshots of exchange rates on in-game exchange, and processing them with ocr afterwards; hadn't thought that would be against tos (no bot involved; you're doing nothing with the client,...)
(before i used poe2scout, when i was doing the tiering manually =p)
but do i understand it correctly that the guys from mirrormarket.org use a bot to click the different currencies?
I think it's speculation at how they're doing it
They could be breaking ToS or they could be doing it legit
I haven't read up, been asleep 
But if they are then I guess what can you do. Report it?
It is interesting tho. In theory if ocr is allowed to be automated. U could do what they do with enough accounts completely legally. Just need 1 account per 10 items
karma gets you eventually
But theyβre very clearly not doing it this way
Or maybe they are?
Impossible to say with certainty
how would you do it legally?
In theory as outlined by hst
But it still hinges on wether ocr automation is allowed
aaah, right!
it's not
My thoughts as well cdr
Where are sites like poe2scout getting their data from, then? Or is that only trade-site data like ninja?
I am the dev of poe2scout
ninja is built using the stash river
built my site using the same api that the trade site uses
Does that mean yours updates when the trade site does?
Is Trade up-to-date now? Cause i remember the ratio was off
trade site has ratelimits in place. 30 requests in 300 seconds. My site runs a script every 6 hours that goes through all items and fetches the current list of items. Records the prices this way.
I guess in theory this might not be allowed either? But I think this is closer to a grey area than macroing the game client
By ratio do u mean the exalt to div ratio?
The way my fetcher works doesnt interact with thier own valuation. Fetches either by div or exalt at a time rather than both mixed.
Yeah I guess just that ratio, is that the only one it bases listing's off?
I'm not sure what you're meaning.
I think all different currencys have a normalised value that is used to order the response from the api.
Right
However this normalised value is updated manually/ intermittently.
Re: OCRing vs OCRing over a video feed, that's like the same difference between reading memory directly and reading memory with a DMA card, and I'm willing to be that either of the latter would get you banned. It's pretty clear that regardless of what the ToS says, GGG is ok with a certain amount of data mining, and very not ok with manipulation of the game client beyond insanely simple single press/single action macros for gameplay. Think of the ToS like the boilerplate HR paperwork you signed when you got onboarded at a new employer - It's there as a backstop to give them control in the event that reasonability breaks down, even if your boss doesn't give a shit about HR stuff under normal circumstances.
I personally think read only memory analysis should be allowed as skeezy people are going to do it anyway (e.g. the early archnemesis effects preload on map join shit), and ggg doesn't have the budget to prevent it (to my knowledge one kernel anticheat managed to detect dma cards configured a specific way once).
I was a bit worried because how could this affect streamers? Like, you could probably OCR a feed of Belton and some other crafting-focused people and get a reasonable approximation of a lot of items
If it were above board non-skeezy people could do it and report exploits to ggg
I also understand that allowing it would make it very difficult to detect map hack overlay type shit, or auto health pot macros in the future
Yeah with my little knowledge on OCR I first thought about how it could affect streamers
I thought the idea with the latter was that it is a combination of trusting the players to not abuse the fact GGG isn't running intrusive AC and being able to analyze the timings between pot usage on the server
I could very well be entirely wrong on that though
I mean if you want mega grey area you could have a twitch group or something where people stream their market stream when idle and someone without a copy of the game OCRs all the videos and for the info... Pretty clearly against the spirit of the ToS but could involve no ToS breaking
People are definitely using auto pot shit via memory reading (which should be detected and banned). Randomizing input latency is not a tough problem from the hiding point of view
And yeah I definitely appreciate being able to play on linux without intrusive anticheat, hoping skeezlords don't ruin that.
I also hope APIs are coming, and GGG is cloning anticheat people while they clone the support staff repeatedly
Can only prayge
The person conducting the OCR is breaking the rules not streamers (in the case that some actor used their streams as visual feed). Although its a fair point to bring up. Is it really against TOS / worth GGG deeming it so if its so possible to do sneakily already.
Yeah
Although that argument could indeed be used for reading ram so it would be a dangerous precedent for GGG to set.
I can see why it would be frowned upon but I have no idea how you would stop or enforce it
it feels like it's in the same territory as webscraping and similar activities, where technically it's frowned upon and has rules like robots.txt but is actually quite hard to rigidly enforce
agree with vitaminmoo sentiment on read only memory, the archnemesis map load is a good example of people doing it anyway
same with packet inspection, it's the same in my mind. frowned upon and definitely in the questionable territory, but how do you enforce it?
(short of kernel anticheats I guess, which also get defeated)
Yep
for the OCR market guy, the "bot" farm is technically within the rules if it's 2 clients per desktop. I say "bot" loosely as it's likely just a game kept open with OCR running and zero input. is that a bot by the game's definition? I'd say probably not as there's no input (as it's not necessary, because the game doesnt DC you or anything)
Hi yall I am the dev of MirrorMarket, just wanted to introduce myself and say hello. I love all the tools Ive seen for POE2 and this was the first time Ive contributed to a community so Im really excited to be a part of it
You should maybe read up on the last couple hours of discussion, lol
I read up b4 I posted. I didn't even know there was a tooldev channel until this morning π
how does it work @sturdy drum ? I am just curious at this point π
That would be enlightening to the discussion
Although you owe us no explanation to be fair π
Honestly I loved all the speculation and also suspecting hst as the dev
I think for now let's hold off on the precise mechanics of that one.
I knew there was 2 devs and then these 2 people who seem quite defensive join a discussion. Felt fishy π
Ciadora I love how you organized all the currencies. There are 2 of us yeah, I am the lead. well okay my wife does our infra and devops haha but shes not a dev
so 2.5 people you could say
I have a couple questions, prob noob questions but I am new to all this. What is the river (or something like that referenced in regard to api and trading sites)? also, does POE 1 have an api for the currency exchange?
yea, love how i get weirdly attacked for something i didn't do and then the real person shows up and it's all well and dandy
HST is lying we're in on it together /s
the trade API in PoE1 is basically like an event stream right?
Im not actually completely knowledgable of how it works but I believe it basicalyl streams all changes to users stashes.
I havent used it but Im guessing that's where the river analogy (if that's right)
So if you like listen to it constantly then you can ingest a pretty solid picture in your own db about what is listed in public tabs etc
I mean an event stream sounds like the most efficient way to let everyone know about the changes computationally
I dont see anything specifically on currency exchange. Maybe poe.ninja just scrapes the bulk trade site?
currency exchange?
I guess there's a commit number/timestamp number type thing happening
The one in game? That's inaccessible to developers
poe.ninja listens to the river. There is no currency exchange API
Ah okay thats what I was wondering. If there is no API in poe1 I suppose unlikely they will add it to poe2?
yeah, basically listen to river for x amount of time and perform aggregate operation on all similar events
I see now why its called the river okay thanks
It was a recent addition to poe1. The currency exchange. Not out of the picture for them to make an api for it
e.g. for all divine orbs in 24 hours, check listed price and perform avg sum of all listed prices for that period
so you basically store a cache of some maximum time period, do math and throw away stuff that starts falling outside of that time period
and then long term store your math outputs
(assuming this is what poe.ninja is doing)
This is why the old sites for poe1 are not updated yet
No point rewriting logic for something that GGG plans to implement
Although they have said that the poe2 api implementations are liable to difer from poe1
Eh nothing a good ol ETL pipe cant solve π
Do yall actually play poe2 much or just dev all day
Everyone is different.
but yeah zgrill, when you put something into your stash and then change zone, that creates a new event (or commit number or whatever you want to call it) on the event stream (river), most things just observe the river as it has all the info needed really
thank you for the explaination nomad, thats a LOT of events I imagine
@lone ingot does this mean it works like a blockchain. If u start ingesting from the initial change then you can read all the way through. Or do they throw out old events. Im sure they throw it out after a certain time right



