#tooldev-general

1 messages · Page 2 of 1

worthy cape
#

You'd do something like this to list all files:

bun_extract_file list-files "C:\Program Files (x86)\Steam\steamapps\common\Path of Exile"

And something like this to extract files matching a pattern, or pipe in a list of files on standard input:

bun_extract_file extract-files --regex "C:\Program Files (x86)\Steam\steamapps\common\Path of Exile" C:\Temp\output ".+[.]ogg$"
#

poe-dat-viewer is for inspecting the contents of the DAT files - a tabular file format that drives a lot of game logic.

slim pilot
#

it is listing like machinegun right now lmao. hope it will work, thanks for explanations

slim pilot
#

like does it extracts 1:1?

worthy cape
#

There's around 750 thousand files and they take up around 50 gigabytes extracted.

slim pilot
#

shit

#

thanks a lot

worthy cape
#

The two main ways to get partial filesets is to either go bun_extract_file list-files | findstr something | bun_extract_file extract-files or to pass a quoted regular expression on the command line to match the files you want.

#

I tend to extract the whole thing to like F:\Temp\poe\contents-3.19.0d so I have everything at hand when developing, but I can only fit a couple of releases on that SSD ^_^

#

All the ogg files you get from that example regex are only around 1.5 GiB.

slim pilot
#

Much much thanks, my ssd is 240gb and virtualbox is already taking too much space lol

slim pilot
worthy cape
#

For findstr there's built-in help with /? and I have very little experience with it, I only really use that to filter on literals.

#

In general when running commands in a terminal, you need to "-quote things to avoid them being interpreted by the shell.
In any way, you can do something like bun_extract_file list-files "path\to\poe" >all-files.txt and open that file in a good text editor to find out what kind of paths there are.

slim pilot
#

Yeah got it to work somehow. I love you man!

#

cheers!

scarlet sorrel
#

hey, is this okay

#

i tried to reinstall and still the same

hazy fiber
#

why are you uploading images like that and not just so discord can display the image?

scarlet sorrel
#

i have no idea

#

why it looks like that

#

imma try again

carmine merlin
#

What's the issue then @scarlet sorrel ?

#

Those warnings are just there cause we don't render the 3.19 tree with the new sprite sheets

scarlet sorrel
#

aha

#

though there's something worng in the installation

#

thank you good sir

carmine merlin
#

The warnings shouldn't appear in a future release when we render the tree properly

hazy fiber
#

it is my fault those exist and the tree isnt properly handled 😢

scarlet sorrel
#

i mean you guys are doing an amazing job, these small things isnt a big deal tbh

#

i was just wondering is all

#

also thanks for the quick response

worthy cape
#

Ship it!

scarlet sorrel
velvet fog
#

@compact isle garena taiwan online status seems broken

worn heath
worthy cape
#

It should be accurate still for the GGPK file, primary thing I see missing is v4 for standalone macOS.

#

Much else in that site is stale tho, I haven't had much desire to keep it up to date with all my findings as some things I don't want documented publicly.

#

Been tempted to just take it all down as it's fairly misleading at times and makes me look bad with all the guesswork.

worn heath
#

Either way, it's better than nothing, thanks.

worthy cape
#

Note that inside GGPK files these days you'll only find some loose file types like videos, sound banks and bundles - pretty much what you see in a Steam installation. The bear's share of the data is inside the bundles.

worn heath
# worthy cape Note that inside GGPK files these days you'll only find some loose file types li...

This tool (https://github.com/zao/ooz/) seems to have saved all the .dat files I needed

Now I will think about how to load data from them into sql server.
I tried directly via import, but as expected it didn't work.

The structure of dat files seems to be not very complicated, I'll try to read them and save them in csv/json

GitHub

Open source Kraken / Mermaid / Selkie / Leviathan compressor - GitHub - zao/ooz: Open source Kraken / Mermaid / Selkie / Leviathan compressor

compact isle
velvet fog
#

sent you an email with details

compact isle
copper steeple
velvet fog
#

gone with the wind for leagues

frank drift
pseudo ocean
#

is there any PoE item info parser available somewhere? Something that'll parse the ctrl+c of an item and return the item data in structured form?

#

preferred language: python, but i'll settle for others

frank drift
pseudo ocean
#

ah, all right

#

i tried to do it once but it was messy

#

so i wondered if there's a good template somewhere around

frank drift
#

you can look at eg PoB, APT, PoE Overlay Fork

pseudo ocean
#

oh, right, PoB should be good, thanks

#

i forgot it's open-source kekw

worthy cape
#

Noteworthy is that APT parses advanced item descriptions (Ctrl+Highlight+C) while PoB parses regular Ctrl+C copies.

frank drift
#

I haven't looked at APT but I assume it does both, Overlay does both

#

parsing advanced mod descriptions is obviously much easier in most cases

worthy cape
#

APT settled early for full descriptions with all the headaches that comes with programs stealing the advanced shortcut.

frank drift
#

Overlay defaults to advanced now pretty sure but the option/code for ctrl+c is still there

worthy cape
#

I can't say for sure as APT is written in the devil's language, but I wouldn't expect it to keep that stale logic.

#

If you really want to know, I guess you could squint at it or poll Snos 🙂

civic crane
#

yeah I'm using mod info a lot. Why fallback to regular ctrl+c if you can just fix shit on your pc 😄

#

however it's very forgiving you can just add at the beginning of all stats { } and it will parse (but logic on filters will be broken ofc)

{ FAKE }
+22 to Armour
+9 to maximum Energy Shield
+20 to maximum Life
+29% to Fire Resistance
+32% to Cold Resistance
rapid pagoda
orchid pecan
#

is this where i can ask questions about item filter/ filter blade?

hazy fiber
#

I mean possibly, depends what kind of questions

#

this channel is more for developing tools than questions about how to use tools

orchid pecan
#

ahh ok, not really what this place is for then

hazy fiber
#

goodluck

pallid doveBOT
#

Please don't post discord invites

frank drift
fickle yew
tawdry marsh
#

Im trying to get a dump of latest Skill Gem Current prices, obviously Im looking at the skill gem page for direction, If anyone can please point me thx

#

-from Poe.Ninja

frank drift
#

you're free to use its API, within reason

tawdry marsh
#

I found some kind of request you can send, turned it into Json and loaded it into a pandas dataframe. I should be good from here, thank you for your response

unique scroll
#

Anyone here a contributor to the pob project? I was wondering if someone could PM me so I can ask some questions. Only if you have free time, not really an emergency lol

worthy cape
#

Some are indeed.

#

I'm about to hit the sack so not fielding anything in private.

oak estuary
#

You can PM me

worn heath
hazy wigeon
#

Query: For the publish stash tab API, is the next_change_id the same as your id in the query when you hit the end of the stream?

#

I know that the stashes array will be empty, but is it also possible to just check if request id == response.next_change_id ?

civic crane
#

you can also get items from a single (shard, whatever it is)

worn heath
#

Hi all ! As far as I can see, there is no data about unique items in the GGPK files (list, links with the mods table, although there are mods themselves)

How do you get a list of unique items and link them to the mods table, what's the best way to do this ?

Unique items on poewiki are not updated automatically, site admins add/change them manually?

Is there any other way to solve this problem other than to parse the data from the sites and match the text - the list of mods from the site with the ggpk data?

(the end goal is to get a list of unique items that will refer to the mods table)

worthy cape
#

There's some minor pieces of information like the data that backs the Unique stash tab.
Everything else is more or less manually assembled from previews, screenshots, and items as they appear on the trade site.

#

That holds for the wiki, PoB, and I believe Chuan has their own magic sauce for populating poedb.

#

The mod matching is extremely manual as all you have to go on is the wording on stats, there's no translation from the trade result stats to mod IDs as I understand it.

worn heath
#

Thanks, I'll look for a way.

worthy cape
#

There's been some discussions in the past on the subject in here, search might aid you.

inner saffron
#

hey, all, sorry if I'm in wrong channel about my problem, I have trouble with up to dating my client, you can see in SS what kind of error occurs there, I tried 2 different ISP, I tried run as administrator, I have my SSD 386 empty GB of 936, I don't know what is problem

worthy cape
# inner saffron hey, all, sorry if I'm in wrong channel about my problem, I have trouble with up...

You don't seem to be alone, it may be due to client-side anti-malware, something not quite cached right on the patch CDN, or something else. The proper venue to troubleshoot this is with GGG.
I don't remember if techsupport@ is still a thing or if the forum with posts like this is your primary venue: https://www.pathofexile.com/forum/view-thread/3302487
It probably helps if you mention some things like geographical region and any security software you may have installed.

inner saffron
#

it is me so 🙂 there one guy says PoE does not care about technical problems, I dont know what else I can do

worthy cape
#

HanSoloDK is a character for sure, they're in every single thread on the forum spouting everything between mild advice to misinformation.

inner saffron
#

@worthy cape hey, I guess exactly same problem, I tried 3 different ISP, always same problem, so looks exact that situation that Im somehow from not allowed reigon 🙂 Im from Azerbaijan, so there not working VPN's too, so seems there is no options till they fix it

frank drift
#

generally they take connectivity very seriously, but in some cases if eg a country is blocking the game there's not much they can do

worthy cape
inner saffron
#

yes, I mailed to support@grindinggear.com and firstly they redirected me to general technical problems post on forum, I tried there all parts what I can, no effect, then wrote them one more time, and got answer to create a post on forum, as they cannot support through that mail address

worthy cape
#

Worst case, you could try using Steam rather than Standalone, but you'd have to redownload the whole game again then.

inner saffron
#

now hoping to get some help

#

I have also epic games version installed, not tried yet, not sure, if just copypasting content.ggpk will help me with updating that, cuz it is very old version, maybe 3.18 on epic version not sure

#

but nvm, epic version and also steam version so stupid for me, they are both unstable, I getting zigzags on my ping between 100-400

#

and it dont stop, always unstable ping on both, standalone version a bit better for me

#

on standalone I have at least 80-100

worthy cape
#

Might also be enlightening to do something like this in PowerShell or put the URL into a browser, see what actually happens when downloading?
& curl.exe -vOLJ http://patchcdn.pathofexile.com/3.19.0.6/PathOfExile.exe

inner saffron
#

I already tried to open it on browser=) nothing happens, just loading endless, I guess it openable with different way, not sure, Im not pro on that kind techs, but, I guess it is proxy server or something that not openable with traditional browsers

#

I tried partically to open it, tried to reach exact same url, and at least tried to reach to patchcdn

#

oh wait, you mean with adds in front it

#

let me to check

worthy cape
#

Reminds me of whatever country it was in east Asia blocking all of PoE for "gambling".

inner saffron
worthy cape
#

I meant that you could put that command line into a PowerShell command prompt/Terminal to try to download the file with Windows' bundled curl.exe.

inner saffron
#

you mean to past it to cmd ?

worthy cape
#

But if your browser can't grab it either, there's something weird upstream from you, probably a national block on the servers that PoE distribute data with.

inner saffron
#

it is what I see

#

putting url affecting nothing, as I said above, already tried

worthy cape
#

Your download request is not reaching the server or the response is prevented from getting back.

inner saffron
#

and it means ? ..

#

same situation with post that u linked above ? somehow my region is not allowed ?

worthy cape
#

Some countries have national restrictions on internet traffic to sites that they may consider undesirable.
Sometimes other sites are blocked as part of that strategy, either due to explicitly delivering undesirable content or by accident.

#

GGG uses a general purpose CDN (content delivery network, here hwcdn.net, Highwinds CDN) to deliver game data.
If that CDN is blocked for some reason you're not going to get much downloaded at all.

#

Epic or possibly Steam might happen to work better there as they may have alternative sources for data download.

inner saffron
#

I hope they can fix it, if not, me better to not play game through steam/epic, as their ping somehow horrible

worthy cape
#

That's quite odd considering that it's running on exactly the same gateway and game servers.

inner saffron
#

even my 80-100ms not good for that kind of games, but I can handle with ranged and/or tankier builds, 100-400 ms nomore acceptable, cant take an advantage never

compact isle
#

very cute user agent whoever that is

rapid pagoda
#

🤨

wraith jasper
#

Anyone else having some issues with the trade site servers at the moment?

compact isle
#

something to do with leagues not showing up? Or being invalid

wraith jasper
#

Yeah that's one, also noticed that live searches keep disconnecting

compact isle
#

I just issued a disconnect for them since they were causing the league problem

wraith jasper
#

Gotcha, so should be good now?

compact isle
#

hopefully

wraith jasper
#

One other thing I just noticed; not 100% sure if there's a bug here but I think this use to work
I have a live search for a currency, when I see it come up I then hit search through the Bulk Item Exchange, but today i've noticed that the item from the live searchh didn't appear in the Bulk search
I'm like 60% sure this strat use to work

compact isle
#

the item system and the bulk exchange system are completely separate as of 3.18

wraith jasper
#

Ohhhh interesting, is there some additional delay other than the usual 5 minutes?

compact isle
#

the 5 minute delay thing is just for the Public Stash API not for the site

#

generally the bulk exchange system is faster since it has less to do

#

and live-search itself is... a hard problem

wraith jasper
#

Gotcha, that makes a lot more sense now
Yeah (as a dev) I don't want to think about how you'd handle that

#

But also at the same time, kind of sounds like a fun problem :p

compact isle
#

I did see a report from someone about live-search not picking up some items (logbooks?) which is hard to diagnose so it is good to report anything weird

sinful saddle
#

Hi folks! I have a weird issue with Awakened Poe Trade, where's the best place to ask for help?

worthy cape
#

Not here, this is for development discussion. 🙂

sinful saddle
#

fair enough 🙂

simple ravine
compact isle
#

the issue seemed to imply it was with reverse-searching rather than the message brokering

graceful compass
#

Hey guys, trying to get PyPoe to work and running into issues with querying the ggpk... is this the right place to ask some questions?

worthy cape
graceful compass
graceful compass
worthy cape
#

Sure.

#

OK, it's a schema mismatch.

#

How familiar are you with DAT files and the specification needed to read them?

#

In short, DAT files are in a row-based format where the extent, type and meaning of the columns has to be guessed based on the bytes in each row.

#

What you've got here is that the spec (in stable.py) for BaseItemTypes is for a previous version of the DAT file. The diagnostic you get there is a fail-safe that informs you that the width of the rows as stored in the files differ from the width that is expected given the spec.

#

Make sure that you're using the patches branch of the wiki PyPoE as that is more up to date than dev.
If that's still not good enough, we might have to update the spec. Seems like the dat-schema backing poe-dat-viewer is matching well.

graceful compass
#

I see, thank you for explaining, really appreciate it. I'll try the patches branch now.

worthy cape
#

Squint-comparing the specs here, it should address your problem.

#

We've tried to have a workflow on the wiki where dev is for more fundamental functionality unrelated to game releases and patches has a bit more churn as work to adapt to the current version of the game happens there.

graceful compass
graceful compass
worthy cape
#

It can happen even in harmless patches mid-league as the needs of the game changes, but yeah, league transitions tend to have the big changes.

#

The wiki has been working to get up to speed with the current state of the game from the stale state it was at when transitioning from the old one.

#

Common tables like BaseItemTypes, Mods and Stats are more likely to have effort spent on them to stay up to date and there's several gangs of people loosely collaborating to figure it out.

graceful compass
worthy cape
#

Judging by forum posts (which I assume you can't see) the route seems to be to contact support:

Hey there, <insert name here>! I'm sorry to hear about this. If you have not already done so, could you please email us at support@grindinggear.com so we can look into this matter for you?

If you could please include your account name and 2-3 character names that would be greatly appreciated. 🙂

simple ravine
#

Hmm, PoB offence/defense node power ain't working for some reason. Others like Total DPS are.

long sky
#

@velvet fog Any chance of changing the labels on your charts here? https://poedb.tw/us/League#LeagueChart

Those charts are not showing player retention, they're showing peak concurrent players. To show retention you'd have to know when someone started and stopped playing.

#

Showing peak concurrent players doesn't show league retention as you're including standard and league players in the same graph.

frank drift
#

what a silly thing to complain about

long sky
frank drift
#

the trend over time in concurrent players = retention

long sky
#

That is not how retention is ever calculated

simple ravine
simple ravine
long sky
#

The who generally means daily or weekly uniques, no one would ever do a retention analysis based on peak concurrent numbers

frank drift
#

you're way overthinking this

long sky
#

Not really, just pointing out that graph labels don’t match the data

hazy fiber
#

theres defs some under and over estimations going on, but it should aproximate it fine if the number of std players is low

hazy fiber
#

beta should get the fix sooner rather than later I think, but no idea as I think the auto beta got turned off while we test nostras trade integration thingy

long sky
clever thistle
worthy cape
#

@long sky @velvet fog I really don't want to touch this discussion with a ten foot pole but I have no idea how the numbers in the "retention" graph are gathered/derived.
Maybe a less ambiguous and loaded word might be suitable or that there might be room for an explanation of what's actually computed and from what data sources the information is gathered for transparency.
It doesn't help with the case that people have already used the screenshots without context to nefariously slam the league on Reddit, but it might help in the future if it's somehow misrepresenting things.

#

I guess after way too much thought that it might be a computed quantity from something like current_active_concurrent / league_launch_active_concurrent but it could be interpreted as some other deeper or original dataset.

#

It's being used in especially misleading ways to further a narrative that the league is dead as the context of player count is completely missing from the cherrypicked screenshots.

#

I guess there's been some change already to wording as the screenshots I see only say "League Player Retention" as the caption while the live site is more elaborate.

#

It just tires me so much that some communities go so out of their way to sabotage the game they supposedly love.
sadBlob

simple ravine
long sky
hazy fiber
simple ravine
simple ravine
#

aah

worthy cape
#

Slightly sensitive to your working directory, at least in the past, but otherwise very straightforward.

hazy fiber
#

np, although the advice is if you dont plan on doing dev work to not stay on it

simple ravine
#

right, I started it from terminal inside the runtime directory, now I'm curious where the Builds folder ended up 🙂

hazy fiber
simple ravine
#

got it, thanks

hazy fiber
#

it might be wrong, mine is very krangeled atm and has 4 folders called "Builds" in different places

worthy cape
#

It's self-contained much like a portable one, IIRC.

#

You can configure the build path to be somewhere external if you wish, but it always has the risk of krangling things.

#

I keep a separate tree for my dev builds.

simple ravine
#

src/Builds was the place

hazy fiber
simple ravine
#

I might, when I was trynig to figure out headless, but I forgot if I got rid of it - but it works like a charm

#

A little choppy, but works

shrewd elk
#

is this the chat to ask for help with poe technical issues ?

#

bc i need help bad

worthy cape
shrewd elk
#

sadge but i got you im where are the forums ?

#

im kinda new to this server ?

worthy cape
shrewd elk
#

thx

primal schooner
#

@velvet fog ^^

velvet fog
#

The website was repaired, because of the typhoon last night, there was a power outage at home, and then after the electricity came in the morning, the UPS was broken, and the database was damaged after starting up, and it took some time to repair it.

worthy cape
#

Great fun, I bet.

long sky
#

That sounds like a nightmare!

dull laurel
#

the poedb server runs in your apartment? 😄

worthy cape
#

Hrm, direct whisper seems a bit weird in Cyrillic in my client - copy message looks like this:

@AnimeGolemOmaiva Здравствуйте, хочу купить у вас 1 Серебряное масло за 13 Сфера хаоса в лиге Kalandra
while the Direct Whisper looks like this with a weird placeholder underscore:

frank drift
#

I've noticed that as well

junior root
#

I just noticed that poe trade companion's repo is gone

worthy cape
junior root
#

huh

#

why

worthy cape
#

Can't find the posting now, but essentially considered malware due to all the false positives from antivirus.

junior root
#

dang

junior root
#

well, I was hoping to maybe take a look at why the kicking yourself function stopped grabbing character names from the account name; I'm guessing it's because of the new login requirement?

worthy cape
#

Not sure if there were any conclusions last we discussed it.

#

The endpoint for character->account is shut down, but that's the other direction.

dull laurel
worthy cape
#

I'd reckon that it's probably not a great idea considering the passive ad and patreon income there is from operating and improving the true site.
I have no insight but would expect that the codebase is probably quite personal and weird. Bringing it up to a point where others can contribute to it or operate clones would probably be a fair bit of time investment that doesn't really help the goals.
A big part of the site is chuan themselves, which we can't clone yet.

frank drift
#

yeah open sourcing is pretty much pure downside

dull laurel
#

Guess I'm just too much of an idealist in my mind. Thinking about this one github org where all poe related projects are sitting. 🤔🤓

cold wedge
#

Hi everyone. I don't undestand how to price check for a specific affixe. the official website translates affixes to non sence (aka "explicit.stat_1603621602") and I can't find an api that does what I want. How does other tools do that ?

hazy fiber
#

some of them are open source no? can just look em up on github

cold wedge
#

I'll do that thanks

loud vapor
#

Mooberry

dense shore
#

Were there Craft of Exile Devs in here?

worthy cape
#

(that's also documented on the About page)

dense shore
#

yeah saw that, but I refuse to join that server

worthy cape
#

Fair enough.

#

In any way, you're looking for @nova hamlet.

nova hamlet
#

@dense shoreA DM or an e-mail mentioned in the about page also works.

mortal bone
#

I am way behind and just realized the json for passive trees changed again 😄

#

looks like it was 3.18.1, whoops

worthy cape
#

Heh, yep.

#

Fun with sprite sheets and inverted structure for assets.

#

Totally didn't catch PoB by surprise for Kalandra launch or anything aPES_Eyes

mortal bone
#

Hmm, the assets look fine to me

#

they actually look like what I generated for the real old trees

#

I guess they used to be wider than they are tall, but I don't see why that would break anything

worthy cape
#

Sorry, I mean how the JSON structure now has a different order in the hierarchy for asset metadata.

mortal bone
#

oh, that is going to be fun

worthy cape
#

Changing what's nested with sizes, filenames and extents or something.

#

Didn't pay too much attention to it but I think it's a bit different.

#

In the current branch for tree rendering I think we reshape the old tree structure to emulate the new scheme going forward.

mortal bone
#

Yeah, that is what I have been doing in all my tools. I just migrate the old structure to the new

worthy cape
#

Heads up by the way, the orbit connectors are nested in a single image and you'll need some masking to draw them if you use art.

mortal bone
#

that way you only have to deal with rendering the "newest" tree

#

I don't draw the orbit connectors because they are a pain in the ass to get right 😄

#

Also, they didn't used to give us the correct asset for it lol

worthy cape
#

Some people have also had some fun with ascendancy plate art as it's a nontransparent JPG that needs masking.

mortal bone
#

oh, that sucks

#

I see that now...

#

at least the jewel radius stuff isn't messed up anymore 😄

#

we used to get 1 that needed masking

hazy fiber
#

one of these days zao will finish the tree update and we can stop using my hack for PoB

mortal bone
#

We should just write our own structure/assets then write a tool to convert this into json that domain...

#

then all of us just need to update 1 app instead of like 40

worthy cape
hazy fiber
mortal bone
#

I guess I am just complaining because I have two tools to update which is annoying

rapid pagoda
worthy cape
#

It'd be neat if we some day could get the wiki's pypoe over to dat-schema but there's some things that break doing so that I believe no one has had the cycles to dig into.

#

Brathering's already kind of does it but not quite all there yet.

#

For myself I'm amazed that I managed to make progress on anything lately.

mortal bone
#

I wrote a parser that uses dat-schema, but I haven't really done much digging into formats

hazy fiber
oak estuary
#

At least for the tables/columns we use 🙂

velvet fog
ebon kernel
worthy cape
#

Gotta love issues where multiple crashes and discussions are mixed up 😄

patent notch
pseudo ocean
#

does anyone here know the details on PoE.Ninja API JSON values?

Like, what does pay.value indicate on CurrencyOverview for an item? It's a fractional value, for Divine it's 0.005617857142857143, and i don't even know what this value means.

#

for receive its actual price in chaos, but it doesn't seem that it's simple reverse for pay

#

or my math may be wrong

patent notch
#

i think i think it might be 1/178? so basically 1/divineToChaos? maybe not sure

pseudo ocean
#

oh wait, it is

#

so my math is just mess

patent notch
#

hehe, it happens

worthy cape
pseudo ocean
#

hm, so i wonder about two other things too. I'll paste the JSON for better description:

{
  currencyTypeName: 'Divine Orb',
  pay: {
    id: 0,
    league_id: 147,
    pay_currency_id: 3,
    get_currency_id: 1,
    sample_time_utc: '2022-09-09T17:58:31.0903262Z',
    count: 200,
    value: 0.005617857142857143,
    data_point_count: 1,
    includes_secondary: false,
    listing_count: 5139
  },
  receive: {
    id: 0,
    league_id: 147,
    pay_currency_id: 1,
    get_currency_id: 3,
    sample_time_utc: '2022-09-09T17:58:31.0903262Z',
    count: 200,
    value: 176,
    data_point_count: 1,
    includes_secondary: false,
    listing_count: 900
  },
  paySparkLine: {
    data: [
         0, 0.52, 0.69,
      1.04, 1.57, 1.75,
      3.42
    ],
    totalChange: 3.42
  },
  receiveSparkLine: {
    data: [
         0, 0.47, 0.99,
      0.88, 1.16, 1.66,
      2.33
    ],
    totalChange: 2.33
  },
  chaosEquivalent: 177,
  lowConfidencePaySparkLine: {
    data: [
         0, 0.52, 0.69,
      1.04, 1.57, 1.75,
      3.42
    ],
    totalChange: 3.42
  },
  lowConfidenceReceiveSparkLine: {
    data: [
         0, 0.47, 0.99,
      0.88, 1.16, 1.66,
      2.33
    ],
    totalChange: 2.33
  },
  detailsId: 'divine-orb'
}
  1. what are the spark lines, how could i interpret them? I assume they have something to do with the charts on site, but i don't have a clue how are they related to prices. Probably some multiplier, but then - what's the 1? And why there are always only 7 points in each array? On PoE.Ninja when i select 10 day period, i can see 10 points, and it's lowest i can see.
  2. what does count mean in pay/receive? listing_count i assume is count of listings on trade @ the moment of data fetch, is count the amount of listings the estimated price is based on?
worthy cape
#

No cycling between effects and arguably no divergence from read state.

#

For reference:

Each macro invocation must have one set function (it cannot cycle between actions).
The resulting function must only perform one action that interacts with the game (sending a single chat message or command counts as one action).

#

The action could be argued to vary as it changes the price based on the amount read, and it could be argued that it's two actions in spirit, one copy command and one paste.

#

It's quite close in functionality to the "sweeper" type automation where a user would flail their mouse around and mash a hotkey to do something to items, but in the end the best way to get a definitive answer is to ask support (with a good chance of a "lol, no").

frank drift
#

if you ask support, they're going to say no

#

no matter what your use case is

worthy cape
#

To me it's fundamentally doing different actions based on data queried.

frank drift
#

you could ask whether you could send ctrl+v and they'll say no

#

IMO GGG is not going to care about this

#

and if they do they'll let you know

worthy cape
#

That wasn't the question tho.

#

Anyway, I've put in my thoughts. Do as you wish.

frank drift
#

there was already a harvest station pricing tool with similar functionality and afaik GGG never cared

#

no, what I answered was the question

#

if you want an answer to "what is completely compliant with TOS", the answer is "nothing"

#

also, there's trade lookup tools with auto-price-set functionality

#

same thing, unless I'm misunderstanding

patent notch
#

Thank you for the inputs from both of you. As it seems, @worthy cape is correct in the way saying that the output of my tool will change according to the game state aka the current item price, so it may very well go against TOS, and @frank drift you are right as well saying that asking GGG for whether tool is compliant is mostly going to go to 'no'. Still I am gonna ask ggg support to see if this is allowed, just taking my chance. I am now gonna look for support mail, but if you have it handy somewhere let me know.

frank drift
#

complete was of time, but if you feel compelled

patent notch
#

tyty

#

sent.

patent notch
#

"we aren't able to confirm whether or not a given tool would be allowed." I guess gonna keep manually repricing my good items till they sell one at a time sadly.

rapid pagoda
#

I would honestly be tempted to ask again in a day or two, "we aren't able to confirm" is an incredibly weaksauce answer

frank drift
#

it will be the same answer

#

it's the same answer every time

frank drift
#

that answer is not a 'no'

patent notch
frank drift
#

you will not get banned for that

#

I guarantee you

#

GGG has way bigger things to worry about than dinky price setting tools

patent notch
#

I guess

#

Maybe make it open source and leave up to the users whether they want to take the risk or not.

#

Not sure yet.

frank drift
#

no one will get banned for that ever, I'll put money on it

chrome topaz
#

can't you just list shit on forums

#

acquisition had a similar feature... 5? 6? 7? years ago. though it would only show you the "age" of the price set and not decrease it automatically

hazy fiber
#

^ forum listing would allow you to automatically modify prices without client interaction

#

I remember having that for gear my characters were wearing

frank drift
#

forum listing is very buggy

#

and in particular will interfere with tab listings, you can't have the same item in both without bugs

quick dragon
#

could have a tool that converts a particular public tab into a forum post. then you can manually unlist that tab or move the items elsewhere to avoid whatever bugs cdr is talking about. then have your price updater work on the forum post instead of in game.

thats getting pretty close to just being acquisition v2 though, so its popularity would be suspect at best.

#

Id like it though. one tab is the "newely acquired stuff" public tab and at the end of the day anything unsold in it gets added to a forum post and moved to some other random tab(s). then the price of everything on the forum post drops by 10% or whatever you have set. just a sort of "one button at end of day" type of deal

worn heath
#

Good night everybody.

Poedb shows that there is a mod on the rings:
PhysicalDamageConvertedToFireDelve/10% of Physical Damage Converted to Fire Damage

This mod has only one spawn tag - default with value 0

Does this mean the mod can't drop on an item by the player, but the item can drop with this mod in delve? (I see rings on the market with this mod)

How do I separate default 0 mods into ones that don't fit at all from those that might appear in special zones?

My goal is to get a list of ring mods (for example).

Right now my request is:

The mod has a spawn tag equal to selection (ring) and a value greater than 0 OR The mod does not have a spawn tag equal to selection (ring) but has a default tag with a value greater than 0

This works for normal mods, but delve (prefixes, for example) mods like the one indicated above (with a single default 0 tag) does not show.

If I remove the default value <> 0 selection, then I get mods for other types of items (not rings)

Can you show an example query to get all ring mods?

#

==============================

I'll try to phrase the question more clearly.

There are delve mods with a single tag - default 0.

For example:
10% of Physical Damage Converted to Fire Damage (poedb show its for rings)

How to programmatically understand on what subject it can occur and on what not?

hazy fiber
#

it means that for it to be added to an item it needs to be added in a special way that ignores spawn weights, and I am pretty sure that info isnt in the client in anyway

#

and you just need to know that it shows up on rings

worn heath
hazy fiber
#

probably

#

I can go take a look how PoB does it later when I am free

worthy cape
#

There's been some past discussion around this in here I think, and that's pretty much the conclusion for many things.

worn heath
#

I searched by keywords, but did not find what I needed, I'll look again thanks guys.

mortal bone
#

I love skill tree development sometimes

hazy fiber
#

that looks a bit like what @worthy cape had at one point, so your making progress

mortal bone
#

Yeah, I just don't mask line connections

#

I was already masking arcs

mortal bone
carmine merlin
#

Yeah they did

#

Something about file size I think

mortal bone
#

Yeah, they are massive 😄

worn heath
#

Hi all.

Sorry for the stupid question.

I downloaded the pob source from github (I wanted to see the logic in this project) but have not used Lua before.

I open the project as a folder in vs code.
When I try to execute the Launch.lua module, I get an error:
PathOfBuilding-dev/src/Launch.lua:10: attempt to call a nil value (global 'SetWindowTitle')

As far as I understand, it considers the function call to be a variable, because it does not see it.
In Lua it is not necessary to import other modules (in which this function is defined) ? It's just that I don't see any imports in the Launch.lua module.

oak estuary
rapid pagoda
#

They could, at one point, also be created by certain fossils, but that crafting mechanic was removed

frank drift
#

"contains X items" more generally yeah, from the chests

runic imp
#

Hello all,anyone here can help me ? Just installed Awakened Poe trade,but it crashes instantly when i run it.i don't know whats wrong.Anyone got any idea?

mortal bone
#

I love this 😄

#

this is me trying to convert up to 3.19 😄

carmine merlin
#

Look perfect, time to ship

upper lance
#

I’ll be honest I kinda like the braids.

#

But who knows if the community would react the same way they did when GGG changed zone pathing in the quest map to be wavy

unreal rune
glacial gyro
#

hi all, a little passion project I'm working on, and I'm very new to programming so this maybe a very basic question, apologies if so!

I've managed to get oauth sorted, and my redirect "works" in the sense it does redirect to the correct URL that I sent to GGG with the code and state present, however, the URL it redirects to is what I would use when I'm done, right now I'm trying to test in local, and I cannot redirect to localhost, is there something I can do about this, or should I just be grabbing the code from the redirect URL manually?

formal kraken
#

1 sec

glacial gyro
#

amazing, thank for sharing, will check it out !

formal kraken
#

If you're implementing the necessary security (as described in the poe api docs, state param mainly) through cookies, you'll probably have to disable that

glacial gyro
formal kraken
#

no worries, if you have issues just ping me, I can just check my actual setup on the laptop if you're stuck somewhere

mortal bone
glacial gyro
#

@formal kraken that worked perfectly, thanks vm 🙂

worthy cape
#

(I have a pretty good guess what you did, but still amusing)

#

Longboi down below Ranger start.

#

For reference, the game itself draws orbits with the arc mirrored in quadrants.

#

The mirroring addresses the problem with the endpoints not matching up.
As you also can see, line connectors are tiled and truncated to avoid excessive stretching.

#

(matters mostly for the animated UV muddle that they have going on for picked-but-not-committed allocations)

mortal bone
#

Ah, I actually didn't change how I draw arcs, but I see what you mean

#

I draw 1 full arc then another if needed

#

I already tile/truncate the line connector

velvet fog
#

@compact isle Accounts in Garena Taiwan must be linked to twitch before the direct message function will appear in the web trade

quaint jetty
#

does anyone know exactly which fonts are used for stash tab names? It seems to be Fontin + one or several other fonts as fallback for unsupported symbols

#

I'm trying to make a tool listing all supported symbols and what they look like ingame

worthy cape
#

I don't think it's fully self-contained with the fonts shipped with the game, as I've seen tofu show up on some OSes and situations, especially on Win7 in the past.

civic crane
#

Metadata/UI/UISettings.xml - fonts and fallback fonts

quaint jetty
quaint jetty
#

Ok it is done! The list of symbols I can use for stash tabs, with their UTF-8 code, and what they look like on my computer (Windows 11), and should probably look like on similar setups
Thanks again @civic crane
Don't worry @brittle pumice it was not a scam/hack attempt

brittle pumice
#

please do not cast hexes in chat

quaint jetty
#

0080-00FF too late I did!

quaint jetty
#

ok, now I realize that this list is far from complete, I forgot a big range of UTF-8, I will finish it tomorrow

covert horizon
#

Is there anyway to get Awakened Poe Trade to show value in chaos or div instead of exalts? Every item it's showing X.XX Exalts instead of chaos

worthy cape
#

Are you running the current version of APT and which part of the UI is this? Search results, the third party prediction thing that is disabled by default?

brisk frigate
#

can i filter notables to specific positions with the pob timeless jewel finder? need to find all militant faiths that only converts one specific allocated notable in radius. currently i can get a list of jewels that only change one notable, but then have to manually go through all 200+ of them to find the ones that place it where i want

hazy fiber
#

you can click the filter nodes option with only the one notable selected

#

and itll only look at that node

brisk frigate
#

but then those results can change the unallocated notables that are allocated in the final build

hazy fiber
#

yeah thats pretty hard to do currently, shouldnt be hard to add functionality for that but its not high on anyones priority atm

brisk frigate
#

understandable, thanks. being able to export the list as text would help too

brisk frigate
frank drift
brisk frigate
#

but doesnt that have the exact same issue as pob?

#

where it changes notables that i want to keep their regular effect

frank drift
#

ah I misunderstood you

idle nova
#

Are there any docs on how the skill tree compression in the planner works? i.e. what data is encoded in the string in the URL

worthy cape
#

The developer docs outlines the binary format.

#

Some enlightenment can probably also be had by squinting at PoB's tree URL interpreter as well.

dense shore
#

Would temporarily not allocating the nodes you want to keep, be DIY work around?

timid meteor
#

Client emulator + 0day exploits

light ridge
#

Hey, i'm a bit confused about the OAuth2 process: does an application need to be whitelisted/registered with GGG to use oauth2? sorry if it's an obvious question, but i can't find anything other on the "registration" topic in the developer docs

#

a valid client_id seems to be necessary for both authorization and token generation

#

i'd like to avoid the POESESSID approach if possible, as oauth is cleaner and safer

light ridge
#

oh yeah you're right... missed that

#

thanks <3

serene bone
#

Hello everyone, I would like to make a website where you copy paste your map and then shows possible monsters that can spawn from the map layout, give the detail of all their moves with a close approximation of their damage value taking account for maps mods, + manual input of sextants / scarabs. I have outdated data from 3.15, so I wanted to use poedb updated data but it may take a long time, so I wanted to know if there are practical repositories/csv/tables for monster data ?

hazy fiber
#

the ggpk itself? I dont think poeDB uses any special data, just processed ggpk data

serene bone
#

oh alright then, i will take a look, thanks ❤️

fallow burrow
#

hi all, hope this is the correct section to ask in. I am using GeforceNow to play POE and until recently Awakened Poe Trade worked fine by using ThePepperoniGuy script. However, since few days ago stopped working. Everything works fine up until the Awk window showing attributes, etc to check for price check should show, that stopped showing. I can see a fake 'Path of Exile' window in the 'background' but that's it. Anyone else is using Awak Poe Trade via GeforceNow and knows a fix or maybe a different way of having it?

#

ps: if I press shift-tab awak por settings window opens, so it works somehow but can't get that 'trade' window anymore

fallow burrow
stable swan
#

hello guys i want to make a program to calculate probability of e.g. alva missions to provide good temple build. so how can you solve this kind of task with java? i m a beginner of java and want to improve it

civic crane
#

take paper, write your inputs, outputs, step by step probability calculation, then you can implement it in any language not just java. This problem is not a straightforward, can't jump into editor, take some magic library and voila 😄

worthy cape
#

There's also the fun approach of simulating temple runs with the different possibilities at every step and having options to configure what you would want to do in different scenarios, see how it plays out probability-wise.

rigid oxide
#

are room position/type weights known?

civic crane
#

I only found one column that can be a weight, but weights are "wrong" when you look at it, so I think equally weighted.

worthy cape
#

I don't think there has been much public testing of temple logic. Like are architects equally probable, are rooms of specific ranks more commonly picked for conflict, does the connectivity matter, all that jazz.
It bothered me greatly when levelling Alva to master level 8 in the past as there was no discernible strategy for rooms but it felt like there might be some underlying logic that people can't reliably discover.

#

One can compare it with Betrayal where there's several hidden rules about who joins who for encounters, like the one where people of sufficiently separate rank won't ever appear together.

#

Without other evidence one can only assume equal probability and form theories or try to crowdsource counter-cases about whether rooms will be picked at all in situations like "room is R3 but has closed doors".

#

It's a system that makes you feel like you're missing something obvious and playing it wrong. piebySweat

clever thistle
#

so, a life sim then? 😉

wintry void
#

Hello mate, who's here

swift beacon
#

Just us chickens

brittle pumice
worthy cape
brittle pumice
#

ggg isnt known for telling so deeply a story in how systems interact

frank drift
#

there are indeed some "hidden" rules for temples, eg a tier 3 room in the current temple won't appear in the next temple at all

brittle pumice
#

personally i feel like i get corruption rooms as often as i do other room types

#

then again, its a big list and theres multiple thematic groupings u could do, for tier/weighting

#

maybe theres a dataset from someone who farmed 1 million temples

timber finch
#

Is there a documented API for poe ninja somewhere or does somebody know how to query the pob string from, for example, the top 100 delve players?

rigid oxide
frank drift
#

if you only want top 100 delve players, you should be able to use the GGG ladder API directly and not go through poeninja

#

whatever floats your boat though

timber finch
#

Alright zana_wink thanks

timber finch
wintry void
#

Place me well here mate, don't want to disturb anyone here tho

vagrant lynx
#

Hello, this might seem like a dumb question, but I haven't been able to pull other characters beside my own using Client Credential Grant. I was able to look at the ladder, but if i use a character name other than my own, I get {"character":null} 404 error. Not sure if I am missing something simple or not, but I was hoping to go through the ladder profiles and look at common bases/enchant combinations.

I am using this endpoint https://api.pathofexile.com/character/<name> - if the profile is public, should I be able to load other characters this way?

exotic egret
#

You will need to implement the authorization_code grant to access other accounts

#

Those accounts need to give their permission for your app to access them

cosmic saffron
#

huh getting weird invalid token errors when using trade to direct whisper people with japanese lang

velvet fog
frank drift
#

about time

slender kelp
#

About time.

pallid wraith
#

May it rest in peace.

chrome topaz
#

about time

clever thistle
#

F

simple ravine
#

You've done a hell-of-a-job over the yeras, @chrome topaz

velvet fog
#

Thank you for your hard work over the years

long sky
#

End of an era!

lone verge
#

Hey everyone, apologies I don't intend to clutter dev discussion here. I was looking through previous posts here in regards to the object viewer but couldn't quite find an answer. I'm looking to download these objects to use as minis for a DND game through TaleSpire. Any tools or threads I could be pointed to on how to achieve this? Thanks for any help you all can give 👍

hazy fiber
#

chuan or zao probs have the most experience with the 3d models, but your not too likely to get help in this chat due to some bad actors which wanted to use assets for non-poe related things

your usecase seems fine as long as you dont sell/give away said minis, but it might be better to commission fresh ones anyway

swift beacon
#

The models are pretty low poly, so I'm not sure they'd work well as actual printed figures.

#

They'd definitely be quite blocky compared to what you see in-game.

worthy cape
#

It's the same story as most external renderers and file formats, you're going to get something in-between horrible and wrong as you reinterpret the data. If I read it right you're likely to have to go via OBJ+MTL for the formats, and a fair bit of lifting to try to shoehorn the data into those.

worthy cape
swift beacon
#

Ah, okay.

worthy cape
#

There's mods to put in arbitrary static meshes for tabletop minis, either via OBJ or maybe Unity "prefabs".

swift beacon
#

They look decent in OBJ format, though the lighting and shading are another story.

worthy cape
#

Point still holds from loremaster, unless you get things like normal mapping in they're going to be very flat and faceted.

#

Any metal, hair or other more fancy materials will be hard to translate.

#

In any way, I don't have anything to help you with exports, I have intentionally not worked toward any such adaptation - my viewer goes hard and opts for recreating a full PoE renderer.

#

It might be possible to make an exporter that does an OK job, after all there's chuan and Lore's browser based viewers.

lone verge
#

Appreciate all the advice, seems to be more work than I’m willing to put in. The good thing with Talespire being digital is that I can import 2D/Flat minis and just stamp a picture on it which my players will have to be happy with 😆

worthy cape
#

I know there's some people who are working on importers for tooling like Blender but have no idea how far off that would be, considering that there's all the above problems and formats that many of us haven't solved fully yet.

#

A cool tool for this would let you pick a specific frame in an animation and save out a skinned snapshot of the mesh, with best-effort guesses of the material parameters.
I'm not gonna write one 😄

#

Or dump out all the relevant textures and have to fix-up them yourself in a modelling package after export.

#

"earn your pay"

cosmic saffron
long sky
frank drift
#

I only knew the pm5k one

#

have to wonder if that's not malware or similar

frank drift
#

rather just don't use it at all

worthy cape
#

Yeah, I dove into it on the wiki Discord by downloading it separately and squinting at the files.

#

It has some neat aspects that the other extension doesn't in that it runs stuff on Google pages with the option to actively strip out Fandom results, refusing them the chance to get a counting click.

#

Some comms with the author would've been nice tho.

clever thistle
#

with uBlacklist you can filter out pinterest and other annoying sites too 🙂

exotic egret
waxen fern
#

Hi, is there a way to get the models from the Content.ggpk or just as a resource to download online? I am looking to import them in Blender and play around a bit, take a look at all the parts and stuff, would be nice if there was a way. Should be somehow, as poedb also has a model viewer online, though it doesn't seem 100% accurate, might be missing some materials or something.

waxen fern
#

Hm, it seems to be quite annoying to get the actual look, but I wouldn't mind doing it, if I can get the result I'm looking for. Only question is, how? 😅
Just basic models would already be a good start though and I could try to replicate the textures if necessary until I'm able to fully render everything

worthy cape
# frank drift here's a little past info from zao https://discord.com/channels/1749938148455219...

I've had some loose thoughts about whether one could do kind of a partial evaluation of a shader - where you'd assign each triangle in the original object an unique texture region and run the whole material graph up to the lighting step where you have most of the material properties. At that point you'd dump them out to render targets for each of the property like gloss, albedo colour, specular colour, glow, etc.

It'd miss things like UV animation and view-dependent effects including raymarches, but capture most of the artistic twiddles like gloss tweaks and the other biasing they do on top of the textures.

Huge project to undertake of course, and not one I'm keen on doing any time soon.

#

Another line of thought I've had was last time when the D&D minis person was here, and that was to have a two-pane material editor where you'd see the original material side-by-side with a new material using a more boring stock PBR renderer for which which you as a user could modify to resemble the original as much as possible by assigning and filtering textures, setting material parameters, etc.

#

That again would be a large project, but "easier" to do as it outsources more of the interpretation to the "model porter".

#

On the other side of the spectrum for the web viewing use case, I've also been curious whether WebGPU has a powerful enough shading language and is compatible enough to transpile the HLSL or SPIR-V to it, building a PoE-like renderer much like my standalone one.

hidden forge
#

Is the chat accessable in some way?

worthy cape
#

You can consume chat contents by reading the Client.txt log file, which contains everything except messages that may not be persisted (from Korean Kakao accounts).
A popular way of sending chat in response to a user action (as per the normal rules of actions as describe in the dev docs) is to send keystrokes to the program to open the chat prompt and paste from the clipboard into it.

#

The latter is a bit fun to get robust, Awakened PoE Trade may be a good reference on how to do it reasonably well.

#

In any way, you need a running client, you cannot do something like pull guild chat from an API to expose it while offline.

hidden forge
#

yeah i was thinking of fetching party names from chat

#

don't need to input anything

#

trying to make a 5way carry calculator cus i always forget who paid what

#

and though instead of manually inputting names i could fetch them from party chat

worthy cape
#

There doesn't seem to be any information around party members but chat messages appear in the log.
There's been some tools to provide an endpoint that feeds you lines from the client log if you're not into parsing it yourself, I forget which.
Lines look like this:

2022/03/26 18:49:56 73977437 cff94411 [INFO Client 20760] %<Hive> NeckWisp: later
hidden forge
#

was going to build it myself but oh well

worthy cape
#

Biggest stumbling block around this is probably the users whose chat messages don't appear at all due to regulations, otherwise a solid idea templarthumbsup

frank drift
hidden forge
#

yea but i kinda wanna automate stuff

surreal oar
#

is there an API where i can find the weights of mods for an item? or should I stick with scraping poeDB?

hazy fiber
#

the dats from the ggpk?

surreal oar
#

hmmmm, i should look into that when i wake up tomorrow. ty ^-^

frank drift
#

could maybe pull from the wiki api if it's on the wiki

pallid wraith
#

Wiki does have this info

#

You can go to the list of item modifiers page for the complete list of all modifiers for something, and then scrape all the pages on that page for the weight, since weight isn't listed on that page, but on each mod's individual page

#

There may or may not exist a better way to do it

frank drift
#

dunno about that in particular though

pallid wraith
#

I see

worthy cape
#

@surreal oar if you've got questions about how to use the wiki's data API we are happy to answer those over on the wiki Discord too, where people tend to look more often.

trim agate
#

anyone can help me for a minute please ? my awakened poe trade refuses to show me advanced mods , only shows the base item mods / influence / item level . looked a bunch and cannot get it fixed :(( would appreciate it alot

trim agate
#

trying everything i found online , including deleting the configs and everything like that , multiple versions too , awakened poe trade refuses to see anything but the base mods on an item :/

slate salmon
#

imagine a video game to hard you have to uninstall

worthy cape
#

Did you have any questions around tool development?

slate salmon
#

when does league end

#

im sorry. im in the wrong channel

worthy cape
#

I do not believe that it has been announced fully yet, but there was a recent news post outlining the extension of 3.19 a bit into December. The API endpoint is by tradition not updated until it's fully locked in: https://api.pathofexile.com/leagues

kind burrow
#

Hi, I'm getting into trying to learn developement for poe tools, but I'm having issues trying to access the stash-tab-api, I end up getting a 404 not found error. Which is really making me question what I am missing?

#
(Pdb) print(r)
<Response [404]>
(Pdb) url
'https://www.pathofexile.com/character-window/get-stash-items'
(Pdb) data
{'accountName': 'accname', 'league': 'Kalandra', 'realm': 'pc', 'tabIndex': 0, 'tabs': 0}
(Pdb) cookies
{'POESESSID': 'poessesid*'}
(Pdb) headers
{'user-agent': 'poe-stash-api/0.1.0 simple python functions to retrieve PoE stash info'}

I've removed my account name and poesessid. I was trying to follow a simple python api call through an interactive shell, is there something that I am missing on the endpoint?

exotic egret
kind burrow
#

Thanks, there is not reference to poessesid in the stash retrieval. Am I missing some other kind of authentication?

oak estuary
#

The account, league, and realm info should go in as query parameters I believe, not in the body. Also you appear to be missing a character name

#

Eg. launch:DownloadPage(realm.hostName.."character-window/get-passive-skills?accountName="..accountName.."&character="..charData.name.."&realm="..realm.realmCode

#

Not shown is the cookies and other header values

kind burrow
#

I tried putting the query paramaters in a GET, however it still returned a 404. However I am able to retrieve my stashes from Standard, but not from Kalandra on the same API endpoint

velvet fog
#
curl "https://www.pathofexile.com/character-window/get-stash-items?accountName=ChuanHsing&realm=pc&league=Kalandra&tabs=1&tabIndex=0" -H "cookie: POESESSID=poesessid"
#

works fine for me

worthy cape
#

You may have some help by looking at the request in your browser and seeing how yours differs from it. Straying farther from the correct method and configuration is unlikely to help.

#

Most browser network panes allow you to copy the request as a cURL command line for easy fiddling too.

rigid oxide
velvet fog
#

Now when you click on the player's guild information, you can't see the member list.

grave wren
#

i kinda slept on pob.trade going down, i assume the web pob is also gone for good?

worthy cape
#

pob.party indeed seems gone as well.

grave wren
#

rip

rigid fjord
#

!play guardians of the galaxy soundtrack

bronze jungle
#

Hello is there a way to extract textures from UI elements ( I'm a total noob )

worthy cape
#

If you've got the game files extracted there's a big sprite sheet table in Art/UIImages1.txt which map identifiers to texture files and the regions the image occupies.

bronze jungle
#

I tried to use the ggpk viewer but it seems that it doesn't work anymore :/

worthy cape
#

You could probably use VisualGGPK2 to get at the files, or my command line tool Bun + my process-image to extract and slice. https://zao.github.io/stuff/

bronze jungle
#

VisualGGPK2 worked like a charm ! Thanks a lot zao

velvet fog
worthy cape
#

League start is going to be extra fun for you with both the league and Ruthless throwing spanners into the gears 😄

#

Given how Royale wasn't super isolated from the rest of the game, I hope there's nothing large that will mess around with the data structure.

hazy fiber
#

itll probs not be too much, most of the chages are serverside only

#

we might get to see the internal cooldowns of movement skills (for flamedash/lightningwarp/dash) as well as flask duration, and maybe the changes to some mods if they exist?

#

oh and the separate atlas tree

#

dont think theres many other changes that arnt serverside (eg vendor rewards/recipes/gem sales are all not in the ggpk anymore right?)

#

but who knows im not on alpha so cant take a look at what they currently have changed, and its likely to change a ton before nda lifts

swift beacon
#

I'm pretty excited about Ruthless, too bad I don't do anything vaguely resembling "content creation." 😆 At least the release isn't too far off.

pallid wraith
#

Not sure what channel would be the right one for this, but it seems like the Greust bot fails to properly replace links to the fandom wiki when two links to it are present on one message.
#1┃after-acts-help message

hollow knot
whole ruin
#

Didn't the get-characters call used to tag last logged inn character?

hazy fiber
#

it does on website, not sure about api

whole ruin
exotic egret
#

Non-official APIs change often(ish) 🙂

whole ruin
#

That doesnt surprise me

#

Didnt find any other way to list any players/accounts characters.

exotic egret
#

We want you to ask the accounts permission before you get that information

whole ruin
#

ye that wouldnt work at all

#

doesnt sound like a great idea to ask every streamer to let me have access to their profile to see what their current logged in char is

exotic egret
#

Depends who you ask. What if you, as a streamer, don't want that information being shared (to a specific app)?

whole ruin
#

but its already there

#

by going to their characters page on their website

#

its highlighted when you go to an accounts character page. its also in the json/script as lastActive=true

#

so the difference is. Call unofficial API and dont get it. Call the normal webpage that everyone uses and write a parser to retrieve the info

#

var c = new C({"name":"GhazzyTV_BLtotems","league":"Delirium Everywhere (NRE007)","classId":5,"ascendancyClass":2,"class":"Hierophant","level":54,"experience":90225422,"lastActive":true});

exotic egret
#

Obviously we can only do so much to discourage scraping our website for this information (including disallowing it in the terms of use), but I think the default point of view is that information people choose to make public on the website is for human consumption, not some sort of data mining. We definitely don't make any effort to not break third party tools when we update these pages.

whole ruin
#

yea i get that

#

But i must admit imho I think that publicly available information should be retrievable by the official API

#

If a person makes his characters public (aka not private), I see no reason why I shouldnt be able to get that accounts chars and their status/gear/talents

grizzled seal
#

I think the default point of view is that information people choose to make public on the website is for human consumption, not some sort of data mining
This makes sense from a privacy perspective, but only if you're actually giving users the option to control it. I'm certain plenty of people would choose to make their profiles fully API-accessible (if such an option existed), if only because they'd want to use tools that rely on those APIs themselves. Discouraging scraping isn't really a solution; people will end up doing it anyway (the massive amount of forum scraping that went on prior the trade API is the big example here), meaning nobody gets privacy from bots unless they also inconvenience humans by making their entire character page (or profile) private. With a proper API the path of least resistance is to actually use that API, and by doing so follow each users individual privacy settings.

whole ruin
#

Im assuming the unofficial api already respects a users privacy setting. So people that have private profiles (aka you cant view their characters on the webpage) you cant retrieve their characters via the unofficial api either. So i honestly dont see why one flag is omitted. But it is what it is

languid spire
#

have anyone problems with black screen and stuff like this?

civic crane
worthy cape
#

That's some weird loot you've got there 😄

languid spire
languid spire
minor crest
#

Hey guys im doing another poeprofit website and for that i would need estimate of drop chances for: shaper, elder, uber elder, sirus, maven, atziri and uber atziri
Also how the atlas modifies these odds and the differences to the uber fights.
i tried to use path of maths casual exile sheet but couldnt find them there, does anybody have an idea on how to aquire them? the wiki is not good enough and i dont want to compare 20 videos of people farming bosses to get the data

worthy cape
#

I reckon you don't have much choice than gathering stats across runs to estimate drop chances, either yourself or more crowdsourced.
The wiki tends to favour objective information that can be found out either via company communications or data mining. Drop rates are especially fun as they have a long history of being excluded from the client world and may be tuned at any point by GGG, silently invalidating research.

gilded tree
frank drift
minor crest
whole ruin
gilded tree
whole ruin
#

thats pretty neat

pseudo ocean
#

i've already asked that question once here, but can't dig the answer out - PoE.Ninja API returns pay and receive objects for currency, with IDs of currency paid, received and some value.
For receive, the formula to get the value in paid currency is received currency value/paid currency value, and it looks all good because it always corresponds to the chaosEquivalent value of the currency.

For pay, however, if i invert the formula to paid/received, if i take chaos equivalent as prices, it's always close to the value field but not quite the same - is this expected behaviour? can i assume that it's because chaosEquivalent is usually not indicative of actual price you can get in transaction (i would not be suprised, happened to me multiple times)?

#

JSON sample here:

"currencyTypeName": "Divine Orb",
  "pay": {
    "id": 0,
    "league_id": 147,
    "pay_currency_id": 3,
    "get_currency_id": 1,
    "sample_time_utc": "2022-11-26T18:06:55.3483784Z",
    "count": 200,
    "value": 0.006663684210526316,
    "data_point_count": 1,
    "includes_secondary": false,
    "listing_count": 7309
  },
  "receive": {
    "id": 0,
    "league_id": 147,
    "pay_currency_id": 1,
    "get_currency_id": 3,
    "sample_time_utc": "2022-11-26T18:06:55.3483784Z",
    "count": 160,
    "value": 151.9833335,
    "data_point_count": 1,
    "includes_secondary": false,
    "listing_count": 1608
  },

currency with id 3 is divine orb, id 1 is chaos

#

and "chaosEquivalent": 150.92,

#

(i also just noticed that receive value in this case is also not equal to chaosEquivalent, so it really may be the case)

#

yea, it's probably that

pseudo ocean
#

@orchid pine

#

@timid cairn

stuck token
#

Any way to change F9 logout key on awakened poe trade?

worthy cape
brave sentinel
#

Is the poe.ninja guy a regular here?

#

I kind of remember we could choose past leagues when looking at builds, but the recent events took over all the league options...

worthy cape
fickle yew
#

It is usually only 1 league back though.

brave sentinel
#

Always good to have more data to look at 🙂 TY

wraith remnant
#

idk if i'm in the right place to ask, but is it possible to use things like awakened poe on steamdeck game mode?

#

i've tried launching the appimage after adding it to the library but it gets stuck loading. Idk if it may be possible to do something through decky, since I currently use it to control spotify while gaming, but I'm not linux/programming literate enough to know how to proceed.

worthy cape
#

Woo, PoE hit a Steam build number milestone: 10054912

#

(last patch was 9981348)

civic crane
#

missing mirrored for the full combo templarLul

worthy cape
#

Chris mentioning that the passive atlas tree may be available soon. Novynn waking up with a cold sweat.

compact isle
#

"Account-bound" used to be red and it made that item look weird

#

heh I just have the regular passive tree ready to go

#

atlas tree is still in progress internally

worthy cape
#

Are we in for anything fun w.r.t. tree formats this league or is it smooth sailing?

compact isle
#

just a minor change to group backgrounds

#

nothing that should prevent the tree from Just Working ™️ in your favourite tool though

worthy cape
#

That's nice to hear.

#

I have yet to land my arc render improvements from the other league. aPES_Eyes

compact isle
#

yeah I feel a bit bad for those but they make a lot of sense in the tree code on the site... and it does load instantly now which is very nice for development CowboyCoolCry

worthy cape
#

I made a neat little 2D mesh rendering extension of the previous rectangular sprite render code. Lets me build the arcs "offline" at tree load and when drawing just pass a mesh ID, a texture ID and a 2x3 transform.

compact isle
swift beacon
#

There's some interesting lore tidbits in Cadiro's new dialogue. Hadn't really expected lore MTX cadibroPerandus

worthy cape
swift beacon
#

Is that the new portal?

worthy cape
#

AristocratPortal, yep.

swift beacon
#

It's supposed to be gray and shiny.

#

This is the colour texture. There must be other effects applied to it, which is way beyond what I can do.

worthy cape
#

@swift beacon I have a bug in materials where the intent is that a scalar should be broadcast to all channels in a connection, but my code keeps it in red and the remaining channels end up black.

#

The model is animated and at full intensity it blows out a lot:

swift beacon
#

Yeah, I just slap the color/normal/gloss textures on and don't really go further than that.

worthy cape
#

I haven't bothered hunting it down as I've been extremely busy the last few months and I intend to port the material interpreter from Python to C++ as I integrate it further.

swift beacon
#

This is what it's supposed to look like.

#

With basic textures most stuff looks okay, though rather flat.

worthy cape
#

I need a less fancy mode that is more readable in poor lighting, all I've got is "player light" and "rave party at zana's".

odd sail
#

@compact isle will Relics (sanctified or not) be part of character import data when pulled down?

compact isle
#

they're not part of your inventory, so no

hazy fiber
#

I told him that already

#

relic altar is shared by all characters in a league right?

#

think Chris said something "its like the heist locker" on stream

odd sail
#

I'm just getting confirmation from the man, the myth, the legend

hazy fiber
#

I am sure hes busy, hes an important man

odd sail
#

he's a legend

compact isle
#

I'll find out on monday and let you know

frank drift
#

the altar has an active 5x4 plus a storage, from what I gathered

past merlin
#

The atlas branch is still on 3.19, correct? Is there any ETA for the 3.20 atlas tree?

past merlin
#

Makes sense. Thank you!

hazy fiber
past merlin
#

Oh, I missed that 😅 thanks again!

#

One thing I can take from the preview we already saw in the trailer is that there are still boss-related clusters, you're just not shoehorned into them specifically for bossing (unless switching to ubers). So there is supposedly not much changing structurally for my app, just node groupings

waxen musk
#

Hey, how do we get passive/atlas tree (and possibly other data) before patch hits?

worthy cape
#

Skill tree has a 3.20.0 preview there, atlas tree is not public yet.

waxen musk
#

hmm but it uses their own format 😦

#

but thats good to start with, thx. will atlas be up before patch?

hazy fiber
#

and? every 3rd party tool uses their format as well, either directly or converted

worthy cape
#

The export is in the traditional JSON form that the online trees use, you won't get game files until launch patch.

#

PoB will be updated when PoB is updated, other tools that cook it work on whatever schedules they have.

hazy fiber
#

as for atlas tree, read the 6 messages before the one you sent

worthy cape
waxen musk
#

the main difference would be using stat id's and values instead of display strings

worthy cape
#

I haven't looked too closely at .psg and friends as PoB already has a decent workflow for mangling the JSON, and I don't remember if some of those files are available in the torrent preload or not.

#

It'll probably be lacking some bits needed to resolve the tree, so that route is likely not super open until the patch that comes like 3h before launch that restores all the bundles for Data/ and all the tiny file collateral damage from the preload redaction.

#

If you're interested in early access to the tree, the JSON previews we get through that repository and discussed in here tend to be the best way to notice problems and follow any evolution of the tree before launch.
In some previous leagues there's been several drops before it's finalized.

#

What kind of tool do you make, if I may ask?

waxen musk
#

basically everything on maxroll

#

ppl need to update guides but its hard without new stuff 😄

past merlin
frank drift
timber path
#

Probably I'm missing something or not understanding something properly so perhaps one of you guys know the answer and can enlighten me about the following issue:
The dat schema for IncursionRooms has an RoomUpgrade_IncursionRoomsKey which references itself. Any "key" field usually are (u)long, but for some reason this particular field is a (u)int; yet the schema doesn't tell you that, and I don't see a way to define it like that (except changing it to i32, but then the references table is "lost". (I'm using the poe-tool-dev's dat schemas btw)

worthy cape
#

It's consistent across most tables - a row is a local reference within the table of shorter data type, while foreignrow is a remote reference to another table that IIRC is twice as large.

#

You'll see it a lot in tables like WorldAreas for example.

#

I believe the size difference has been theorized that it may be there so that the entry can be fixed up as a pointer to the other table at runtime.

#

I'm referencing the baked JSON here, not sure how it's expressed in the schema, GraphQL or whatever it is.

#

Ah yes, in the schema you can determine by the table name whether it's a local or remote index.
For the case when you don't know the target table, it'd be a rid in the meantime and for a local reference it'd be an i32 until you realize it's a local one and then name the table itself once you figure that out.

civic crane
worthy cape
#

I'm currently poking at the wiki PyPoE to get it up to current table specs to be ready for next league, had to manually translate a lot last night ^_^

timber path
#

Thanks for clearing that up @worthy cape . row = int ; foreignrow = long will make an easy enough "translation".

#

c#'s FileSystemWatcher is also being a b* about files inside a symbolic directory, and all symbolic link magic is .NET 6+, but unavailable in .NET Core 🙃

worthy cape
#

Ooh, that sounds like fun.

#

My data access ATM is extremely primitive:

[zao@wiki-linux ~]$ du -hsc /wiki/stage/{storage,build/*}
26G     /wiki/stage/storage
138M    /wiki/stage/build/10054912
137M    /wiki/stage/build/9347452
138M    /wiki/stage/build/9981348
26G     total
#

Small portable Python to pull down deduplicated bundle files from my local CDN, build dirs are all symlinks. Even works on Windows but using hardlinks there out of necessity.

formal kraken
#
        "11239": {
            "skill": 11239,
            "name": "Wind Dancer",
            "icon": "Art/2DArt/SkillIcons/passives/WindDancer.png",
            "isKeystone": true,
            "stats": [
                "20% less Attack Damage taken if you haven't been Hit by an Attack Recently\n10% more chance to Evade Attacks if you have been Hit by an Attack Recently\n20% more Attack Damage taken if you have been Hit by an Attack Recently"
            ],
            "reminderText": [
                "(Recently refers to the past 4 seconds)"
            ],
            "flavourText": [
                "Invite the enemy when you are strong, evade them when you are weak;",
                "strike with the coming of the storm."
            ],
            "group": 546,
            "orbit": 0,
            "orbitIndex": 0,
            "out": [
                "39718"
            ],
            "in": []
        },
        "7085": {
            "skill": 7085,
            "name": "Weapon Artistry",
            "icon": "Art/2DArt/SkillIcons/passives/blademistress.png",
            "isNotable": true,
            "recipe": [
                "ClearOil",
                "AmberOil",
                "VioletOil"
            ],
            "stats": [
                "+4% Chance to Block Attack Damage while Dual Wielding or holding a Shield",
                "8% increased Attack Speed",
                "+2 to Melee Strike Range"
            ],
            "reminderText": [
                "(Affects Melee Strikes, including the Default Attack. Does not apply to Areas of Effect)"
            ],
            "group": 548,
            "orbit": 2,
            "orbitIndex": 12,
            "out": [],
            "in": [
                "1201",
                "45491"
            ]
        },

Any ideas why Wind Dancer stats are separated by \n, but other notables have multiple elements in the stats array?

#

Has this always been the case?

worthy cape
#

Is the actual stat a single convoluted one or is it supposed to be several stats?

formal kraken
worthy cape
#

Like in passive_skill_stat_descriptions.txt it's:

    1 keystone_wind_dancer
    1
        # "20% less Attack Damage taken if you haven't been Hit by an Attack Recently\n10% more chance to Evade Attacks if you have been Hit by an Attack Recently\n20% more Attack Damage taken if you have been Hit by an Attack Recently" reminderstring ReminderTextRecently
formal kraken
#

But they all read as if they could be separate stats: 50% of Physical, Cold and Lightning Damage Converted to Fire Damage\nDeal no Non-Fire Damage

formal kraken
worthy cape
#

Seems like most keystones are, but most may have simpler text.

#

In Stats.dat you've got an interesting mix:

#

The sub ones are typically marked as virtual in there.

#

One neat thing about having an overarching stat for the whole keystone is that something could check that stat to tell if the keystone was allocated or granted.

formal kraken
worthy cape
#

I'm not super familiar with them but I believe they're derived/computed values rather than a straightforward count/flag.

compact isle
frank drift
compact isle
#

huh I'll confirm

#

the FAQ is wrong they'll update it

frank drift
#

oof thanks

wind garden
#

ruthless will show up as a separate league right? so poe.ninja should automatically get separate data for ruthless trade leagues?

velvet fog
#

i think it should be

frank drift
#

combinatorial complexity

hazy fiber
#

yeah literally doubling the amount of leagues poe.ninja needs to handle

idle hare
#

there is a table with all Rog deals in /Data/ExpeditionDeals.dat64 and some pairs of deals have similar properties except one has additional restrict in the Arguments
is there in-game difference between two such similar deals?

oak nymph
#

PoB doesn't seem to count Doomsower's unique affixes, unless it assumes it's always on? My damage doesn't change when I:
1: Change the number of red sockets
2: Socket and unsocket my 6red totem skill in it

hazy fiber
#

also red text = currently unsupported

odd sail
#

@compact isle any chance that PoE Trade site would every support an advanced copy/paste (or improve current copy/paste) to provide Tier # association for the modifiers on an item that's listed? While we can math many things out to determine this on our end, hybrid mods make it impossible for us to have a 100% reliable solution. Things like Adds 169-310 Fire Damage, T2 would be amazing if possible

compact isle
#

the answer is still the same: it's not really feasible for us to support

odd sail
#

Roger. Thank you for answering

frank drift
#

When can we see the 20/20 gems post and new Atlas tree?
We are planning to share the 20/20 gems post tomorrow (Thursday NZT). Due to time constraints and some technical limitations, we won't be able to share a preview of the Atlas tree before launch.

#

technical limitations, interesting

worthy cape
#

Cat ate the website's face.

compact isle
#

hmm slightly misleading. There's no major changes to the format or anything

worthy cape
#

In my headcanon the new atlas passive tree's nodes are actively trying to avoid your mouse cursor and this was harder than expected to implement in the web viewer.

odd sail
#

@compact isle I'm getting {"error":{"code":6,"message":"Forbidden"}} after updating some old code for doing a search. Not sure what I'm missing

#

I wish messages were slightly more informative

compact isle
#

Qn06koOtw?

odd sail
#

yeah

compact isle
#

ah you're using the GET API

#

you need to provide a league (/realm) to that now

odd sail
#

so https://www.pathofexile.com/api/trade/search/LEAGUE/queryID

compact isle
#

yep

#

/api/search[/:realm]/:league[/:id]

#

where :realm is xbox|sony

#

since console is behind their game data will be different so everything that needs to peek at values needs a realm (and league since ruthless might eventually need special handling)

hazy fiber
#

that is what the [] mean

odd sail
#

I'm too tired

#

nothing to see

compact isle
#

the reason why you got forbidden back instead of something useful is some internal routing ACL nonsense unfortunately :/

odd sail
#

thank you, all good now

frank drift
#

wonder what the odds of github around the same time are

hazy fiber
#

if its on website then theres no reason to not have it on the github

oak estuary
#

I think the push to public github is manual though

compact isle
#

I'll push an export as soon as I get the go ahead that it's good

oak estuary
#

What's the latest you guys have made changes? Minutes before league start? 😅

compact isle
#

unsure but if I'm already asleep on Friday bedge then I'll post 'em at 4:30am NZT which is when I wake up wokege

cold spruce
#

How do I do an "or" search in Path of Building search box? Like the equivalent of "poison"|"chaos" in PoE regex

civic crane
#

you can't, LUA 😄

oak estuary
#

Unironically this ^

#

You can do this abomination though: [pc][oh][ai][so][os]n?

#

@cold spruce just saw your issue you created, not sure if you came back here to check this

cold spruce
#

Oh thanks, also wth is that monster lol? Lua creator was on drugs

oak estuary
#

It's basically character matching each character since there is no logical OR equivalent.

#

If you're curious why: https://www.lua.org/pil/20.1.html
Unlike several other scripting languages, Lua does not use POSIX regular expressions (regexp) for pattern matching. The main reason for this is size: A typical implementation of POSIX regexp takes more than 4,000 lines of code. This is bigger than all Lua standard libraries together. In comparison, the implementation of pattern matching in Lua has less than 500 lines. Of course, the pattern matching in Lua cannot do all that a full POSIX implementation does. Nevertheless, pattern matching in Lua is a powerful tool and includes some features that are difficult to match with standard POSIX implementations.

past merlin
#

so the current word is atlas export happening a bit later than usual, possibly as late as after launch, if I understand correctly?

whole ruin
#

a couple hours before launch

#

hopefully!

mint karma
#

How do I get the tool-dev tag? 😅

frank drift
mint karma
frank drift
#

I would imagine, but I'm not a mod templarLul

mint karma
#

Hehe, thanks though. Another stupid question. Where do I find the bot?

frank drift
mint karma
#

thanks for the help @frank drift !

frank drift
#

so what's your tool?

mint karma
frank drift
#

ah yeah, I've seen that

#

I wonder if xanthics found someone to take over the gwennen regex generator

mint karma
#

I'm planning on tackling that when I get time. I got a pretty good idea how to do it

#

I just saw in a reddit thread he was stopping maintaining it.

#

And that tool is too good to let die.

worthy cape
worthy cape
#

See you all in 2023 😄

swift beacon
#

RIP

worthy cape
#

It sped up to 5-10 MiB/s but still gonna be a bit. Doesn't really matter much as I assume the only interesting bits will be assets and not DAT files as is tradition.

#

Won't help my league start ingestion any either, as that's all Steam-based.

velvet fog
#

Data\ directory is empty

worthy cape
#

Added files in 3.20.0 torrent preload compared to 3.19.2b:

+Data/BestiaryRecipeCategories.dat64
+Data/CoreLeagues.dat64
+Data/DamageWhenHitEffects.dat64
+Data/HardModeExtraContentChances.dat64
+Data/HideoutStashDoodads.dat64
+Data/ItemFrameType.dat64
+Data/LegionChestTypes.dat64
+Data/RarityMask.dat64
+Data/RelicInventoryLayout.dat64
+Data/ReminderText.dat64
+Data/SafehouseCraftingSpreeType.dat64
+Data/SanctumAirlocks.dat64
+Data/SanctumDeferredRewardDisplayCategories.dat64
+Data/SanctumEffectTriggers.dat64
+Data/SanctumFloors.dat64
+Data/SanctumFodderLifeScalingPerLevel.dat64
+Data/SanctumImmediateEffectType.dat64
+Data/SanctumLifeScalingPerLevel.dat64
+Data/SanctumPersistentEffectCategories.dat64
+Data/SanctumPersistentEffectFamily.dat64
+Data/SanctumPersistentEffects.dat64
+Data/SanctumRooms.dat64
+Data/SanctumRoomTypes.dat64
+Data/SanctumSelectionDisplayOverride.dat64
+Data/ShrineVisualArtVariations.dat64
+Data/SkillWeaponEffects.dat64
+Data/StatsAffectingGeneration.dat64
+Data/StatsFromSkillStats.dat64
#

Removed files:

-Data/LegionChests.dat64
-Data/SafehouseCraftingSpree.dat64
hazy fiber
#

assumption is
-Data/LegionChests.dat64 -> +Data/LegionChestTypes.dat64
-Data/SafehouseCraftingSpree.dat64 -> +Data/SafehouseCraftingSpreeType.dat64

worthy cape
#

Crossposting from everywhere, but there seems to be a shift from .ot and .otc files to .it, .itc and .its filetypes:

-Metadata/Items/Armours/AbstractArmour.ot
-Metadata/Items/Armours/AbstractArmour.otc
+Metadata/Items/Armours/AbstractArmour.it
+Metadata/Items/Armours/AbstractArmour.itc
+Metadata/Items/Armours/AbstractArmour.its
swift beacon
#
  • confused screaming *
worthy cape
#

Not all .ot and .otc are gone, there's still ones for more object:y things like monsters, NPCs, interactables and such, but for base types it seems pretty much universally migrated.

swift beacon
#

Yay new file types to figure out.

swift beacon
#

The voice acting for the new NPC is fantastic. There's also a voice clip with a blooper in it. Always fun to get a little peek at the recording process.

worthy cape
hazy wigeon
#

I have created a Ruthless version of my personally maintained loot filter, PixxelFilter, which you can checkout here if you like

https://repo.technically.fun/sblake/PixxelFilter

You can also use PoeFilterX (my personally maintained custom filter compiler tool) to manually compile the filter yourself from scratch, and tweak it if you like with custom configurations

If youd like to check out PoeFilterX itself, feel free to take a look here:
https://github.com/SteffenBlake/PoeFilterX

Heres a pic of what the style looks like:

#

Id love to hear feedback from folks who test it out and see how it works for them

civic crane
grizzled sand
#

Is this the channel for technical help?

grizzled sand
#

Cheers, where do I get technical help then?

carmine merlin
#

PoB update out with 3.20 tree and a 136 lines of patch notes

worthy cape
long sky
hazy wigeon
#

on GGG's filter info they have the item classes posted singleton, IE:

Item Class: Relic

But from all item classes I have seen for filtering its plural, do I want my filtering to be:

Class == Relics
or
Class == Relic
?

velvet fog
#

Class == Relic

waxen musk
#

hello is there any alternative to torrent to get ggpk earlier? its saying i have 1d 23h left on download -_-

#

or will it pick up pace?

worthy cape
#

I was downloading at 5-15 MiB/s last evening and am seeding at 5 MiB/s atm. If it's going that badly you may be throttled, not connectable, or have some misconfiguration.

waxen musk
#

ye it went up to like 2 now, still pretty slow though

worthy cape
#

There's an atlas PSG in the preload by the way but I guess it's rather useless for you without the DATs and stat translation files.

hollow knot
#

They empty out the DATs and translations in the preload? Was just downloading it to test out how my DAT reader tool handles it. 😦

worthy cape
waxen musk
#

do we know when it will be up on steam? maybe no point in using the torrent by now?

hollow knot
#

So you got the file changes just from the index?

worthy cape
#

You get approximately 250k of the 800k files.
Done, 261921/795713 extracted, 533792 missed.

worthy cape
#

Steam and Standalone gets the patch roughly at the same time.

waxen musk
#

ok so if it takes 2-3h to download torrent then its probably pointless now

worthy cape
#

These survived:

chest_stat_descriptions.txt
expedition_relic_stat_descriptions.txt
passive_skill_aura_stat_descriptions.txt
passive_skill_stat_descriptions.txt
primordial_altar_stat_descriptions.txt
hollow knot
#

Well, my tool only queries/transforms the DATs, so useless for me 😅

velvet fog
#

atlas preview

compact isle
carmine merlin
compact isle
#

looks like that's intended

carmine merlin
#

weird that the masteries would change and not the ascendancy shrugR

compact isle
#

it is weird

#

mastery may have been missed, I'll still mention it

velvet fog
#

patch waiting room

worthy cape
#

Oh hey, new login flow on the website. Snazzy.

formal kraken
#

Ah looks like the api is just down:

worthy cape
formal kraken
worthy cape
#

Ah, now it's properly down all the way out.

formal kraken
#

ah nvm I was already logged in and go through steam

worthy cape
#

There was a dialog like this one that asked first for auth method (email, xbox, other), and then this equally cool dialog.

#

OAuth-style.

timber path
#

no more .dat files? only .dat64 now?

civic crane
#

I didn't even notice, but yeah

timber path
#

I did, my tools run on .dat ... I probably should upgrade

worthy cape
#

Ding dong, the witch is dead \o/

timber path
#

Is there some docs on the .dat vs .dat64 difference? as in, which fields got changed etc?

worthy cape
#

I also didn't notice as I did all my 3.20.0pre greps on dat64$ 😄

#

My docs are helpfully unhelpful:

64-bit DAT files are like 32-bit DAT files, except that some types are doubled in size to reflect the 64-bit size_t of the platform. These include reference offsets, foreign keys, and list counts.

timber path
#

List counts, but not pointers? or both?

worthy cape
#

Both.

#

Easiest way to get a feeling is probably to open both .dat and .dat64 on poe-dat-viewer and look at the offsets for different types of columns.

timber path
#

If only I had .dat files 😂

worthy cape
#

Oh. Ooh.

timber path
#

Anyway, I have like 3 places that use UInt32 reads for counts & pointers in lists, and one for the reference offset. "Foreign keys" are already Uint64 in .dat, aren't they? 🤔

worthy cape
#

Vague memory, but I think they double up.

#

Yeah.

timber path
#

So from uInt64 to ...??? Uint128? (that's not a thing I think?)

worthy cape
#

It's actually two words.

#

One for index, one always zero.

civic crane
#

it's size_t + ptr* (for arrays)

worthy cape
#

The idea is that the second word could be used to put in the address of the loaded table at runtime for faster lookups, or something.

timber path
#

So the rid in the dat schema repo are "foreign keys" fi I'm not mistaken,and they become UInt128, I guess I'll go find out of c# supports that

worthy cape
#

A rid is a foreign key to an unknown table, while the use of a table name is a foreign key to a known table. Same 8+8 bytes for dat64.

#

In the cooked JSON schema there's foreignrow and row for foreign and local indices.

timber path
#

the "row" also is doubled I assumed?

worthy cape
#

I honestly can't say tonight, my mind is thinkloading .

timber path
#

np 😄 thx for the info you've provided already. I'll tinker a bit and figure it out eventually

worthy cape
#

Self references should be 4 and 8, I just got confused by PyPoE contradicting my mind on foreign ones.

worthy cape
civic crane
#

that's a massive new table 😄

worthy cape
#

Hey DAT friendos? There's no place where a plain u64 are used as integer in 32-bit DAT, right? Just in lieu of a 4+4 foreign key?

civic crane
#

it's 4+4, dat files dont have u/int64/doubles

worthy cape
#

Here's hoping that we don't accidentally cover an interval with one, if that's still a thing.

civic crane
#

having dat32 was useful to test schema against them too (when in doubt)

swift beacon
timber path
swift beacon
#

Nice

#

I'm way out of date because I have upgrade-phobia.

worthy cape
#

I still recoil whenever I read "This API is not CLS-compliant." despite not having done interop in ages.

timber path
#

Reading a uint128, would just be reading two uint64 where the first is the upper value, and second is the lower value of the uint128; or am I being stupid here?

worthy cape
#

In little endian, the low u64 is the first one and the high u64 is the second one.

timber path
#

And poe ofc uses little endian I guess?

waxen musk
#

whats with the new dat64? is it a big change over dat?

worthy cape
#

Historically there's been all four variants of 32-bit/64-bit datatypes and UTF-16LE/UTF-32LE.

#

(as DAT, DAT64, DATL and DATL64)

#

Now DAT is gone, leaving only DAT64 for the UTF-16LE kind.

#

(DATL and DATL64 seems to remain, amusingly enough)

waxen musk
#

ugh that kills all my tools -_-

timber path
#

the datl64 would then be using big endian then?

waxen musk
#

i guess rewriting pypoe would be too much work? or is it not too much?

worthy cape
#

The L signifies UTF-32 and is meant for macOS, still little endian.

timber path
worthy cape
waxen musk
#

ooh ok thanks ill check

#

im guessing theres no new specs yet?

waxen musk
worthy cape
#

You should be able to replace all instances of ulong in the schema with something new that represents a pair of ulongs (or "a 16-byte thing").

#

Like there's currently ref|generic for local references that's 4/8 based on bitness.

#

A ref|foreign or something, mapping to II and QQ for 4+4 and 8+8 words.

civic crane
#

people really lack some C knowledge ScuffNote

waxen musk
#

but pypoe tries to automatically resolve other table references, would that work with ref|foreign?

worthy cape
#

I would assume that that goes off having the table name in the third parameter.

#

Like you've got

            Field(
                name='GrantedEffect',
                type='ulong',
                key='GrantedEffects.dat',
            ),
#

If that relies on the type somehow, I'm sure that can be fixed.

swift beacon
#

Looks like there's a new version of .sm file that contains BoneGroups. Maybe they're being moved out of the .aoc file?

swift beacon
gilded tree
#

Sad that lastCharacterName is deprecated now 😦 (public stash api)

waxen musk
#

so why do reference fields use 16 bytes now? 👀

civic crane
#

they don't, it's 8 + 8, second part is always zero bytes. previously it was 4 + 4, but you mistakenly treated it as single 8 byte int, and because there zeroes it worked

waxen musk
#

ye im wondering what the point of that is 😄

#

pypoe used ulong for it, which i guess isnt entirely correct since apparently its meant to be two separate values, but the second one is never used?

waxen musk
#

what is the new mod domain (33) for?

tight spoke
#

um, i have a question

#

i am getting an error while updating PoB to the current version

#

i am using 2.22.1 and getting a manifest error while trying to update

#

whoops wrong version, im on 2.21.1

carmine merlin
tight spoke
#

i'll do the grab from git

#

thank you!

gaunt citrus
#

Having an issue with Awakened POE trade not giving me stats search function. Anyone know how to fix this?

gaunt citrus
#

Thank you. It was teh Advanced item Description was set to alt. Changed to Control and works fine now. ❤️

chilly oasis
#

GET request no longer returns json query for search?

noble siren
civic crane
noble siren
#

Hmm I am behind the wall of auth, lol. For api authorization, how do I start with the registered application? Anyone has done it can point me to some example?

chilly oasis
#

thanks!

rapid pagoda
worthy cape
#

I thought about that too, heh.

rapid pagoda
#

pogo already has support for doing dat vs. dat64 sanity checks, and it wouldn't take much to make it use the utf32 sources

worthy cape
#

I ended up hacking PyPoE into always going for x64, seems to work at least in dat json export mode.

#

Also figured I'd go rename ulong to something friendlier like ref|out and change ref|generic to ref|self while at it.

#

As I apparently have way too little on my hands I've also started thinking about whether it's possible to do a source port of a restricted part of ooz without SSE intrinsics.
ARM64 build under MSVC didn't get far but a lot of it was in compressors which are irrelevant.

rapid pagoda
#

rewrite ooz in rust maybe? 🙂

worthy cape
#

Haven't written Rust in ages and I do not want to figure out the intended overflow semantics of every single instruction used.

#

It's bad enough that the codebase is full of sketchy integer extensions.

#

Anything like this is going to require testing against a huge corpus of data.

rapid pagoda
#

oh, heh, didn't realize you weren't doing the rust thing anymore

worthy cape
#

Depending on the intended userbase and how much I hate them, no arm64 support is kind of a blocker for moving PyPoE to the pyooz extension rather than a standalone ooz binary on the cursed platforms.

rapid pagoda
#

you can always generate test data from the official dll (|| or from source, just don't peek ||)

worthy cape
#

As I assume that you can Rosetta a subprocess but not a dylib.

rapid pagoda
#

correct

worthy cape
rapid pagoda
#

also fwiw a fair amount of ooz is decompressors for older formats that were probably never used by poe

#

and I think a lot of the decompressor code is, or should be, shared across the entire family of "Oceanic Cryptozoology" (!) codecs (selkie, mermaid, kraken, leviathan, hydra). the higher compression variants are effectively just more aggressive use of the same base algorithm

#

(in fact hydra is literally just "for each 256k block, try all of the other algorithms and pick the one that works best")

worthy cape
#

^_^

#

My solution to being stressed and overworked is to take on more projects... thus the above.

#

Would be fun tho.

velvet fog
#

where to find the icons?

worthy cape
waxen musk
#

does anyone know how to build visualggpk2? its not updated so i fixed specs myself, but im getting some stupid error in chinese