#tooldev-general

1 messages ยท Page 38 of 1

wind garden
#

i don't think it's that worth it

#

I'm just trying to come up with ways to make it better

#

I still regularly find items that have already been sold somehow

#

but I don't know how I could get any faster

#

I've asked people how much quicker someone else had messaged them

#

sometimes it's whole seconds

#

much longer than the time it takes me to hit ctrl+v<enter>

#

probably just has to do with the cadence of when they're doing a fetch from the API

#

since we can only poll every 1.5seconds

#

if an item gets added within that 1.5 seconds they could potentially see it first

#

I think it's as good as it can get without using any sort of nefarious tactics like market manipulation

waxen lark
#

anyone familiar with making an item filter from scratch?

#

or does know if there is "AND" condition in item script

velvet fog
normal idol
#

Stash API problem: maps and map names for magic maps can have prefixes and suffixes mixed with the name of the map, and no other way exists to detect if an item is a map or not apart from parse-voodoo.

#

Shouldn't map items have params identifying it's base map name as well as it's shaped bitflag?

#

I'm seeing a lot of mixed variable uses in the API, which goes against coding standards tbh.

#

frametype can mean magic,rare or unique but it also indicates if something is a prophecy or a div card. But because maps can have different frametypes we can't use frametype to identify maps

#

(as being maps)

#

...

#

looking for the keyword map in the item works all times except for one prophecy so perhaps that is reliable enough...

#

building a master map word list instead of trying to dynamically identify items as maps in the stash API

#

let's hope rare items don't use one of the words in the map list! lol

wind garden
#

they should have the map name in their base item tag

#

@normal idol check out the property "typeLine"

#
{
    "verified": false,
    "w": 1,
    "h": 1,
    "ilvl": 83,
    "icon": "http:\/\/web.poecdn.com\/image\/Art\/2DItems\/Maps\/AtlasMaps\/Shrine3.png?scale=1&w=1&h=1&v=d08e981dc904a48962e2ec8d4f5177c43",
    "league": "Breach",
    "id": "a528285453dbfda16fea710ed8c9c716e92302b62fb26ee2033b52711d78e86e",
    "sockets": [],
    "name": "",
    "typeLine": "Shrine Map",
    "identified": true,
    "corrupted": false,
    "lockedToCharacter": false,
    "note": "~price 5 chaos",
    "properties": [{
        "name": "Map Tier",
        "values": [["14",
        0]],
        "displayMode": 0,
        "type": 1
    }],
    "descrText": "Travel to this Map by using it in the Eternal Laboratory or a personal Map Device. Maps can only be used once.",
    "frameType": 0,
    "x": 3,
    "y": 9,
    "inventoryId": "Stash44",
    "socketedItems": []
},
woeful sphinx
#

that's the thing. if the map is magic, its prefix and/or suffix is also in typeLine

desert needle
#

that's correct, you have to do name voodoo

#

that is true for any base item

#

also don't forget if you do name voodoo, there are some hoops to jump through

#

can't remember specific examples, but like you might have Shrine Map and Deep Shrine Map that are different levels, so you need to look at the tier and the name

#

you can also use the icon url but that won't work with uniques

#

it's very expensive at scale, I think base item type determination was the most expensive part of item indexing by far for me

wind garden
#

oh well fail

#

bad on GGG

cursive bluff
#

What is the URL for the Atlas website? where you can simulate an Atlas?

cursive bluff
#

thanks! hah

chrome topaz
#

i just use longest substring match

#

the stash tab api is an afterthought, the json data originally was intended for display on forums (tooltips), i think that's pretty clear

#

that's why it's kinda shitty to parse

mortal bone
#

Most of the apis are for display use

#

Most of the time they have just been forced into working for developers or we force the apis to work for us

compact isle
#

something I plan on addressing at some point ๐Ÿ˜„

velvet fog
#

trade enhance part 2?

mortal bone
#

Hopefully a real api lol oauth would make everything easier too

velvet fog
#

oauth for login and private stash search?

compact isle
#

oauth is high on my personal list yes

torpid mesa
#

Niiice

velvet fog
#

Wish List

  • Separate the affix from typeLine
  • Add ItemClassesID
  • Separate the mod string and value
normal idol
#

@wind garden Yes that is true however the magic maps are putting this syntax in typeline: <set:MS><set:M><set:S>Crematorium Map of Temporal Chains

#

@mortal bone I've approached CW about this and I get that GGG is way too busy to mess with the API right now. Hopefully in the future we can perhaps as a community come together and present a wish list for the API. My #1wishforAPI would be that an ontologist is hired so that you can point at some object and the traits of that object are standardized over the whole API so that the thing can be fully normalized; this alone would cut about 980mb/hr out of the river.

desert roost
#

@mortal bone ^

mortal bone
#

Well, the river, as xyz said, is an afterthought

#

The api definitely just needs an overhaul, and it seems like novynn is on it

normal idol
#

On Jan 25, 2017, at 8:33 PM, Chris Wilson chris@grindinggear.com wrote:

I think that it's unlikely that the team would overhaul how the API works
at this stage, so I'd recommend not spending time on a doc just for us.

Chris

#

I offered to freely consult on it.

#

Seems like it's changed recently which is good news! ๐Ÿ˜ƒ

compact isle
#

I'm not talking about changing how it works, just how it is presented

normal idol
#

I had suggested a method to get a public stash list from using a user acct name, so we could read a smaller number of stashes for users and save our bandwidth bills.

#

Stashi.org will have to accept copy/paste data from users for their stashes because we've decided against using the php sessid due to potential social engineering vulnerability. Users should not be handing out phpsessid to anyone but the site it originated from, imho.

compact isle
#

such a thing would be solved with oauth into the private stash api and just filtering into only public stashes from there

normal idol
#

that would be beautiful and elegant

#

wouldn't oauth prevent users from hiding their profiles from 3rd parties they gave oauth to?

compact isle
#

no, you can control which sections of information you give with oauth

#

like if a user didn't want you to have certain parts of their profile they could refuse access to that part from your tool

normal idol
#

ahh cool so they can give us access to their stashes but not their equipment, characters or build trees then

#

neat

compact isle
#

yeah, although as the tool maker you could require that and refuse to work without it of course

normal idol
#

ladder data will be critical for us

#

but

#

I'm a user>tool proponent

#

users are first

#

to use our site they only need to give us their stash they want to check

#

this will help us prevent xxs on our end because the copy/paste json from a user opens more of a vulnerability than getting the data from a trusted source

#

not much more but bulk data is always better from trusted sources

mortal bone
#

OAuth is probably one of the things that would make everything better. The current system makes users give a lot of control over to tool developers (like the entire account)

#

Kind of a shitty situation

normal idol
#

@compact isle would it be possible to someday expect a river API that is more normalized? ie: record id numbers instead of raw text and a single document giving us the record ids? ie: instead of "Shaped Shore Map" could be "224" if that was the id in the doc. This kind of thing could dramatically lower the load of the river for some of the smaller devs and speed up our read time too.

compact isle
#

probably not to that extent, but when I was talking about improving the item json then it would also affect the river formatting too

normal idol
#

It would be awesome to have a database ontological specialist go through and fully optimize it all but I get it if it's just too much work right now.

#

I'm keen to see the improvements. Are they slated for a particular release date or just bubbling in the cooker atm? ๐Ÿ˜ƒ

compact isle
#

"something I plan on addressing at some point ๐Ÿ˜„"

#

^

normal idol
#

๐Ÿ˜„ ๐Ÿ˜„ ๐Ÿ˜„ ๐Ÿ˜„

#

...affixes alone though... there are like only maybe 700 different possible affixes total once you reduce them into simple strings (eg. %30 to fire resistance). Can you imagine how much data would be reduced if we had a table of those rids instead of the full affix. Then the values could be chained as [val1,val2] as there are only ever two values in each affix field.

#

very much looking forward to the result

#

so %30 to fire resistance becomes: 443,30,0

#

over the whole river that is at least 1/2 the data

gritty olive
#

jwt ๐Ÿ‘

obtuse citrus
#

@normal idol: if they had an official API to their data you could just expose the foreign keys to the mods and the values there and you pretty much have what you suggested, I vaguely renember someone from GGG saying though implementing that isn't as straight forward

#

Also there are much more then 700 mods

#

Also if you're at the ponit of "reducing" things you're already close to what the game does, and might just want to have the stats on items exposed prior to translation (which again, could just link to a data-api list of stats), has some added benefit that this is language neutral and makes sorting/searching for some things easier, but at the same time would end up needing at some point processing them to display them to the use

mortal bone
#

I think they just want a smaller payload

#

You could have all the definitions sent on the first grab (ID=00000...). This would still be language neutral. Displaying them isn't a problem. Basically what is being described is a hash of the actual mod which means we have an O(1) look-up at display time

#

@normal idol are you using gzip on the river?

normal idol
#

@obtuse citrus just to clarify, I meant rare affixes and including corrupt, implicit and explicit affixes there are less than 700 distinctly worded affixes. Didn't include enchants because they are a different kind of affix with only 3 varriants per difficulty and soon to be only 2 varriants in all liklihood. Standard will have older unuused and legacy affixes probably available but these are name strings only, without any conditions associated. Not sure what your background is but if you're a computer programmer, you'll consider that knowing distinct strings that identify an affix can mean normalization is therefore possible and those affixes don't need to be repeated in the river or in stashes. They could be a 700 item list with record numbers that reduce the amount of data being sent out, which saves everyone money including GGG if it's implemented. However it may be more expensive for processing power if the engine is still using un-normilized (UNF or 1/2NF) data (which it appears to be, or at least it's not a 3+NF database, or GGG could easily export normalized API; since GGG cannot do so easily and have repeatedly said it's difficult to do so, then and therefore the data is likely UNF or 1NF or possibly 2NF only).

wind garden
#

i just wish we had some information about any changes coming to trade

#

might make some of our development efforts unnecessary

#

even saying "nothing is coming" would be better than no info at all

normal idol
#

@wind garden CW has told us that the API is a permanent feature because GGG sells public stash tabs which can be interpreted as that there will be zero changes to the fundamental trade system that would affect 3rd party tools apart from changes in syntax and data.

wind garden
#

but that doesn't mean there won't be some new feature that makes the API obsolete

#

simply stating that they won't break backwards compatibility doesn't prevent them from adding new features

normal idol
#

@mortal bone We won't rely on the river for our usaage. Our data will come from poe.ninja who have kindly posted APIs for people for pricing commodities. Stashi.org will process the equipment in use from ladder players and our user stashes for all our needs and then we will release a DEMAND FACTOR for each affix and the synergy of certain affixes based on the meta/ladder data.

wind garden
#

did poe.ninja post the api publicly?

normal idol
#

@wind garden CW's wording was pretty much concise enough that it meant they value 3rd party as a model and won't deliberately break it.

wind garden
#

or only on request?

normal idol
#

it's available from reddit

#

sec

wind garden
#

hmm ok

#

i mean

#

i'm using it already

#

but I messaged him directly and asked for it

normal idol
wind garden
#

what is stashi btw?

normal idol
#

you can swap the string between Get<string>Overview to get all the different items

wind garden
#

lol corp firewall blocking that link

mortal bone
#

@normal idol then you don't really rely on GGG

#

I am confused here

#

You want changes to the api, but you are using a third party?

normal idol
#

@wind garden Stashi will batch parse our user's stashes and let them know what stuff is worth, but we're also working on a way to perform valuation for rare affixes;

mortal bone
#

You also might want to be careful to not crap on someone else's bandwidth either

normal idol
#

@mortal bone the syntax changes would also apply to the JSON they use in stashes

wind garden
#

ok so that's why you want API changes to fetch individual player stashes

mortal bone
#

They already have that

normal idol
#

We've talked directly to poe.ninja about pulling their data on chron maybe a few times

mortal bone
#

The user just needs to log in lol

wind garden
#

right....

normal idol
#

we wouldn't need their stuff at ninja for like more than a few times a day

wind garden
#

but we were talking yesterday about oauth

normal idol
#

oauth would be nice really really nice

mortal bone
#

Right, because you can do a lot with someone's login creds

#

Or session id

wind garden
#

right

mortal bone
#

Either one

normal idol
#

We simply won't use the session key. It's too much of a risk for users and we don't want our db targeted for those keys. lol

#

Oauth though is really nice

wind garden
#

you keep referring to 'we', is there another member of discord here that you're working with?

normal idol
#

bc it would be only be for stashes and ladder we would use

#

not on discord -- my old guildies and irl friend too

wind garden
#

i see

mortal bone
#

You don't need to store that information

#

And you shouldn't

#

You can have a user login without ever hitting your server

normal idol
#

It will depend how ggg codes it.

#

They may do a public key, which 3rd party can store and it would be for that 3rd party alone.

#

OR

mortal bone
#

You can do it now

normal idol
#

poesessid is private key

mortal bone
#

You can either have your user grab that (like most applications) or you can have then login

#

Then grab it yourself

#

Store it on their machine

normal idol
#

Until we get oauth, the users will need to be logged in themselves to pathofexile.com and then copy/paste their stashes so we don't handle their session stuff.

mortal bone
#

This is a web app?

normal idol
#

yes

#

php/mysql

wind garden
#

can see why you wouldn't want to make yourself a target....

mortal bone
#

You can use javascript web sockets

normal idol
#

if we do an app in the future it would be p2p

#

we won't be using js

mortal bone
#

....

#

Why

normal idol
#

very little

#

I could write a novel on why not to use js. lol

mortal bone
#

Would you not just post data to a processor?

normal idol
#

but I won't bore you.

mortal bone
#

And many would write a novel why not to write php ;)

normal idol
#

haha touche

wind garden
#

obviously the solution is to use coldfusion

normal idol
#

for our uses it's enough

mortal bone
#

I understand you don't want your processing code to be public, but you can do a lot in the user's browser

normal idol
#

I'm an old timer open source guy. We'll release our info up to the point of how we arrive at solutions to the public.

#

I also prefer heurristics to complex certainty; it only has to be "good enough"

mortal bone
#

Sweet, open source is best.

normal idol
#

as well as releasing our rare affix valuation info

#

I'm an old time slashdotter too! ๐Ÿ˜„

wind garden
#

lol

#

slashdot, the last bastion of negativity

normal idol
#

only if you feed trolls

wind garden
#

every time i read something on slashdot I look at the comments and it's just a ton of people complaining or criticizing

normal idol
#

complaints make things better imho

#

the trick is wanting to hear them

wind garden
#

sure but nobody ever says, "wow that's cool, can't wait!"

#

instead it's, "it probably won't work" or "they spent too much on this"

normal idol
#

That never needs to be stated, imho -- if something is good enough people use it. If it isn't they shouldn't cry about it !! haha

wind garden
#

ya

#

either way I just use reddit now

normal idol
#

My fav slashdot comment was the why spam solutions won't work checklist

wind garden
#

which, oddly enough, i don't find as negative

normal idol
#

I only use reddit bc cmdrtaco told me to

#

when he left

wind garden
#

what's a good c++ logging library?

#

I'm used to using log4net

normal idol
#

em prolly knows -- haven't used c since college

wind garden
#

oo looks like there's a log4cpp

#

do you guys know the requirements for releasing binaries that use LGPL libraries?

#

in other words, does it require you to release source code with it

normal idol
#

GPL is pretty much always requiring full source code disclosure but if you go with creativecommons instead you release whatever you want; but yeah anything released using a subcomponent covered under GPL must also use GPL

#

it's an unbreakable chain

wind garden
#

yes for GPL

#

but as I understand, Lesser GPL (LGPL) allows you to not release your source as long as you dynamically link to the LGPL library

mortal bone
#

Solid resource

normal idol
#

very much

mortal bone
#

You must disclose source with lgpl

normal idol
#

I pref GPL ๐Ÿ˜„

wind garden
#

i'm talking about a non LGPL program linking to a LGPL library

#

"The main difference between the GPL and the LGPL is that the latter allows the work to be linked with (in the case of a library, 'used by') a non-(L)GPLed program, regardless of whether it is free software or proprietary software.[1] The non-(L)GPLed program can then be distributed under any terms if it is not a derivative work."

mortal bone
#

As long as you use the LGPL product as a black box then you can have closed source code

#

As long as you disclose that you are using such software

wind garden
#

alright, that's what I was wondering

mortal bone
#

As soon as you make modifications to the LGPL product you must disclose source

wind garden
#

right

normal idol
#

It's always better to release everything there is so people can debug and improve it.

#

Although some proprietary components can save you a lot of time.

wind garden
#

ya, my asking wasn't related to PoE though

normal idol
#

They can also cause a lot of hassle.

wind garden
#

i'm at work right now ๐Ÿ˜ƒ

normal idol
#

and open your product to vulnerabilities

#

Most really complicated things can be simplified extensively... but style has such an importance today that substance often is missing or neglected.

wind garden
#

oh man

#

google has a logging library

mortal bone
#

@wind garden I would go to your legal person lol

wind garden
#

yaaaa

#

i think I'll just avoid GPL/LGPL for now

mortal bone
#

Avoid GPL completely if your company doesn't want to produce code lol

wind garden
#

googles license just states that your source files need to include their comment block disclaimer saying "this code is used as is"

#

google's libraries are amazing btw

#

if you've ever looked at protocol buffers or gRPC

#

aaaaand they have no documentation at all

#

great....

#

oh nevermind

#

found it

mortal bone
#

Google is generally pretty good with documentation

fickle yew
#

You can use LGPL just fine as long as you just use their binary.

wind garden
#

ya that's what it looks like

#

but I think this google library will work out just fine

#

less hassle

pseudo ocean
#

Does anybody know when public stash tabs were available the first time? More exactly the time of the first result set from the river.

Also, what's the time interval between two result sets?

ebon oasis
#

well public tabs were anounced like in march last year, don't know when they went live

velvet fog
desert needle
#

it doesn't really matter

#

the first result from the river is NOW

#

you don't get a historical run of it if you access it now, you only get what's available now

#

if you're just curious from a historical perspective of when the API first became public, um....

#

March 1 2016. But again, if you start pulling data now, you're not pulling data from Mar 1 2016, you'll pulling data from right now.

#

there is also no time interval between sets, it's giving you chunks at a time

#

(and I just realized chuanhsing already linked that, haha)

pseudo ocean
#

Sorry if I am wrong here, but is there an offline planer tool working on linux?

wind garden
#

Heh you could compile @mortal bone 's in mono on linux

#

Maybe

mortal bone
#

Erm you should be able to wine it

#

Last I recall everything was good

pseudo ocean
#

yeah it seems it uses a lot of windows libraries. I think i"ll use Wine, thanks!

mortal bone
#

Yeah, no problem. .net 4.6 is supported in wine, so I would hope everything would work

wind garden
#

Would mono work?

mortal bone
#

If mono is updated

#

You can run a check on the source with some tool (forgot the name) where it will tell you if it can

#

We may use a few features or libraries that aren't supported (like the UI)

wind garden
#

@compact isle can you see if it would be possible to add some sort of indicator to items in the API to show whether they're relic or not?

#

unless it's already planned for

#

can only imagine having relic and non-relic items looking identical exceppt one has better stats

#

or better yet, only difference being that display integer to show that it should be displayed as foil instead of orange lol

floral dawn
#

They have a new frametype to indicate they should have the foil frame

wind garden
#

so that's the only change?

#

i mean, it's usable, but not exactly clean

#

i guess if you dont' want to change the schema...

torpid mesa
#

Mono didn't support Windows presentation foundation last time I tried to run one of the planners on linux

wind garden
#

aww

#

"At this point, no group in the Mono project has plans to implement Windows Presentation Foundation APIs as part of the project."

torpid mesa
#

Rip switch to qt

wind garden
#

probably unnecessary since microsoft is working on .Net-Core

torpid mesa
#

Tru

wind garden
#

soon it'll natively support linux

#

assuming they implement wpf

#

or maybe something new

mortal bone
#

Wine supports almost everything at this point

#

And net core is basically the new mono

wind garden
#

how does wine work actually?

#

i thought it was like an emulator

mortal bone
#

Wine is not an emulator

#

That is what it stands for lol

wind garden
#

lol

#

is it like an abstraction layer?

mortal bone
#

Shit

wind garden
#

lol

#

was thinking, that's not exactly an important message to pin

mortal bone
#

I was trying to edit

wind garden
#

hehe

#

all over the place

mortal bone
#

Fat fingered

wind garden
#

does it abstract windows APIs to linux ones then?

mortal bone
#

But yes wine is a layer which takes windows commands and converts them to Linux commands

wind garden
#

k

mortal bone
#

It's a cool inbetween layer

wind garden
#

i remember playing PoE on my macbook pro with wine

#

it was pretty rough but that was more because of my graphics card

#

and this was before all the perf improvements to poe

mortal bone
#

I think there is a wrapper somewhere on the forums about it

wind garden
#

ya idk if it's been updated

#

at the time it was old with a sort of disclaimer saying "It should still work"

mortal bone
#

No idea; I don't own a mac

wind garden
#

i wanna see stuff using Vulkan and running on Clear Linux or SteamOS

#

that would be sick

pseudo ocean
#

Why does the public stash api return empty stash tabs?

wind garden
#

because it's the diff between the last time that person updated their stash

#

it's how the indexes can see when something is no longer for sale

#

so someone had something for sale in their stash tab and then they removed it. Once they remove it a stash update goes out with an empty stash

chrome topaz
#

i think if you start consuming it from the beginning there's actually a huge section in the middle where it's just empty tabs

pseudo ocean
#

@chrome topaz yes, been though that and got a little paranoid thinking the indexer is flawed ^^
@wind garden Never though of it that way, mainly because at the moment i'm just messing around with actual item processing and i didn't get to the part where i need to remove them ^^

wind garden
#

I think all the empty tabs are void league tabs being deleted. @compact isle explained it once

compact isle
#

if they don't have an account name then they're voided yeah

desert needle
#

there's a tag in the JSON data that indicates if it's a removed tab iirc

wind garden
#

Man, WPF in C# does some things so well and other things are just insanely complicated for no reason. Microsoft lacks consistency. For instance, in WinForms they previously had a NumericalUpDown box for integer input. In WPF they removed it and didn't include any equivalent. Why?

woeful sphinx
#

Use a UI library on top of it. E.g. MahApps.Metro looks great and has a bunch of additional controls.

wind garden
#

Ya I know there's options. I just don't get Microsoft's decision making

#

like, if you want to make a window that doesn't have the min/max/close buttons on it. The only way is to use a pinvoke Win32 API

#

Why isn't that part of the framework?

woeful sphinx
#

The seem to like making partly finished UI frameworks and then abandoning them. Isn't there like UWP or someting now?

wind garden
#

ya

#

think it was intended for mobile

#

but we all know how popular microsoft phones are

mortal bone
#

UWP is for the App interface that microsoft is pushing

#

Xbox, Windows Phone, and Windows Store

leaden cedar
#

playing around with the stash API, trying to figure out what a number is. It's stashes->items->properties->values[0] (whats that second number?)

#

Example would be:

#

{
"name": "Quality",
"values": [
[
"+17%",
1
]
],
"displayMode": 0,
"type": 6
},

chrome topaz
#

color

#

1 is blue 0 is white

leaden cedar
#

is there any docs out there on this that I'm missing? or just tribal knowledge?

#

I initially thought it was a placeholder. But I'm guessing the order of those values are the placeholder now. Regardless, I definitely appreciate the response. ๐Ÿ˜„

velvet fog
mortal bone
#

Mostly tribal knowledge

leaden cedar
#

cool cool, I may ask a decent bit of questions, I'll document it somewhere and put it online

chrome topaz
#

no docs

leaden cedar
#

no docs as in there are no docs? or no docs as in saying you wouldn't want me to document?

mortal bone
#

I would throw them on the wiki

wind garden
#

All tribal

#

I asked the exact same thing a week or so ago

compact isle
#

another thing that I should probably do at some point

#

writing documentation is easy, writing good documentation is not

chrome topaz
#

lol

#

why wouldn't i want you to document

#

what a weird question

#

i wonder if ggg even has internal docs for that

mortal bone
#

I would hope so

#

I would hate to see @compact isle come in and have to learn it all from what he sees us do lol

obtuse citrus
#

I'd recommend editing the wiki to document it if this is user documentation

#

as novynn said the problem is mainly how ot make the documentation decent enough to understand, I think it's a bit annoying with how nested json can be to properly reflect that in documenation

compact isle
#

I've seen some successful documentation where it breaks nested json down into parts

#

but yeah I don't think our format could be reflected very well

obtuse citrus
#

On the other hand, poor documentation is better then no documenation at all ๐Ÿ˜„

compact isle
#

this is also true

velvet fog
mortal bone
#

unless it is wrong

#

I think the skill tree one is relatively updated

#

although, I may go through and clean it up

#

the official documentation for the public stash tab api is pretty poor

#

Is there really a need for the structure to be that large?

turbid patrol
#

it'd be great to document what in the json response can be used as an identifier. afaict from what little docs there are theres no way to identify a stash tab from two separate requests as being the same tab since the id changes when something in the tab changes?

compact isle
#

stash ids don't change

velvet fog
turbid patrol
#

stash id on the item or the id field in the stash object @compact isle?

When you update an item in a tab, or update the tab itself it's ID will take the next available one from the pool on that server shard (the old ID is discarded, and never reused).

implies the id changes.

compact isle
#

it's change_id

#

sorry that part is badly worded ๐Ÿ˜ฆ

#

stash ids shouldn't change (ever as far as I know)

#

item ids will change depending on who is holding it, or if it gets stacked with something else it can be destroyed / reset to something different

turbid patrol
#

so the actual ID for the stash tab never changes? that would make sense and be helpful but didnt seem to be what was described by the sparse docs ๐Ÿ˜ฆ

#

and i hadnt finished indexing enough to see a collision (or trigger one myself with a known tab)

#

still very much in the "what does this doooo" phase of looking at writing some tooling haha

fickle yew
#

The stash tab id remains the same for the same stash tab, yes.

#

So you can use it later to update the contents when you receive that id again.

turbid patrol
#

sweet, thats how i was treating it. glad to hear its just a confusing doc!

haughty night
#

Hello, can I get the exact syntax used when copy/pasting items somewhere? I'm working on a Price Checker because I'm bored at work and can't find that... Thanks in advance

desert needle
#

going back a few hours, when it comes to tribal knowledge on the item JSON data, the exiletools stuff is fairly out of date but some of that is universal and may be worth checking when wondering about things. So, for example, while it doesn't answer the specific question above, next up if you're looking for Elemental Damage you might find data in that project, i.e. https://github.com/trackpete/exiletools-indexer/issues/62

#

there are a lot of basic explanations for stuff if you search the issues or repo, things like item rarity and whatnot

haughty night
#

That's pretty great resource, thanks.

desert needle
#

just keep in mind while most of the JSON data is the same, there have been some fundamental changes here and there ๐Ÿ˜ƒ

wind garden
desert needle
#

it's specific to you

#

IP based rate limiting, on most of the standard API endpoints they don't want you to hit all of the endpoints combined more than X times per Y period

wind garden
#

k, that's really strange though

#

that's not an API I should be calling often

#

must have just been a bug in my code, seems to be fixed now

desert needle
#

if you're hitting the ladder often too it'll trigger the same rate limiter since they're on the same stuff

mortal bone
#

I believe all the apis, except stash tab, are 45 requests per minute.

wind garden
#

ya I must have had some sort of issue where it looped constantly on failure

#

I found a couple of issues that I fixed this morning though

#

I rewrote my app this weekend in WPF and converted everything to use TPL. So there were a few bugs heh

normal idol
#

@chrome topaz would it be possible to enable user accounts on poe.trade? I'd like to propose some ideas in conjunction with user stash tabs, notibly giving users a way to bundle items they want to sell and advertize on poe.trade and also allowing users to ban sellers that didn't meet their needs is a way of community self-policing too

pulsar moat
#

might want to reword that "allowing users to ban sellers that [...]"
users banning other users doesn't sound right

normal idol
#

@chrome topaz considering doing a port of procurement to allow users to build bundles of stuff then send that info in a post to poe.trade so you could handle the searches of this stuff; ie: user wants to sell 50xt13 maps for 100c... or if they want to save all their leveling gear into one bundle and have one price for that bundle.

#

@pulsar moat ban is definitely the word; but it's only banning within the user's own scope (ie: blacklist or block list)

pulsar moat
#

I think 'block' is more appropriate here

normal idol
#

it would certainly clear up the noise pollution from the river to have user accounts on poe.trade

#

I was planning to do something like this on stashi.org however the amount of bandwidth is simply outside our budget. poe.trade is already reading the river so they are the ideal candidate to take this on unless someone else is interested...

#

Instead we will probably fork procurement to read a user's stashes and give them the ability to build bundles pretty fast using either set prices or prices populated by poe.ninja on commodies as well as using our own data regarding rare affix demand values.

#

Just looking at how it would be best to list the bundles.

#

Emailed CW about it and his response was that bundle prices for a stash is a good idea but GGG lacks the HR power atm to rework it that way... by letting users set a bundle price on a public stash for everything in that stash, or to add some vendor sold item to allow allow users to bundle together items under one bulk price, so they can be stored bundled in a public stashes and traded with one click to up to the size of the trade window.

#

thinking it would be cool to have a bundle of all the challenge league items you would need for one price, a bunch of maps, a slew of div cards, a full ES set for a build, a proph chain set... etc

mortal bone
#

there is a problem with bundling stash tabs though: you can't trade it in one go

#

12x12 vs 5x12

#

2.5 trade windows is a lot of trust that most people don't have

normal idol
#

@mortal bone You're right. We intend on splitting up the stuff read in a stash into bundles that are max trade window size, so that a trader can quickly alt tab and see what needs to go in each trade window, and for what price. It's easy if you're trading maps to just build 60xmap bundles. Same with prophs. Items that are stackable will have to also be handled. Perhaps an auto hotkey app can be coded so when you get a trade whisper for a bundle it will show you what is in the bundle. That's in the works but still very much in early development.

#

@mortal bone I had also suggested to CW that a new 60x60 tiled bundle container be sold at vendors to allow players to add things to it so it could be stored in the stash and given one price for the river.

gritty olive
#

poe.fyi is back, cloudflare yesterday was pretty destructive D:

wind garden
#

is poe.fyi just like a wiki resource only for gems?

cosmic saffron
#

it also links to poe.trade for those gems

gritty olive
#

@wind garden yep, there is more coming though

crystal moon
#

Anyone know if there's any other trade utilities like Acquisition and, Procurement?

normal idol
#

Working on stashi at the moment.

#

We will be a little similar to procurement except scan your bags to price them against poe.ninja data and also rare affix demand values.

#

Probably won't be done for this league.

crystal moon
#

bags?

normal idol
#

lol stashes bro

wind garden
#

Any of you guys ever used Xamarin for mobile app development?

wind garden
#

welp, i'm all in now

#

got my apple developer license

wind garden
#

is VisualGGPK the only way to unpack the ggpk file?

#

nevermind, figured that out

#

now I'm wondering about licensing

#

does anyone know what GGG's rules are for using and distributing their audio files or other content collateral?

#

someone suggested I make a soundboard app that plays character dialog clips

#

I'm guessing that's against some license but does anyone know for sure?

crystal moon
#

All content unless stated otherwise is termed All Rights Reserved. You would need explicit permission to use the dialog clips as it's GGG's Intellectual Property. There is however the whole "remix-round-about" you can use to void copyright.

wind garden
#

meh, it's not super important

#

just wanted to make something for fun

#

I'd rather just make something useful that doesn't conflict with IP licensing

#

not saying the copyright isn't important, meant that my app idea wasn't important

crystal moon
#

GGG is pretty open with licensing, considering how much they support fan creations, you probably wouldn't run into any issues. I would ask them just incase, but they would probably give you the go ahead.

wind garden
#

ya i already emailed support

crystal moon
#

As long as it's not for profit, you should get the go ahead.

mortal bone
#

^that is key. As long as there is no profit, or you get permission to make profit, you should be golden

obtuse citrus
#

@wind garden: You can use PyPoE to unpack the ggpk as well

solid granite
wind garden
#

does anyone know why cloudflare had passwords stored anyways? I thought it was just a gatekeeper

torpid mesa
#

they didnt

#

the issue was stuff in cache and memory was dumped into pages being served to someone else

wind garden
#

Ah, so there was a lot more than just passwords leaked

torpid mesa
#

yeah

#

any data that went through them is considered leaked

wind garden
#

talk about single point of failure

torpid mesa
#

yep

mortal bone
#

Things like this happen all the time. This isn't the first time a massive leak like this has gone unnoticed for years

pseudo ocean
#

cough google

#

(as a company, not to search)

#

even hotmail had a xss exploit unnoticed for many months

peak violet
#

This doesn't happen all the time. Cloudflare is by far the largest reverse proxy and man in the middles do many SSL connections on the internet now. To leak decrypted SSL traffic in random requests that were then cached is basically the worst. Just because google and Bing or whoever cleared their caches doesn't matter because your leaked data might be sitting in petabytes of data governments dedicate to spidering the web. I'm not even going to think about regulated sites with HIPAA data if they made the mistake of using cloudflare reverse proxies. Hopefully nobody made that kind of decision or its defcon 5 for them

gritty olive
#

A lot did

#

It was pushed as a hipaa complient tool

errant sandal
#

Can anyone help me understand a bit of Aquisition's C++ code?

#

I want to know how Aquisition notifies poe.trade of an update to the shop.

#

starting on line 238

torpid mesa
#

looks like it just sends a get to http://verify.poe.trade/threadnumber/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

errant sandal
#

you are a god

#

thank you!!!

torpid mesa
#

yw

wind garden
#

@mortal bone do you use Mahapps.Metro for poeskilltree?

mortal bone
#

Yep

wind garden
#

actually, no point even asking. It's obvious you do

#

lol

#

I just started using it for a project, it's pretty nice

mortal bone
#

It is really nice

#

Looks pretty professional as well

wind garden
#

ya, i love the dialogs

#

handles all the animation fading for you

mortal bone
#

Yep, it is pretty great.

fierce anvil
#

is there any updated tool for the new skilltree allready?

waxen ridge
#

skill tree info comes out tomorrow

fierce anvil
#

oh k ty

mild obsidian
#

Hey, I was thinking about trying to make a tool that reads out the current Life, ES and Mana in realtime by reading from the values from memory. I would need to use something like cheat engine to find the location of these stats, is this considered a banable offence?

quaint moon
#

I would think that it is, but can't confirm

#

it's against the tos to meddle with the game files

mild obsidian
#

Oh, I was not going to change any game files, just read the hp value out of memory while the program was running, but I won't be doing that then :)

#

THen I'll have to find some kind of low latency OCR, or figure out a trick to determen the life visually

outer jay
#

Image recognition :p

ebon oasis
#

i can think of 2 tools that can do image recognition, but not sure how they would handle running in background waiting for a picture to not exist, cos thats probably the better way to handle this case

#

also they would probably trigger when you mouse over the health/mana globe

mild obsidian
#

Yeah, the real problem is not getting OCR software to work, but it's getting to to be fast enough to work in real time

ebon oasis
#

-_- i got a working script, that starts beeping when hp globe goes bellow 3/4ths full

#

its reaction time is about 1s

#

hm nope, its just the beep delay

#

@mild obsidian rHermes i used a tool called sikuli, set it on an infinite loop to check if a picture exists every 0.1s and to beep if it doesn't, and the picture was the bottom 3/4ths of the health globe

mild obsidian
#

Oh wow, that is nice, I'll look into that :)

#

My idea was to make an globe girls overlay, but seeing as they return in 3.0 anyway, it might not be worth the effort.

ebon oasis
#

its literally 6 rows of a script

mild obsidian
#

Yeah, but what I'm talking about here is not just detecting if life is under a certain percent

#

If the script is to be of any use, it needs to be updated as close to real time as possible and contain the exact life values at the time.

#

I supposed i could make a lot of picture of the globes and get a very finy granularity like that

ebon oasis
#

well this thing reacts in 0.1s, just the default beep takes a bit cos how the sound file is

#

well if you want it like that, yeah

#

this wont get you exact values

mild obsidian
#

Ohh, I could just check if the pixels are set to the healt color. It would be a little worse for es shield, seeing as people have different styles there, but then the visual stuff would atleast be the same.

ebon oasis
#

i'm still in shock i got this working so fast

#

well "working"

#

i'm not home so i can't test it in the game

mild obsidian
#

I hadne't heard of sikuli, It seems nice. I was thinking of either using AHK or go, depending on how hellish the AHK scripting would be

#

I'm not very good at AHK >_<

ebon oasis
#

sikuli is all about picture recognition

#

i automated a few annoying tasks at work with it

#

its about find a picture, click on it, or next to it, or wahtever

mild obsidian
#

I'm really excited about the possibility of automating browser through the Chrome Debugging Protocol

#

It's not in any way stable yet, but it will be fun to see what it can do in the future. But this is getting offtopic, so I'll calm my inner fan girl

ebon oasis
#

interesting, we are using sahi for browser automation at work

#

and found out about Screenster recently that looks nice

#

hmm, "simple google search exmaple"... 1.5 pages of code

timid fable
mild obsidian
#

Esge, go code is seldom shorter than that, due to the built in verbosity of the language. The real advante is not needing any extra software isntalled to drive the browser.

ebon oasis
#

fair enough

mild obsidian
#

Carbo thank you very much, this is almost exactly what I was looking for, I'll see if i can adapt it to my use

#

Go also produces staticly linked binaries, so it would be as simple as uploading a single .exe to the machine you want to automate and run it.

crystal moon
#

Has anyone created a library of poe items yet?

#

For developing, I mean I know the wiki exists.

uneven wyvern
#

Anybody here use the Lutbot macro?

#

I just downloaded version 141 and when I press F10 to open up the settings, the icon is shown on my taskbar but is nowhere to bee seen on screen.

#

the logout hotkey works so I know the program is running

uneven wyvern
#

Nvm it's fixed. had to restart again

mossy skiff
#

Fastest way to fetch a database (preferably XML) of all base items and uniques?

obtuse citrus
#

Aside from the wiki you can also use the game data (i.e. with PyPoE), but it will only have base items. And you probably need to put in some more effort depending on what you need

crystal moon
#

I think I'm going to port the wiki into a library.

obtuse citrus
crystal moon
#

Interesting repo, looks alright if you dig JSON. Not really my flavour though.

wind garden
#

wonder how long before Path of Building is updated

mortal bone
#

whenever he adds the data

wind garden
#

Getting a crash

mortal bone
#

pm me?

velvet pasture
#

yo emmitt whats up? i havent been able to use the skill tree in months sue to a missing stack trace

wind garden
#

Got it

#

Had to uninstall old version

#

Your uninstaller really should do an upgrade

velvet pasture
#

will try to reinstall and see if that fixes it but it diddent last time

mortal bone
#

It does

#

@wind garden

wind garden
#

Odd

#

Idk why it had issues

velvet pasture
#

nope still having issues getting it to run it said there is a missing stack trace in the roaming debug.txt

mortal bone
#

you should send me the debug

velvet pasture
#

ho would i do that? sory i dont use discord much

#

*how

#

found it and sent the debug

mortal bone
#

thanks

crystal moon
#

@mortal bone Hey does PoESkillTree not calculate the added damage provided by Herald of Ash on phys builds?

mortal bone
#

Auras aren't calculated

#

Gems and Jewels are the next tasks

crystal moon
#

Hm, It's showing me Herald of Ice data, but not Herald of Ash.

#

Not that it's hard to calculate.

mortal bone
#

It is possible that Herald of Ice is calced since it is flat damage

crystal moon
#

Yea, HoI is showing up, but not HoA. Just wierd one shows up and not the other, but oh well no biggy.

mortal bone
#

Herald of Ice is flat damage which is already calced because of items and such. Herald of Ash is a % added fire which isn't something we have supported

woeful sphinx
#

Auras aren't "officially" supported but I think % added works for support gems. I don't think anyone even from us knows what works and what doesn't with that calculation stuff ^^

mortal bone
#

that is also true. That was put in 2+ years ago at this point

obtuse citrus
#

mark_ggg is probably the only one who really knows ๐Ÿ˜›

stark sail
#

I just downloaded and installed the 2.6 version of the PoeSkillTree and when I open it I dont see the new tree and when I try check for updates it says that it is up to date - can anyone help?

ebon oasis
#

i just can confirm that i get the same

woeful sphinx
#

does Help -> About say "Version 2.6.0"?

stark sail
#

yes

woeful sphinx
stark sail
#

will try it now

#

ummm doesnt seem to work

#

ok fixed it thank you!

woeful sphinx
#

no problem!

velvet fog
#

@mortal bone and I can't translate Opts.txt into chinese, got crash

uneven wyvern
#

How do I import my saved builds into PoESkillTree??? When I open the program, it wants me to select a build directory that is empty.

#

Nvm, gotta pick an empty folder then change I guess

mortal bone
#

@velvet fog ah, those nodes are handled via English because they all start with "Path of the..."

#

I will need the debug file for the opts problem

velvet fog
#

@mortal bone : I found the problem, the "name" (Marauder, Ranger) in Opts.txt must english

mortal bone
#

Yes, sorry about that

velvet fog
#

@mortal bone: I had revert the "Path of the..." related nodes, but still got strange lines

mortal bone
#

Hmm, if you are in another class besides scion can you get into its ascendancy tree?

#

Regex(@"Can Allocate Passives from the .* starting point");

#

Sorry, we use the stat rather than the name

#

You could just add a stat to each of them

velvet fog
#

@mortal bone: thanks! it's work

mortal bone
#

Sweet!!

cosmic sierra
#

hey im looking for a PoE discord bot

#

preferably something that will do item tooltips and wiki links

#

not needing it for trading or leaderboards or anything

pulsar moat
#

@cosmic sierra pm user @blocknite he made one in the past
Can't tag him on mobile but if you use the search feature for him in this channel you'll find him

mortal bone
#

@waxen ridge < there you go

waxen ridge
#

Oh hai there

#

I did a bot that worked the same as the one on reddit you type in [[Soul Taker]] And it returned you as a reply the Unique (no css)

#

It also had a picture and I think a link to the wiki, wouldn't be hard to do

#

I'll have to fire up my old computer to get the code off of it but if you really want it then feel free to ping me and i'll github it for you, fair warning I'm a JS dev so it's in node ๐Ÿ˜„

brittle heart
#

Hi guys, when using a loot filter. Should i uncheck the "always highlight" option in the UI, cz my filter doesnt seem to filter out anything, but it does highlight the items. If i uncheck "always highlight", the items show up but dissapeares when mouseovered, which happens alot during combat, im using ziggyd's filter.

timid fable
#

@brittle heart i can't remember the exact wording of the options right now. could you ask in #1โ”ƒendgame-help? this channel is for tool development so not many people watch it compared to the general channels

brittle heart
#

oekey ๐Ÿ˜„

cursive bluff
#

is the Path of Building dev in here? (or someone who has used it pretty intently?)

wind garden
#

@timid hemlock yes

cursive bluff
#

noticing a lot of lag/resource hog, taking up about 40-50% CPU and having trouble moving the tree around. anyone else experiencing similar issues?

#

i am using the Portable version, if that means anything

pure needle
#

Maybe this is correct place to ask: can anyone upload the new MonsterMapDifficulty.dat and MonsterMapBossDifficulty.dat ?

obtuse citrus
#

Is there a reason you can't get them yourself? I can upload them if you want

pure needle
#

low on space on this computer and cannot access another computer today

obtuse citrus
pure needle
#

thanks!

obtuse citrus
pure needle
#

Thank you so much!

velvet fog
#

new dat: MapDeviceRecipes, MapInhabitants, UniqueJewelLimits

pure needle
#

chaunhsing, you are the guy behind poedb right?

velvet fog
#

ya

pure needle
#

I noticed you calculated hp values wrongly before, I can give you a more correct method (some rounding errors). But dunno how to pm in here ^^.

#

and also how I am certain it is correct beyond reasonable doubt.

#

You got any reddit account or somewhere else I can PM? I rather pm details in private since your site only displays results and not method.

velvet fog
#

/u/chuanhsing

pure needle
#

k thx, will take a few minutes to formulate, but I'll send a message with details there within 30 min

#

I really love your database ^^.

velvet fog
#

Im busy on decode new files, can't reply too much now

pure needle
#

ya, I just want to help back to a person that helped me so much but without revealing some details about method publically

#

so it is not in a hurry ๐Ÿ˜ƒ

obtuse citrus
#

@velvet fog I can commit changes to my spec if yo uwant

#

Actually I just went ahead, just wanted to commit them with the other changes but no harm in committing them by themselves :p

velvet fog
#

@obtuse citrus: I had finished .dat part

obtuse citrus
#

oh ok

desert needle
#

looks like ggg never did fix the league API, Legacy isn't showing up in the league list

cosmic saffron
#

not even the devs playing ssf

desert needle
pure needle
#

@velvet fog Ok, my pm to you through reddit is sent. Hopefully the instructions and proof were sufficiently readable. No hurry though.

velvet fog
#

@pure needle : thanks

pure needle
#

You are welcome ^^. And thanks for the quick update on the leaguestone affixes, I am drooling already at the chayula mod :3.

cosmic saffron
#

prophecy leaguestone with ๐Ÿ’

velvet fog
#

@pure needle : poedb had applied new life and damage formula, thanks

pure needle
#

Nice!

wind garden
#

api getting fixed soon?

#

league api

#

@floral dawn

compact isle
#

what's wrong with it?

wind garden
#

it's not returning legacy

#

only standard/hardcore/ssf standard/ssf hardcore

compact isle
#

yes it is?

wind garden
#

hmm

#

odd...

#

my app isn't seeing it, and @desert needle said it was broken

compact isle
#

maybe a caching issue?

#

it's been there since this morning

wind garden
#

let me check something

#

oh wait

#

i think i'm limiting it to 4 leagues

#

and there's 8 now

compact isle
#

that would do it lol

#

8 is so many ._.

wind garden
#

ya that was it

#

sorry about the false alarm

mortal bone
#

Wait...when was the league api fixed?!

compact isle
#

it was working at 8am this morning when I checked it

mortal bone
#

Na, I mean it used to only return dead races

compact isle
#

oh, you need to use type=main to get the big boy leagues

mortal bone
#

.>

compact isle
#

yeah it's weird but at least it's usable ๐Ÿ˜„

mortal bone
#

Yeah it used to be not usable at all lol

dusty fractal
#

do you guys have a build editor with the new tree ?

cosmic saffron
#

pathofbuilding is already updated

mortal bone
#

poeskiltree as well

livid zephyr
#

?

#

keeps crashing

#

pls help

#

can even log in

#

itt hapens on start up

dense thorn
#

try updatimg directX

desert roost
#

@livid zephyr This isn't right place to ask for help with bugs and crashes unfortunately

#

This is more for 3rd party application developers

wind garden
#

@compact isle what was the json property to indicate legacy items?

compact isle
#

relic I think

wind garden
#

oh nice

#

it's new

#

isRelic

#

you guys are the best!, you actually added a unique property

compact isle
#

oh it is isRelic my bad

wind garden
#

ya

#

i found it

compact isle
#

haha ๐Ÿ˜› you could've found it with frameType: 9 anyway (typos pls)

wind garden
#

my app kept finding me relic prism guardians which are worse ๐Ÿ˜ฆ

#

this is bad though, it looks like poe.trade can't see items that are relics

#

my item isn't being listed

compact isle
#

yeah, will have to wait for xyz to update

#

I'm guessing because it's an unknown frametype

wind garden
#

why wouldn't they show up just like any item though?

#

it should show up but be indistinguishable

compact isle
#

who knows how xyz has his system set up ยฏ_(ใƒ„)_/ยฏ

wind garden
#

hmm

#

well suck

compact isle
#

I'm sure there's duct tape in there somewhere though

wind garden
#

i'm stuck with an item nobody can see!

#

on the plus side, i have an eye of chayula lol

compact isle
#

ohh

#

I hope that can be upgraded and keep it's fancy border

wind garden
#

interesting thought

#

it looks pretty

#

@chrome topaz you around?

feral ferry
#

how do I condition item size on a filter?

#

if I may

chrome topaz
#

@wind garden what?

wind garden
#

poe.trade can't see relic items

chrome topaz
#

I check discord a few times per day so if you have a question just ask and I'll reply when I'm there

#

hmm what's a relic?

wind garden
#

legacy items

chrome topaz
#

ah

wind garden
#

there's a new property in the json

#

isRelic

#

boolean

chrome topaz
#

I think it's not working because of a new frameType

wind garden
#

could be

chrome topaz
#

do you have a json sample?

wind garden
#

ya sec

chrome topaz
#

much appreciated

wind garden
#

np, thanks

chrome topaz
#

hmm should relic be another rarity?

wind garden
#

no

#

i treat it like corrupted

chrome topaz
#

why?

wind garden
#

all relics are unique but not all uniques are relics

#

i guess it could work

#

but it doesn't seem correct

velvet fog
#

frametype: 9, isRelic: true

chrome topaz
#

yes I'm not sure if it's better to add to "item rarity" box or a separate toggle for it. I think rarity is a better choice though, especially how these items are only available in 1 league

compact isle
#

personally I'd go for it as a rarity tier

chrome topaz
#

@wind garden OK, should be fixed

wind garden
#

ty

vapid flame
#

hey i'm using the latest poe trademacro 2.0.1

#

and i edited the file in my documents

#

the additional macros .. and no dice =\

#

looks identical to my old file (in the previous version of the tool)

vapid flame
#

reinstalled and fixed (i think the naming of additional marcros changed)

buoyant tundra
#

for PoETradeMacro, what's the correct string for getting Legacy Softcore searches?

#
;     "tmpstandard" (current SC Temp-League) 
;    "tmphardcore" (current HC Temp-League) 
;    "standard", 
;    "hardcore"```
#

tmpstandard doesn't seem to work, pulls SSF

vapid flame
#

hmm tmpstandard is what I have and it's giving me Legacy

#

do you have 2.0.1?

buoyant tundra
#

nope, 2.0.0, don't see .1 on the releases page

#

just looked a moment ago too

vapid flame
#

it should update on it's own

#

after you run 2.0.0

buoyant tundra
#

ah, I'll rerun

#

weird that it's not on the release page

vapid flame
#

any luck?

buoyant tundra
#

yep, appears to be working now

vapid flame
#

sweet!

buoyant tundra
#

thanks bro

vapid flame
#

ha welcome .. i didn't do anything

wind garden
#

@fickle yew think poe.ninja is broken

#

it's not showing currency exchange rates correctly

compact isle
#

I think it relys on historical data so it might not be accurate for the first few days

fickle yew
#

@wind garden It looks fairly normal for a league start for me, what is wrong?

wind garden
#

odd

#

it's working now

#

it wasn't showin gprices for any currency

#

everything said 1c

#

that was it

fickle yew
#

Ah okay, there was a short while yesterday where a change gave that effect ๐Ÿ˜ƒ

#

Thanks for the heads up though.

frail mountain
#

how many people work for Grinding Gear Games, and helped make PoE?

timid fable
#

@frail mountain not really a question for tool dev but they expanded from 60+ to 90+ employees last year

frail mountain
#

Oh sweet

#

๐Ÿ˜ƒ

fickle yew
#

Added relics to poe.ninja ๐Ÿ˜ƒ

velvet fog
#

ninja!

pseudo ocean
#

is there a ladder tracker?

wind garden
#

@mortal bone you were looking at this MercuryTrade app

#

how does it send input to the game?

#

i don't see it opening a chat window to type commands

mortal bone
#

I didn't actually finish looking through it

#

I had to sleep and do some homework

#

I was curious as to how myself.

wind garden
#

it says no memory injection

mortal bone
#

Java isn't my first language though, so it is a bit hard to browse

wind garden
#

but i don't know how else it would open trades and things

#

i should look at it, c# isn't too different

mortal bone
#

I think java has a virtual keys libarary

#

much like the windows virtual keyboard

wind garden
#

still, it should open a chat window, type it, and hit enter

#

which i'd thing would break the whole "1 key, 1 action" thing

mortal bone
#

1 key, 1 server action

compact isle
#

^

mortal bone
#

very different

wind garden
#

ohhh

#

ok

#

still, i don't see chat opening

mortal bone
#

enter, command, enter is 1 server action

#

I know. I need to look through it, but I am typing up a paper currently. I let it ride because from first glace it looked fine

wind garden
#

there's something odd about this source code

#

i can't find anything that sends input to the game

#

only chat log parsing

#

you know

#

i think it's obfuscated

#

intentionally

#

there are files in it that don't decompile

#

guess it's time to change my PoE password

#

i posted in the redit page

#

someone else found parts that are referencing an external server and port

#

which makes nooooo sense for a local app

#

and given that it seems to be obviously hiding some things, I can't tell what else it is hiding

compact isle
#

the developers explaination for the external server was for automatic updates

wind garden
#

hmm, that could make sense

#

but still doesn't explain how they're sending input

#

or why the code doesn't decompile

mortal bone
#

@wind garden are you getting garbage for the handlers stuff?

#

the decompiler I am using just returns a file with nothing in it

wind garden
#

ya same

#

i tried several decompilers

mortal bone
#

That is concerning

wind garden
#

one returned null for the file

#

the other had garbage

#

i concluded it was obfuscated

#

the fact that they don't openly provide the source is pretty damning

#

there's just no reason not to

#

unless they're hiding something

mortal bone
#

They use a keyboard hook, but I can't find where it is used or how

desert roost
#

That's not shady at all.

mortal bone
#

Well, at some point you have to globally hook into the keyboard

#

espcially if you want to have an overall like that with hotkeys

#

(program not in foreground type deal)

desert roost
#

Yeah, but if you can't find out what it's doing, that's not very good.

mortal bone
#

It may just be the decompiler I am using

#

starting up another lol

#

I am going to message them and see if we can't get un obfuscated code

#

The more concerning portion of this tool is that it seems to auto-update without confirmation from the user

wind garden
#

well that and we can't actually see the auto-update code

#

we just have to take him at his word that he's using that server update to auto-update and not do something nefarious

#

either way, even if he is hooking into the keyboard, you'd see something display on screen

#

which you don't.....

#

thus, memory injection

timid fable
#

@wind garden you mean you don't see the chat box visually appear on screen? that's not proof of memory injection, that's PoE being so slow to start drawing the chatbox that it receives the keyboard input and closes the chatbox before you see it appear.

You can test this yourself with any other macro software (AHK et al) and sending (Enter)/hideout(Enter) all at once. The chat box never appears on screen (as far as I can tell @ 60fps).

#

I don't trust this app either but don't jump to incorrect conclusions without testing

mortal bone
#

yea

desert roost
#

Aside from that, it looks like the tool is performing a vertical port scan every 20 seconds.

mortal bone
#

He showed me the chat code and it is clean

desert roost
#

Can confirm.

timid fable
#

the dev showed you partial source code?

mortal bone
#

Yes

#

Just that file

timid fable
#

from an outside observer that just lends more weight to the argument that they have something to hide

#

they could make this so much easier for themselves.

mortal bone
#

Yeah, seemed weird

wind garden
#

i've written stuff with autoit that did <enter>/hideout<enter>

#

chat window is visible

timid fable
#

then your input is slow

wind garden
#

maybe

#

it's not proof of memory injection, but it doesn't make it look any better

mortal bone
#

The chat command code is clean

timid fable
#

? no the chat box not appearing doesn't make anything look better or worse. it's completely neutral

wind garden
#

you saw the code typing input?

mortal bone
#

One sec

#
    public ChatHelper() {
        initHandlers();
        try {
            robot = new Robot();
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }
#

        setForegroundWindow("Path of Exile");

        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);
#

It looks ok @wind garden

#

there is more, but it looks more or less the same

wind garden
#

mmk

mortal bone
#

Are you running the program?

wind garden
#

not anymore

#

i was earlier

mortal bone
#

Was it scanning your ports?

wind garden
#

i didn't check

mortal bone
#

Mmk

wind garden
#

shae said itw as

mortal bone
#

Yeah, pretty concerning

wind garden
#

ya i don't trust it

mortal bone
#

Seems like it is trying to hit every port

wind garden
#

he's only giving you certain source files

#

the ones he wants you to see ๐Ÿ˜‰

mortal bone
#

Yeah...

wind garden
#

why is that class called Robot?

#

isn't that a little odd of a name?

#

why not "keyboard" something

mortal bone
#

Mhmm

#

Well, I am fairly certain this was doing a bit more than trade

wind garden
#

ya

#

the second I realized there were files that couldn't be decompiled for no obvious reason I stopped running it and changed my PoE password

mortal bone
wind garden
#

which one in particular?

mortal bone
#

That repo

wind garden
#

lawl pickit

timid fable
#

they were planning to include flask macro at one point. so the original scope of the project wasn't only trade

mortal bone
#

Yeah

wind garden
#

dude, it's totally messing with memory

mortal bone
#

I will have to boot up a proper vm tomorrow with some tools

wind garden
#

what's this PoeTradeMacroFixed?

#

a fork?

timid fable
#

yes

wind garden
#

created 2 days ago

timid fable
#

it's dumped as one commit so you'd have to download and do a diff with a version of the official poetrademacro from before 2 days ago

#

to know what was "fixed"

mortal bone
#

Yep

timid fable
#

could be a benign bugfix for all we know ๐Ÿ˜„

mortal bone
#

How was it messing with memory? Ran the program for a few seconds to capture the screen shot above

wind garden
#

that was just me commenting

#

don't have proof yet

mortal bone
#

Oh ok

timid fable
#

don't have proof at all, you mean

mortal bone
#

Process Explorer should be able to view stuff like that

#

Or Process Monitor

#

I don't want to damn them without solid evidence

#

No reason to kill someone's reputation because of closed source code

mortal bone
#

It looks as though the port scanning is just poorly implemented update code

#

It is sending the program version back to the host every 5s

timid fable
#

on multiple ports?

mortal bone
#

They are using a package Netty

#

Every 20s it looks like a channel does and they just start on a new port

#

I am not sure as to why, but I think it is just a poorly coded updater

desert roost
#

I can paste the appropriate code section here

timid fable
mortal bone
#

They don't know why it is happening, so I informed then

#

fromย etofokย sentย 7 minutes ago

We don't have the pinpoint answer for this. Best guess - this is a part of the server framework we're using.ย https://netty.io/ย this

timid fable
#

I believe that, but it doesn't inspire confidence in their product

mortal bone
#

This was a kludge for something server connection related. It's now reworked, should be fine on next update

#

From him again

wary quarry
timid fable
#

@wary quarry most likely random, and expires after a set time. it's not deterministic

wary quarry
#

thats sad ๐Ÿ˜ฆ

#

but thanks for the answer!

golden zealot
#

anyone in here know what i have to do to get filtration's theme editor working?

#

there are references to instructions in the wiki but ive read it and im not sure im understanding it

#

if i open up the editor all the buttons are just blanked out

wind garden
#

i don't think they expire, i've bookmarked seraches for some time and never had them stop working

timid fable
#

they either expire or fail for some other reason (maybe changing leagues?)

#

but I've seen plenty of old searches that no longer work

mortal bone
#

I am pretty sure the end of the url is just a hash of the form inputs

vast haven
#

That would make sense as a couple that I bookmarked for standard searches VERY long ago still work.
The "expiry" problem would likely just be that the one they're trying to access is an antiquated league and isn't supported in the search anymore, so it pops out the error.

mortal bone
#

yes

uneven meteor
#

anyonee here whos vamilar with PoB know how to add linked skills to abberrath's hooves?

cosmic saffron
#

set the support gems to be in boots

wary quarry
#

the search above was pointing to a breach sc search

dense thorn
#

@uneven meteor when you create a new Skillgroup, you can set the gear you want it to be socketed in.

chrome topaz
#

what would the desired behavior be? redirect them to standard?

chrome topaz
#

well, this should work now

wary quarry
#

they work now! thanks mate =)))

#

anyway, how do you calculate the url?

#

what kind of algorithm is this ?

#

@chrome topaz

timid fable
velvet fog
#

something like query hash algorithm

mortal bone
#

It is just a Base64 hash of the query string

#

Nothing fancy

wind garden
#

because essence league doesn't exist anymore

#

I would expect saved searches to stop working once leagues are merged

vast haven
#

@timid fable ^^ searches don't work after the league is gone from .trade

timid fable
#

i know. read the context

vast haven
#

Shit, sorry. Yeah that's a good update from xyz. They didn't work for me either though now that I learned to read.

chrome topaz
#

@wary quarry the algorithm is random string generator, same as in various URL shorteners

#

well the idea's same, but algorithm is a markov chain trained on japanese text

gilded herald
#

That's cool. Whats the reasoning for japanese?

wary quarry
#

lol ok ๐Ÿ˜„

chrome topaz
#

the url is easy to read/remember

vast haven
#

... for who?

chrome topaz
#

humans

vast haven
#

Uh oh....

I have noticed that they always look somewhat pronounceable though so I guess that works.

tribal cairn
#

trying to figure out the math on calculating the biggest hit i can take with X life and Y armor

#

resists should not come into play on a physical hit, right?

#

only armor

ancient meadow
#

armor (and block and evade I guess)

tribal cairn
#

im ignoring block and evade for the moment, so that should make it easier

ancient meadow
#

then yeah, only armor

tribal cairn
#

if they fail you take the whole wallup , and i want to know the biggest wallup

torpid mesa
#

this isnt the right channel for that discussion

tribal cairn
#

oh, it's for my genetic char evolver

#

public float getLargestPhysicalHit()
{
return getLifeAndShield() / (1 - Math.min(subject.getPhysicalResist(), MAX_RESIST) / 100);
}

#

got that so far

#

i guess i made a mistake since physical resist doesnt exist apparently

obtuse citrus
#

it sort of does

#

it's called physical damage reduction, doesn't downscale with difficulty and is capped at 90%

tribal cairn
#

that'll be much easier to tackle

torpid mesa
#

oic

#

there is the math on how much armor gives on the wiki

#

psure echarges, basalt and a few sources of physical damage reduction all stack with armors reduction

wary quarry
#

@tribal cairn what kind of algorithm you are using?

#

i think a* or dijkstra would be awesome for this ๐Ÿ˜„ to find the best path to a given node

timid fable
#

looks pretty cool

#

isn't really a pathfinding problem is it? seems more like comparing all available next nodes and trying to choose the strongest path "outwards"

#

wondering why it took the wand phys node or scion jewel but not the witch jewel though

wary quarry
#

yea, thats what a* is doing

#

just skip the path finding stuff ^^

timid fable
#

i'm not familiar, which part of A* applies outside of pathfinding?

#

what I meant earlier by it's not a pathfinding problem

#

he's not choosing good nodes and then finding a path to them

#

he's going what's the strongest tree I can have with 1 node, 2 nodes, 3 nodes etc

wary quarry
#

ah ok - did not read that ๐Ÿ˜ƒ

timid fable
#

at least that's what it looks like

tall merlin
woeful sphinx
#

@tall merlin happens if you open the generator window, close it without running it and then run the generator directly via its menu entry. Running it in any other way should work. Was already reported and will be fixed in the next release.

torpid mesa
#

@timid fable a* can be used to search nodes based on weight so it can help find a node path with strong nodes but I'm not sure it's really the optimal Algo here

#

Especially with so many nodes having a terrible weight before good ones

wind garden
#

@chrome topaz any chance you could add "#% chance to gain an additional Vaal Soul on Kill" to the explicit mod search list?