#tooldev-general
1 messages ยท Page 90 of 1
hmmmmm
\o/
maybe I should rewrite my bot in c# ๐ค
My evil plan is to implement a better thing for the PoB thing we have at Lifting's community
a similar thing to the !pob command in here
I was first, bruh
what does the !pob command do
dunno i think the most important part about the bots is having decent output that doesnt look like it just shits out a CSV
Spits out details in the chat based on a pastebin pob
Me and @distant rock do c# as well and would be interested in helping out if there were to be a project.
oh
g-guys l-lua is good stop language bullying
- 1 here for C# and/or Lua

I'm a man of compromises
I am too old to learn new things
[x] doubt
^
matlab you say
@golden yacht you really are an heretic are you
๐
I had the same 25 years ago, when I started learning Quick BASIC
what's your next proposal, ending the tab vs spaces debates with an unicode character ?
all whitespace is unethical
yea thats more or less what I had in mind
@ornate gale i am proposing to stop the tab and space debacle by using ๐ฆฅ
non-breaking space ?
๐พ
I think I read somewhere swift can do messed up stuff with unicode
as in declaring a func ๐() {stuff}
and allowing you to do a monkey.๐()
ah yes found it : https://nshipster.com/nscalendarunityear/
NSHipster.com was launched 2 years ago to the day. Each week since has featured a new article on some obscure topic in Objective-C or Cocoa (with only a couple gaps). Letโs celebrate with some cake.
Hello, my friend just imported a character in PoB and it automatically set the corresponding settings in the "Configuration" tab (like enemy is bleeding etc.)
But we don't know how he managed to do that as we can't reproduce it now.
Does anyone know if there's a setting that is necessary for that?
the pob codes contain that info if they were set previously
poe.ninja also does set some settings based on how it evaluates builds
he got that when he directly imported his character
using his account name
but I don't get that when importing characters from my account
@simple ravine Rust, rust, rust!
@velvet fog There's new overhead icons for Legion rewards now, btw.
@graceful fable it doesn't do that. Maybe he Imported into an existing POB where stuff was set.
Hey guys I have a quick question. How does hashes that you get from character-window/get-passive-skills api to passive-skill-tree/AA url?
this might not be the place to ask, and if so please let me know. What tool would you guys use to create a mockup ?
I mean how to convert those hashes to the url
@errant vortex don't know if it's the best but I've used balsamiq in the past
thank you @obsidian lark i'ma check it out
Adobe XD is quite nice if you have access to the Adobe Suite
i do not unfortunately
What project are y'all doing in c# haha
Also, I would be down for nodejs as long as we used type script
they'll reveal it when the java nation attacks
Yeah, c# is my jam lol
Their has to be some pre-compiler somewhere that will convert your code into emojicode
The initiative we talked about is the one I've been bringing up for a couple of years now, @mortal bone
Standardized frigging library for build calculations, which can be used for multiple purposes.
Ah, the one brather is making is pretty solid
I am sure it is, but I've heard that for a while now
I don't know how much work it would be to chop it out lol
and I want to get going with something
I reached out my hand a couple of times, but the timing has not been appropriate from the project's side of things, if I understood it correctly, and mentioned he should reach out when it's a good time.
IIRC, it's been more than a year now
Yeah, he has been doing the calculation stuff in his free time iirc
Yeah, there was no judgement or anything in my comments, of course.
It's likely a very big undertaking for one person, hence why I thought more people would get involved and help out ๐
If we can jump onto that project instead of starting from scratch, that is likely a good option
@woeful sphinx Wanna talk about how it's going, and if it's a good time to get involved with the computation code? Perhaps we can fork it out and create a separate project for it?
Hey everyone, does anyone know how to enable the original loot drop sounds in Filter BladE?
Nice, he concludes private tracking has an advantage without even testing with one
It's a "jump to conclusions mat"!
ofc they do
@burnt hornet might be able to ask in the filterblade discord: http://discord.gg/mye6xhF
ty!
@simple ravine I recently did the computation side of jewels. Next step would be the ui part of jewels, so not directly related to computation.
Right, what I (and I assume others) are interested in is a general library that is not tied to any UI, hence me asking if we should attempt to break out into a separate project
I'm not sure how useful splitting computation into a separate repository would be at this stage. Would certainly make development using PoESkillTree as front-end a bit slower
I am just looking at what options are on the table for a general library, and if your code is a candidate
It should be possible to release it as an independent library already
So if you or someone else wants to help there, it's definitely a candidate
Can't say how well the interface fits other usages, of course
Though, you do need your own skill tree model to feed available nodes into computation. That part is a far to entangled in PoESkillTree to rip it out easily.
It should be good now
If not, I can fix that
Ideally PoESkillTree should be using a central model instead of doing all the conversions it does
It looks like the libraries are able to target .net standard, i took a super quick peek earlier, and it looks like there were no dependencies to other .net framework specific things
We can always pull out the skill tree loading into it's part of the computation project since it will be needed anyway
Hm, was probably thinking about stuff that's not needed for computation then.
I think i created the libraries as .Net standard, yes
The csprojs I looked at were targeting .net framework 4.6.1 and 4.6.2
but that probably means it would be an easy change
welp, I didn't. though I have this on my list:
- Expose as .Net Standard libary
- Needs setting versions in new projects (.NET Standard 2.1)
- Recreate the .csproj and packages.config files (or move to the
current file formats) while at it
though I did make sure that all the NuGet packages support .net standard
@simple ravine If it helps you getting involved, I can do that stuff before starting on jewel UI. Shouldn't be much work.
Yeah, I am keen on getting some kind of library going quite soon, somehow
.NET Standard 2.1 isn't a thing yet, btw. It's on the horizon though ๐
Isn't .net standard 2.1 (or whatever they end up calling it) slotted for when .net core 3.0 finally releases?
Been working on a python3 alternative to trade macro https://github.com/MortimerMcMire/pyPoeItemPricer so far just uniques but it's fun and doesnt use ahk which in my opinion is a big plus. It's also faster. I recently figured out the main site api and will be adding in rare support to send searches there. Has anyone else already made an alternative like this?
I've started one, using .NET Core 3 and WPF. My idea is to replace MercuryTrade as well, as I see some issues with it
That is due to the CTRL+C information, and how you derive what the actual mod is
Yeah I'm saying the ctrl c info is severely lacking
I halfway considered tesseract ocr on ctrl viewing rares to grab affix info
this pob wrapper has me writing more lua than I ever wanted to
pls do community .net calculation engine
GGG has got to do something better for trading currency
there has to be a more efficient way to update the site as to how much stock people have
because my darn starforge won't 6L!
that's what I've been doing
it's slow going
not easy is one thing
not possible...
"should" is such an interesting word in these arguments.
that's what SSF is for
its the future jaron
that's what self enforced SSF in groups is for /shrug
you can't make an argument that the game is based around farming for gear and that's why trade shouldn't exist. just don't trade if you feel that way
does it hurt anyone that wants to opt out of trade?
that's fair
time for a GSF league?
I haven't looked into custom leagues tbh
since GGG doesn't do anything about currency bots. Someone should write a public website for their bot to show their stock accurately >.>
would require knowing someone with one or having a currency bot
I'd love GGG to go the "NPC in hideout selling your stackable stuff (currency, essences, fragments) at your preset price" way tbh
offload the trade API a fair bit
still keep their 'vision' about trading and gearing up
and make crafting quicker overall as a byproduct
how would you find who's selling what?
I'd assume extending the API 'sideways' with your NPC pushing his rates and stocks as a batch or smth
and once you're at someone's NPC, might as well shop for different currencies
maybe keep these guys available even when you're offline, to spread out transactions during the day, and lessen a bit the 'peak hours' load
not saying it's the perfect solution nor implying it would be easy - just sayin that's what I'd propose if I had a direct line to 
but then I can't play the trading game and make mo money when there's less supply
D:
You can now enter node information
oh boy is that link big
conquered node information
currently the vaal don't allow you to change the stat range on what they give
You can conquer jewels by shift+clicking them
Anyone know where I can find the pictures for charges (like blitz, challenger, void, spirit, etc.)
You've got BuffVisuals.dat indicating DDS locations for what appears to be the buff icons.
(most in Art/2DArt/{SkillIcons,BuffIcons})
thanks!
a simple idea, make C# bindings for PoB... turned into debugging MoonSharp's bytecode generation
Nice yaks, would be unfortunate if someone shaved them.
well, it loads https://github.com/libpob/LibPob
anyone have any ideas what to actually do with a pob C# binding?
@polar island Noticed your server doesn't have a general channel anymore. Everything okay over there? โค
I am curious how fast the trade api update?
ohh. so when people are active at the time it will slow down cuz of the package transfer is too much got it
@mortal bone Oh boy, twitch chat are already thinking poeskilltree can resolve timeless jewels.
Quickly corrected by other chatters, but still ๐
simply get all the data for every jewel and have a museum
Octavian0's
no one reversed it yet?
it's never time for iron python
what, you don't like the idea of python binding to c# binding to lua?
how deep can it go
@chrome topaz I don't think so. I don't really feel comfortable decompiling the client
sounds like fun
Some proper cryptanalysis would be fun, but I definitely lack the skills for that ๐
(of inputs and outputs, not touching any binary of course)
My head-canon is that it's slightly intended to make something that isn't immediately ruined by trading.
There's a bit of a charm to adapting your tree based on what you find, speculating with divines, maybe share jewels with your mates.
and ruined by min-max habits, just a "fun if you find one and they can be really good so grats" thing
too pure for this world
all i do is ruin fun though ๐ฆ
@mortal bone Using your new tool are you collecting any data? could be useful for looking into all of this.
Figured decompiling is against tos
not if you put on your hacker hoodie first
if I understood the communication correctly, it looked like asymmetrical encryption, so it'd be a bit tricky to figure it out
especially not knowing exactly how the underlying protocol looks like
the assumption is that it's done locally then you won't need to perform dynamic analysis
can you elaborate, i don't quite follow
Yeah, the idea is that if the client is actually doing the calculation you don't need to care about the network traffic
I doubt it is client side though
That would also mean that the information should be somewhere, and I doubt they would hardcode the values
so either they're in the .dat files, or they are server side, would be my wild guess
the node data is there
the node data as in?
as in the alternate nodes
Data/AlternatePassiveAdditions.dat, Data/AlternatePassiveSkills.dat, Data/AlternateTreePassiveSizes.dat, Data/AlternateTreeVersions.dat
ah ok
yeah it could be either way
Apologies if this suggestion is against tos: can't you track incoming/outcoming network data to determine if its done client side or not?
It is how I was able to add the timeless stuff to the website
That seems like a good first step in all of this.
just get on crappy wifi and see if it's instant or takes some time to update passives
You would have to be able to decrypt the network communication
Has anyone done similar tests with item rolling - are there discussions of how much of that is server vs client side?
you might be able to correlate it based on numbers of packets
yeah, try to strangle a connection without closing the connection
and see if it updates
afaik, exalt & chaos updates client side
for regular items that is
it wouldn't surprise me if the underlying tooling for the jewels is connected to item rolling then.
in which case the moment someone was to hypothetically reverse engineer it ggg would have strong incentive to re-obfuscate it.
well, just buy all the divines on the market and go nuts xD
pull the cable and hit the divine the same second lol
see what happens
it's funny, people are afraid of REing the client because it might be against the ToS
but everyone is talking about straight up exploiting shit
this is just for science!
hah
we are curious people
aren't those softwares really expensive?
windbg too
isn't that for running processes?
I believe it can do static too
tbh I always just use ida
REing used to be my job, got that ida license still
I get 5 fairly large packets when socketing in a timeless jewel and 1 fairly large packet when un socketing
what if u put in a regular jewel?
noticeable but about a third the size
Could just be packets to update character information.
~1.5k bytes x 5 when socketing a timeless jewel, ~1.5k bytes when unsocketing and ~500 bytes when socketing in a normal jewel, ~500 when unsocketing
@mortal bone Try socketing another unique jewel
unable in what way, any error message or?
@frigid nova same as socketing a normal jewel
Let me try a threshild
threshold is the same
same, i'll catch ya'll either later tonight or tomorrow
midsummer celebrations here in sweden
@simple ravine no account needed
there's a link in ghidra docs
also i don't agree with "there are a ton of free ones"
there might be a lot of okay disassemblers but for decompiling ida and now ghidra are the only serious options
for static disassembling maybe
@chrome topaz you also forgot about binary ninja. RE: tons of free ones. there are. they just aren't as good
spam harder
ah
time for the good ol /dnd already sold
@fathom spruce it doesn't have a decompiler
ah didn't see decompiling there
yeah decompiling is all ida. I never used it's decompiler that much. just normal disassembling always worked for me
the free decompilers can't really compete
I have only used IDA
I am not going to lie, I don't really know of any free decompilers
for PEs that is
So, socketing/unsocketing a timeless jewel takes an eternity when reducing your network speed. The other jewels are instant
this is at 1kb/s
that's some stall there
~12s to socket at 1KB/s download, ~3s to unsocket
probably received the package that tell nearby node what to do from server.
Yeah, it seems to heavily depends on how many nodes are in the radius
the more nodes the more packets you receive
so conclusion is its probably server side?
I would say, yeah
Yeah, some times you find odd server sided issues when you play on a bad connection. One time I was doing pure breach in Moscow or something, and apparently when your ping is too high and you try to change a keybind, it changes only momentarily before getting removed from your bar entirely. Took me like a dozen tries sometimes.
I hear that deep learning is the bees knees now. Just fit a function to a training set of jewels ๐
Yeah, I was thinking about that, but you need a lot of data. Also, I would assume that there are 5 different functions that evaluate what you get
have you tried switching between lockstep and predictive?
have you tried turning it off then turning it back on again?
Assuming this is built off of some pseudo random generator you should not get good performance out of fitting a neural net imo.
deep learning needs massive amounts of data, and isn't really applicable to this problem
This would be more of a decision forest thing
Well, all you need is Prolog then or something <_<
Looking forward to stating the problem to the interpreter, having it churn for a month and end up saying "Yes."
42*
I'm just saying
saying what?
@chrome topaz no, I didn't. That was solely in lock step
It gets a lot worse in predictive
You can see it gradually changing your life pool though
It might be changing one node at a time
I suppose theres always the chance that its still calculates the effect of the node locally but takes longer to implement the changes serverside?
none of the other jewels I have tried take this long. including the ones that converts x stat in y stat
Have you tried things like might of the meek?
Nope
looks neat
I feel like whichever approach you try to take to solve the jewels, the biggest hurdle is getting a reliable dataset. Most any approach would need a pretty sizeable amount of data, and as it stands there is no good way to harvest reliable data because you can only see what the jewels do in-game.
Even if you, hypothetically, made some like OCR video reader that could parse just from people submitting video clips, I doubt you could get enough people to submit videos to have a decent sized set of data.
I guess one reliable way would be to sniff the packets the server sends when you socket the jewel, if what Emmitt says is true. However thats of very dubious legality.
(aka I'm pretty sure it would not be allowed)
Traffic is encrypted. Your need to hook the game client or at minimum figure out what crypto theyrey using and read the key from memory
I suppose you could proxy winsock dll use that to pause and read the unencrypted packet from memory. Technically that wouldn't be hook ๐ค
Or not be a dingus and stay completely away from the runtime.
interesting read
Is there a place to post about errors with PoB?
Kingmaker 2H axe is still the 2.6 version
@fathom spruce Been done, appears impossible without meddling with client memory so let's just say it's not possible within the rules ๐
@long salmon https://github.com/Openarl/PathOfBuilding/issues mostly ๐
hey, yes
The discussions got a little bit mixed with others the other day. What were the conclusions on the feasibility of using the computation logic you've worked on, to break it out into a separate library?
I want to start working on something, but it would obviously be better to align our interest and combine our efforts.
i've migrated it to .net standard with some trivial incompatibilities I had to solve
only need to clean up the test projects a bit and then I'm done
haven't continued working on it today but it should be quick once i do
so yes, it's feasible to break it out into separate libraries
Ok, that would be amazing. Let me know if there is anything I can do
I suggest we create a Github 'Organization' where we can collaborate
You mentioned there were some speedups you wanted to make.
When looking at Openarl's code, and trying to bridge it to C#, we found recursion limit issues
I have a gut feeling saying we could make calculations that don't recurse, but use stacks instead
haven't run into that yet
yeah, it was a Lua intepretation issue rather than overflow issue in C#
but changing the implicitly recursive graph calculation structure into something else would be a pretty big undertaking
alright
the two performance related things I have written down are 1) an event-less implementation for use cases where you only need to calc a build once and 2) cache expiration for the parsers (mainly CoreParser and ItemParser, it's probably not suited for singleton instances in web contexts currently)
plus benchmarking the library on it's own for that one-off calculation scenario
Yeah, once there is something I can pull and look at, I'll be happy to
will push the .net standard migrated stuff this afternoon
we already have the https://github.com/PoESkillTree org
you prefer putting the library into another one?
Well, my idea is, and you let me know if you don't want this - but if we have a number of C# developers who are having interests aligned in producing a C# library that can work agnostically, having a separate Organization would then serve the purpose of separating the boundaries between the computation logic and PoeSkillTree, which I would see as a separate/extended entity of the calculations
This also helps separating the concern of governance etc
I understand if you don't want the extra hassle of a separate organization though. Up to you
hm, imo just having it in a separate repo would be enough for now. If it does grow into a separate group of devs we can still move it, I guess. I see PoESkillTree as being the main frontend for it.
alright, sounds good
moving it into a separate repo will already be enough hassle for me when working on both at once ๐ (though I do see why that is useful for everyone else)
I think it will can be mutually beneficial, especially for libraries, as those tend to get a little bit more contributions than downloadable software
it caters to developers who can actually contribute
yeah, library + frontend in one repo don't make it obvious that there's even a library in there
Comparing feature parity to PoB and the calculation engine, what are the things missing currently that you see others could contribute with?
besides just supporting many more mods, this is what's currently not supported: item-inherent skills, modifiers to socketed gems and minions
those three specific things would be more difficult for others to pick up, but just e.g. going through uniques and adding support where it's not too involved should easily be possible for others to do
for uniques you only need to add them to https://github.com/PoESkillTree/PoESkillTree/blob/master/PoESkillTree.Computation.IntegrationTests/Data/ParseableUniqueItems.txt, run the test and check if the test fails
I also have a bunch of todos written down that I should probably move to GitHub issues
Alright, sounds like a good start
Is there any log to upcoming changes to pob? ^^ wondering when the new rathpith globe shield mods might be implimented ^^
I'm trying to understand this LOC in PoE-TradeMacro: RawItemData := RegExReplace(RawItemData, "<<.*?>>|<.*?>")
When would you encounter << or < in raw item clipboard data?
@simple ravine @woeful sphinx https://github.com/PoE-Tool-Dev I have a separate organization from the last time we had talked about this
Just need to know usernames if you wish to join
yeah, could use that one if we move it out of the poeskilltree org
@simple ravine i've migrated the libs to .net standard
splitting the repo will probably take longer, but if you want to take a look and play around with it, you can do that now
if you have any question or want some guidance, feel free to ask. though I'll be away in 1-2 hours for a while. if you want, we can move the discussion somewhere else, we have a discord for poeskilltree where we could e.g. add an "engine" channel.
@mortal bone it's andreandersen
Excellent @woeful sphinx currently entertaining kid with some soccer outside. Will check shortly
@polar island thanks!
For timeless jewels people keep saying that the name affects the keystone, while the seed affects the nodes. Is this backed by some data somewhere, or is it even so that the name is derived from the seed?
Has someone even looked at whether different names can occur for the same seed?
Not overly keen to pull down the whole river to do inventory.
๐
its 2 separate affixes
@violet path obtained two jewels with the same seed different name and tested, all the effects were the same except the keystones iirc
Cheers!
yeah, name only changes keystone. same seed is same nodes all around
there's also no obvious way the nodes change if you compare two seeds x and x+1
so it isn't like cycling through mods and the seed decides where the cycle starts, as far as i can tell
i mean maybe it is but it wouldn't be simple, but why would it be simple right
anyone know if the ggpk file format is documented anywhere? or is it just look at other projects that interact with it and figure it out from there?
@fathom spruce It's not documented, but I have some C# code for unpacking it
welp
@fathom spruce https://gitlab.com/zao/poe-rs/blob/master/spec/ggpk.md
oh thank god
The file starts with a GGPK chunk, which has FREE and PDIR (for root) entries. Follow entries in the root for PDIR:s with PDIR and FILE in them.
The 32-bit hashes are ordered, so you can technically use them to binary-search names in larger directories.
My two distinct loaders are C and Rust.
Above one is Rust in development, C one is at https://bitbucket.org/zao/gggtools/src/master/
this is perfect, thanks
going to fuck around with C# spans since I've never bothered with them before
@fathom spruce Note that some file types do not contain their content directly. There's symlinks that are 8-bit text that starts with an asterisk, like *Art/2DArt/kittens.dds.
There's also Brotli compressed files, that start with the magic number CMP, followed by a 32-bit count of uncompressed bytes, followed by compressed payload.
Yeah.
aight
So if you find DDS files that are like 80 bytes large, they're probably symlinks.
anyone else having issues with PoB not exporting pastebin links?
I click "share with pastebin" and get a pop-up box "error creating paste:"
That's probably about all one might need to know. Do ask if there's something else.
yeah seems like that's more than enough, thanks!
Data-wise, not all images have distinct files. UIImages1.txt contains references to other image sheets with cutout rects.
As the name hints, typically UI elements.
ah
@fathom spruce feel free to look at the code I linked
it utilizes Spans for reading GGPK
will do
I kind of want to update some old production code to use Spans and see how fast it gets after this
They are really good in situations where you'd slice up and use part of an array before, but man situations, array will still perform as good
back, had to move my car... it started hailing
@woeful sphinx I would prefer to keep the discussion here, so everyone who wants can become involved at some point ๐
oof, where do you live?
northeast usa
ah
@woeful sphinx Did you create a repo for the calculation things, or is it still in PoeSkillTree repo?
still in the poeskilltree repo. splitting it won't be as fast because i'll need to setup nuget and everything
yeah, could use submodules too
hm, we had those once and they were confusing for everyone
ยฏ_(ใ)_/ยฏ
I wish more people used them
so it would be more commonly used
I once joined an organization who were stuck with subversion and tfs
and thought git was confusing
submodules aren't that hard. the main thing to remember is only edit them from their own repo
you can edit them from a project that uses them but it's a pita
I mean NuGet packages are the goal anyway and releasing a new version + updating the version in the other repo sounds a lot cleaner than everyone having to remember to also update their submodules
true
If you get flooded, you're underpriced
Ya people are insanely ignorant
And jealous
They always assume others have an unfair advantage and that's why they're poor
just pull "small amounts of specific data" lol
They just pull shit out of their asses, it's hilarious
No idea but I don't think it's because the price fixers have figured out some new method to hack the API or something.
heheh
omg
https://www.reddit.com/r/pathofexile/comments/c2vl5r/so_private_indexers_are_back/erocbb0/?context=3
This whole comment/discussion is super hilarious
Ya saw that the other day
I for once tried to have some fun, and they took the bait and swallowed it
I do it all
I love how people assume the first and second waves are private trackers
When in reality it's just poe app vs everyone else
Yep. Poeapp caches things, and has speshal axcesh
would a macro that moves the cursor to a specific position likely go against ToS, or do I not have to worry?
Lol guy complaining that the public stash api is ahead of GGG'S site even with the 60sec delay because poe.com is behind by more than 60 sec.
Sooo freaking jealous
is it just less load on poeapp that makes it faster than path/trade and poe.trade?
No, his processing is faster and more efficient
add more pigeons
pigeons aren't affected by the CAP theorem
doesn't packet loss cause an issue though?
given that the reason for the 55% loss rate of the one IPoAC experiment was, now that I've read through it again, due to operator error and not predators, fair point, I guess. Still, especially for live search I think there's way to get a better ping.
You feed them with red bull, obviously
eventually the api's gonna be so slow and there are gonna be so many items it'd be faster for ggg to ship hdds with item dumps once a week
Havent u seen how the squirrel in Over the Hedge run so fast the time stands still when he drinks red bull?
And since I'm still wondering, anyone happen to have a confident answer to my previous question?
If it only moves the cursor, gray area I guess
Stuff like moving the cursor to the location of the next item in stash / inventory after ctrl-clicking an item.
(based on data from GGG's API, not the screen)
I think that could be darker shade of gray
I've grown tired of precision-targeting rare rings
GGG want you to tinker with your stash in a micromanagement way
that's why they also dont want to implement auto-sort
they feel it's part of the game
(I'm not putting any judgement or insinuating any bias into this btw, just observation and paraphrasing)
sounds fair by their rules
wonder if they'd crack down on an elaborate ahk script where you could just zoom a mouse wheel and do chaos recipes quickly
well in this case, given that accessing the api is perfectly fine, and given that with the api existing any script able to move the cursor can be used to semi(!)-automate auto-sort....
I suppose moving the cursor would have to be black area by default?
I'm fine with clicking myself. And as far as I know it would be only 1 server action per key press. But the amount and extent of things that can be done if moving the cursor is allowed is suggesting I might be wrong.
They were quite outspokean and against things that would help you auto-sort things, and by also factoring in the comments by Chris and Jonathan about how they want people to play the inventory game, I am assuming they're not gonna fancy this
potentially
but there's really nothing that can be said against highlighting the target area and invalidating any click that doesn't occur within that area?
yep
I mean it isn't doing anything aside from preventing input
I don't see how that could possibly go against the ToS
except that then could also be applied to preventing cursor movement in the wrong direction, I guess
I don't know
which is why I was asking
the rules are: email ggg and ask them to validate your app
Just to be clear, I am just assuming - I can't point to any actual rules
alternatively: who's going to know anything if you only run it yourself?
did email them, was just hoping I might get some presumably reliable info to work with while waiting for a reply
ยฏ_(ใ)_/ยฏ
...... I forgot to add a subject to the original email though, and now I'm not sure if / when I should re-send it
Intent in this case is probably gonna matter I guess
Explicit intent is semi-automation for the sake of QoL in accordance to the definite "1 server action per key press" rule.
No idea
I'm busy making a private tracker that intercepts poeapps pigeons
My personal theory is that due to steadily increasing complexity in item mods, it takes a given trade site longer and longer to process and index a page of data, to the point where it's taking longer than a minute per block. So the private indexer that throws away 95% of the data consumed will have processed the part it cares about before the public trade site processes everything.
lol
theories of troglodytes
well it's not completely wrong
you can be faster by several ms
maybe even a couple seconds
that leaves you with 58 more seconds of advantage
anyone else have that problem with mercury trade where reopening poe.exe causes mercury trade to ignore trades
just lol if you're not reading, calculating, and saving all of the data in the stream
since the main bottleneck is downloading data from ggg's servers, just don't
I like the way you think
I'm fairly certain I had lower TTFB the other day
I need to get in on the stash parsing game
๐ค
"wonder if they'd crack down on an elaborate ahk script where you could just zoom a mouse wheel and do chaos recipes quickly" There is another rule by GGG: no automatic cycling between different actions for a hotkey
actually allowed as long as you use your face and not some obscure gadget not everyone has access to, e.g. popsicle stick
it's about ethics in video games
There probably exists some Emacs macro already that does different things depending on from which side to which side you roll with your face
so a hotkey that alternates between ctrl-c and ctrl-click is out of question?
@bold spire yeah
have to be two separate keys
although ctrl+c doesn't do anything ingame so I guess it's fine?
well in that case "only swap to ctrl-click if the item in clipboard meets specific criteria" becomes possible
to my understanding automatically swapping macros is fine as long as number_of_macros_that_interact_with_the_game_client_or_server_ingame <= 1
as in, number that can be swapped to for a given base key combination, correct?
Yes
I like the rule of thumb of "if you have to rules lawyer it, you probably won't be allowed to do it"
(I hope none minds this discussion? I mean I know it's ultimately completely up to GGG, meaning that this isn't really productive)
Well I don't see how this is rules lawyering
Though it is helping get to think on how the features I'd like could perhaps be implemented without using some of the more questionable methods, I suppose.
Doesn't go against the spirit of GGG's rules in any way
On another note, what about simply disabling a given input instead of directly alternating and pressing a 3-key combination repeatedly?
This does seem to go against the spirit of "1 server-side action per use and key"
yep
though how does the above go more against the spirit than actually cycling? It'd just meant that, if, say, pressing ctrl + c + click, the first try would only let ctrl + c through, and the second only ctrl + click
each key still only has its original (or remapped) function, but some of them are disabled every now and then.
I'd thought that'd be better.
Not more or less legal if only one function interacts imo
misunderstood the question, thought you meant in general
ah, yeah. I could see how cycling through 12345 as individual inputs when pressing all of the buttons at the same time repeatedly might perhaps be an issue.
Especially if the way the script decides to block input just so happens to make it impossible to misuse certain flasks.
Would be a big no-no since more than 1 ingame action per key
@polar island OK u were correct. From my machine to GGG's I'm getting between 1.7 and 3 seconds to get a HTTP OK
... but it would only be 1 ingame action per key! It would be 1 ingame action per 5 keys, actually!
Downloading 418593413-434382218-409199558-469727711-445432215
> Time for headers: 00:00:01.8433525.
> Time for full download: 00:00:02.7813339
> Size:4935 kB
Downloading 418593449-434382272-409199594-469727772-445432267
> Time for headers: 00:00:02.4917497.
> Time for full download: 00:00:03.4179156
> Size:5095 kB
Downloading 418593480-434382348-409199611-469727833-445432314
> Time for headers: 00:00:03.0355251.
> Time for full download: 00:00:03.9849862
> Size:5232 kB
but most are at around 1.8s
oh hey, since you've got that vs preview window open
mind benchmarking Utf8Json vs System.Text.Json for me?
reading stashes files oc
Utf8Json doesn't deserialize
it does
np, if you don't want to do it mind passing me the code you used for your benchmark and the json file?
but I did do something similar the other day, and quite frankly, it isn't worth it
hold on
let me see if I still have something that isnt messed up
might've deleted it
but I could shave off 10ms from 130 to 120ms with custom property filling
I was testing Utf8Json vs Json.Net the other day and it seemed about twice as fast loading a random test stashs file
Utf8Json is even lower level
where you read every token-type of a json and do something with it
yeah
yeah Json.NET is slower in many aspects
But you have 3 levels of abstraction in the new System.Text.Json
JsonSerializer.Parse - highest abstraction (recommended for most)
JsonDocument - lower level
Utf8Json - lowest level
I compared JsonDocument vs JsonSerializer
with in text.json? I was talking about neuecc/utf8json
neuecc?
aha
There is one baked into System.Text.Json as well
wonder how they compare
ugh, I need to do vs2019 preview to get .net core 3 preview don't I?
I'll probably set it to download overnight
vs is pretty big these days even with it's modular installer
Fairly small if you dont have all the extra stuff, compressed likely 1-2 gb
american internet :v
awesome thanks
I need to update vs installer to uninstall vs 2017 ๐ค
It's the same installer for 2019 and 2017
Let me tell you another funny story
I had the Autodesk 3ds max license for a while (monthly subscription).
I switched software, and wanted to uninstall it.
Autodesk Genuine Software thing did not allow me to uninstall it after uninstalling everything else
nice
because it wanted to remain to make sure I didn't install any non-legitimate versions of their software
It literally sent me to their privacy page when trying to uninstall
not what I expected from this story but amazing
thankfully, Microsoft Fix-It... fixed it for me
I've seen things not let you uninstall them unless you had a valid license
I mean, I stopped subscribing to their software, so why not let me uninstall? geez
you could have chosen unethical piracy over paying them a monthly fee
gotta protect your software :v
Unlikely I will re-subscribe to their software suite
sounds smart
@simple ravine You should run Adobe software, requires signing in to uninstall, even on a trial.
@fathom spruce So, I'm curious. What kind of tool/stuff are you aiming to do?
That one I actually subscribe to still. There is nothing that I have tried that beats their software
with what?
Been using it since Photoshop 4 (not CS 4)
ggpk file stuff? that's just for messing around
Best goal.
figured it was a decent way to mess around with Spans
.dat files are also quite good for Spans
yeah that too eventually
Did someone document dat64 btw, guessing they're largely similar to the regular one, but fatter types?
I don't think so I haven't seen anything yet
Data/HideoutDoodads.dat: Err(ErrorMessage { msg: "Computed row size 898.298 (922552/1027) does not match spec size 51" })
This is going great.
(accidentally use the wrong count last night, it seems ๐ )
Not sure if I should return zero-copy references to punned data directly via the mmap, or copy the data out. Depends on if it's aligned I guess.
the trade api I was thinking about doing some heuristics with the leader board
link builds to what people sell (mainly maps)
so, parse builds or pull from poe.ninja and check it against stored stash data
You mean, check top builds and see what maps they're selling?
yeah
well, I don't think they're selling the maps they like to run
but you could use that information to gather what maps are adjacent to figure out what they're running
yeah
but it could wildly vary depending on their mapping strategy
but some ML clustering could work
I mean, it doesn't really get me any important info but I figured it would be fun
@worthy cape I've looked at the dat64s, you're correct ๐
poe-rates.com ded?
you know, I was just looking at that the other day -- I think it's been dead for a while
poe.ninja is having issues too
any other place I can get a 'current' change id?
thanks
appreciate it, however I'm looking for something to grab while I'm debugging/tinkering
I'll try https://api.poe.watch/id for now
and then poe.ninja awakens ๐
Oh, did you guys see the new Windows Terminal ("console replacement") got published?
Ctrl-W bound to close tabs, first thing to change ๐
I just want my WSL console to stop losing it's color settings ๐ฆ
gonna see how long time it takes for my stash grabber to see my stash update
@simple ravine make sure to count from when you change zones
we're talking minutes. lol
I know, I don't know if there's any time limit on how long minor stash changes will stay unflushed
saw the news about reworked console like a month ago
poe.com/trade was within seconds, yours ~10-20 seconds after
poe.trade doesnt ping on seller username searches
so it's not contending atm
could be poe.ninja who lagged as well with the change id
oh there we go
poe.trade being slow af
huh @simple ravine what were you getting on average for parsing with that model?
how slow?
| Method | Mean | Error | StdDev | Ratio | RatioSD |
|------------- |----------:|---------:|---------:|------:|--------:|
| ReadJsonNet | 119.66 ms | 2.203 ms | 1.839 ms | 0.73 | 0.02 |
| ReadUtf8Json | 71.16 ms | 1.307 ms | 1.158 ms | 0.43 | 0.01 |
| ReadTextJson | 164.06 ms | 3.021 ms | 2.826 ms | 1.00 | 0.00 |
with no optimization, passing strings to all 3
No null handling and hardcoded spec, but this was surprisingly easy - https://gist.github.com/zao/95c71576a36fbe8f2341aaa60a3904f9
we need to post more
thinking about all this nonsense regarding peopel thinking private indexers are back. hypothetically, could someone make a browser extension that messages someone for an item when they get a live search result?
you think that's what's going on?
I saw that theory too but I ihaven't been able to reproduce it
might have just been for a little while
look at this
easy to use, bind to key to paste message
they hear woop, they press key, ez
which is exactly what I said would happen
we were better off before the whitelist
because at least everyone had equal easy access
I wonder what puts less stress on the servers, providing live serach websockets, or providing the public stash api
exactly
shifted from bandwidth bottleneck to processing bottleneck
what I meant by unequal access was the public api is somewhat documented and intended for use
whereas pigybacking on live searches isn't
this ruby example doesn't even do it as well as it could
shouldnt the api be way less if managed and cached correctly
there's a lot of things about the API that "could" be better
many ideas have been suggested here
like, simply cutting out the data nobody actually needs
ie. item description
flavor text
there's a major design limitation in that the public stash api, the website, and the game are all linked in really weird ways
so when one of those 3 needs info like item description, you can't easily remove it without affecting the other two
you know how on the forums you can always see all your items and link them directly into a forum post, same system
hey @timid hemlock , do you have plans to implement impale calcualtions at some point?
No idea
are you going to make another update before the league is over?
Probably
mmk
Novynn is on vacation? ๐

I definitely do not support the idea of an open API. There must be at least some pre-moderation for tool developers. This will change almost nothing, just access to the river will become more controlled.
Well trade is shit, and as the game grows the problems become worse
a big part of the problem is the seemingly deliberate built in delay on the official trade site
where multiple windows don't get the same results


they're claiming now that some trade sites are selling private indexers
where's the 3rd party tool discount
@violet path xyz didn't sell to me. I even offered tacos 
what if they switched api to graphql
so you could request exactly what you use
I mean....poe.trade premium hasn't really been a secret for a while now
for the very affordable price of $999.99 per month
solution: make a better sniper that consumes live searches from the major indexers. open source & publicize it until everyone uses it
live search arms race, let's do it
Solution: ddos the trade API and send everyone back to trade chat
randomly enforced SSF
the aforementioned sniper solution has been discussed previously.
i could bet my left nut retik has one ๐
we should create a fake "private indexer request invite" page
poetrade.bot, let's do it
I have a bunch of domains
exalter.xyz
poe.li, poe.pe, poe.wtf, poesharp.com/io/net/org/wtf/xyz
it's a crime to not have something on talamoana.com
hehe
I've been thinking about it for a long time
I was thinking of doing something with poe.pe too, with a pope hat or something
oh I have beatbyhillock.com too
beats by hillock 
shiit, why didnt i think of that
getting random DC's in HO every few minutes
taps on the topic sign
any idea why this isnt working in game? read only checked
taps on the topic sign again
i think that at least one of the regulars here should be given mod status just for this channel
can we keep this channel to what it's for please?
Hey I'm working on...... uhhhhhhhhh
Actually I have so much shit to do ๐ฉ Gotta implement webhooks for ladder updates
IF GGG WONT WRITE A GOOD LADDER API THEN ILL HAVE TO DO IT MYSELF
D:
https://poe-racing.com/ has an ahk macro, might let you pull bulk info. not sure /shrug
Path of Exile Racing App. Keep track of your own or your favorite streamer's progress in the current league or racing event.
hmm
Is Heokor, the person who makes the League Overlay around or have a community? Getting an error running the .ahk
This is turning out great, managed to derive a trait implementation for a DAT spec with proc-macros.
The daily poe.trade is the devil comment http://reddit.com/r/pathofexile/comments/c4bqty/actual_unpopular_opinion_trade_is_broken_but_the/erxbd83
1,219 votes and 529 comments so far on Reddit
I joined it a couple of times, but they are like some [unpopular sitting president supporters] who will not have their mind changed with facts.
Discussing things isn't there for changing your mind. It's to show others your point is right.


man people are dumb
we just don't have the technology to remove 1alt outliers! Poe.Ninja is worthless with all these price fixers!
give me a break
@simple ravine that's the thing with facts, if you don't like them, you can just lump them in the bucket of "wrong facts", and pull some other "facts" out of the bucket labeled "right facts"
He just thought i had ulterior motives and were lying etc
and one was still convinced after believing my information
they assume if you're defending any aspect of the current system, or even simply disproving their made up nonsense, that you're obviously exploiting the current problems and are therefore also part of the problem
Man the new rpi looks good
rpi?
reverse polish integration?
raspberry pi 4b
at 30 hz
didn't it say 60hz?
im mostly hyped about gigabit ethernet not connected to the usbcontroller
Is there already an updating json list of uniques with stat ranges
I'd like to avoid the hassle of making one myself lol. The goal being if I know which stats are variable I can initiate a search for that specific stat searched
Same with stat ranges if theres a site I can query that would rule
looking for a replacement app for trade companion... lost a few decent trades due to game crashes and such
https://github.com/labo89/TraderForPoe is what i prefer,like 2 crashes in years+ and pretty lightweight
@zinc breach poe trade companion is still under development and the author has a bad habit of including beta builds in the auto- update without an opt-in. You can disable auto update and download the latest stable build. That might help.
I think I'm gonna take a stab at making an alternative trade companion with some added intelligence
once vacation comes around
can we add alexa support
@simple ravine iirc @violet path does full time trading for some pretty large groups - you might use him as a beta tester ๐
full time?
du heek
imagine what i could do with that time ๐
that's a pretty darn good vacation though
the perks of academia
you have 10 exalts, 20 chaos, and people are price fixing doctors...
how many trades do you have to make to hate yourself and go ssf
0, because you can't make any ๐
clever riddle
ooh that reminds me, fake private indexer signup page
just to make those tinfoil hats go total bonkers
Only if you leave some hidden but not too hidden fake link back to GGG
make it just open a websock to live search on the official site
i'd eventually fall for it and ask to join in so please don't
reddit people will believe it's real
@violet path you'll be the only person in the indexer.
step 1 buy access to hidden xyz trade for 999 tacos
make it like goonsquad's wow guild page
https://www.wowgoons.com/ if you haven't seen it
so here me out: make an indexer, but the items it shows are randomly generated but the names are taken from the ladder. market it as an indexer that predicts what people will put up for sale in 5 minutes
that's really getting ahead of the pack
"A guild as large as <Goon Squad> would not be possible without full time guild managers. <Goon Squad> currently employs a guild master, seven raid leaders, and a systems administrator responsible for keeping the forums and Bitcoin farm running smoothly."
๐
Isn't that a wow guild?
Lol just read up, yep
Plz don't antagonize the reddit mob, don't need any more pitchforks out
Comeon, it's gonna be hilarious
they already believe that someone has "hacked the servers" into bypassing the 60sec delay
@grave wren are you familiar with raspberry pi?
what's programming for rpi like? is there an OS? can it run .net core?
Rpi runs an adapted Debian called raspbian or some windows lite version i think. No clue if .net runs on arm cpus
if it's linux it should
as long as the stdclib is up-to-date enough
at $55 for 4GB, I feel like I need to get one and figure out what to do with it later
I am running one rpi2 for znc and some file syncing that is way too slow. So definitely getting a model 4 soon.
ya was looking at that
Seems good tbh. Wouldn't want to run docker on my rpi2 tho
no, too much overhead
.net core is awesome
Been loving .Net Core 3 since I ported all my stuff over to it
I've actually been using 2019 without resharper for the first time
I miss some of the debugging features of resharper but it's not bad
Roslynator covers most of reshapers functionality as well and it's much lighter weight
D:
I found a nasty bug in VS2019 though
debugger gets hung randomly
fairly often
worked around it by killing process and re-running debugger
but was really annoying
I haven't noticed that on my end
can anyone upload the newest mercurytrade version please? github wont let me download it
here is the direct link https://github.com/Exslims/MercuryTrade/releases/download/1.0.3.4/MercuryTrade.jar
Hmm, seems like that also doesnt work :/ Chrome tells me that its "Waiting for an open Socket"
But thanks for the try!
im getting bugged, i got DC for performing too many actions and my mini-map wasnt showing on the screen b4 the DC as well
sorry i didnt know where to post this , so i posted it here ty
this is the private indexer channel, sorry
welp sry didnt know where else to post so sry
@errant tinsel sorry if the others are being rude. You can see in the headline at the top of the channel status that this is for tool development and not game debugging. If you have an issue like getting disconnected, I would recommend filing a bug sighting on the pathofexile.com forums.
np , ty i kinda knew this might not be the correct channel , but i figured i needed to post it somewhere but i didnt know where to , so i figured mayb dev b closer , but wasnt sure, yep i just needed to be redirected to right place and tyvm
Anyone ever looked into Unknown0 in Mods.dat (pypoe)
oh official rich presence is here :D
Legion Splinters can now stack up to 5,000 in a Currency Stash Tab.
real patch mvp
who do I contact to ask if a feature(s) of a tool would be okay to implement? Support just got back to me, saying they aren't the ones to ask, apparently.
which tool?
one I'm trying to make
I wanted to include a way to manipulate (or at least restrict) cursor movement, based on clipboard data and information from GGG's API.
GGG is very strict about macros and automation. Your macro must follow this rule: a button must perform only one server action and it must perform that one single server action every time with no condition. If you have questions about what counts you are welcome to ask but questions about what GGG can detect are not acceptable. Please do not argue about what other games allow, GGG has their own rules.
I'm not asking about detection
I was asking because afaik moving the cursor is not a serverside action
so yeah, I was asking about what counts. Concerning which support told me that they cannot confirm or deny anything
so now I'm wondering what the proper channel to ask the question is.
will try there then
they don't allow moving the cursor/blocking input based on item data you copy
and it sounds like you're trying to create a tool for crafting
which they very much don't want to allow
or for autoselecting items for trade which is going to be a "no" as well
think of it like this. if there's an automated decision behind the 1 client/server/whatever action it's probably no
it has ex as 110c by default
is that hard coded? or does it change?
hardcoded until it is too far out then we update it
unfortunately expensive to update
hmm unfortunate, good to know what it is at least
yes it is
poeapp was delayed about 60 seconds
poe.trade was delayed by ~15min
pathofexile.com/trade wasn't delayed at all
granted, poe.com/trade isn't river
Oh cool @wind garden do you collect those statistics by any chance?
not programmatically
I list items for sale and get frustrated when the prices haven't udpated after 15+ min :/
so I do a time comparison to see how delayed everything is
would be interesting to have a comparison chart
of different websites
that as well aye
Have either you or xyz tried contacting Chris about the matter? If for anything, to get clarification on the plan for the future?
If he were to say, we have no plans to change anything, then at least you know it's not worth spending more effort
if he says, ya we're doing X to fix this, then you know it's worth
given how important both of you are to the community, I think the chances of Chris responding to a direct email are good
Chris is pretty good about replying to emails in general
ya, I'm really surprised there hasn't been a dev post about the matter considering how much there's been on reddit complaining
@polar island this goetzjam guy on reddit responds to every trade related post
I'm sure he also believes the government can solve all our problems and capitalism is evil because he sure hates any competition amongst poe tools
I know, it's frustrating
I'd help if I could
I think it's worth it to keep pushing for it though
did they already forget how the official site crashed on launch
0 votes and 13 comments so far on Reddit
this guy actually thinks that poe.trade is HARMING poe simply by existing
I'm sure private medicine is harming healthcare too, we should all be on medicare 
to be fair thats a can of worms...
I'm 3 days late but I'd like to submit talamoana.warri.org @simple ravine @fathom spruce
@wind garden gotta admit some guys are very creative with their conspiracy theories on reddit though
they're looking for answers in the darkness
GGG needs to be more clear as to what's going on and what their plan is
they could easily debunk all the misinformation
@ornate gale I was talking about domains I actually own
I know, I was suggesting a new purchase for you
dunno how regulated or costly it is to get a .org though
it's already taken
.org are like $9/year
but it's taken, and they're not selling
or well, probably for the right price
regarding trade, there's probably a sizeable chunk of the playerbase who quits 'early' every league due to trade being a pain in the ass, either for crafting currencies or maps
lol, I am seriously considering making that agent-based private thing
would be hilarious if it worked
so I assume GGG has plans to address it
and probably dont want to communicate on it until they have picked a solution, and a somewhat clear deadline
I mean they literally just put out a statement saying they dont want to to do anything
idk about that
I was thinking about the API / river / delays
they do hate trade, but not because the loot table is bad
well it's slightly better nowadays
I'm inclined to agree that they will do something about the river soonish though.