These are chat archives for arenanet/api-cdi

28th
Mar 2017
Archomeda
@Archomeda
Mar 28 2017 00:01
i've always found the coordinates system confusing :(
ChieftainAlex
@ChieftainAlex
Mar 28 2017 00:03
all credit to the timer/map guy to be fair i rooted around in his code to get me wondering how to convert the radii
which lead me back to cliff's first post
Shii Kayano
@BryghtShadow
Mar 28 2017 09:29
@lye Regarding fractal achievements and mastery requirements: Today's rec fractals are 21, 30, 59. I can look at the details of 21 (and track it), but 30 and 59 have that prerequisite lock (and I cannot track it). They all claim that they require Follows Advice. I haven't run any fractals yet on this non-HoT account. Are there any behind-the-scenes difference?
Edit: http://imgur.com/a/W29HG screenshots of the 3 recommended fractal dailies.
Shii Kayano
@BryghtShadow
Mar 28 2017 09:49
Ok, I think I figured it out. https://api.guildwars2.com/v2/achievements/2189 doesn't have prerequisites.
Shii Kayano
@BryghtShadow
Mar 28 2017 11:28
#474 Submitted issue regarding strange fractal daily lock.
Edgar Doiron
@Coffee4cr
Mar 28 2017 13:05

dont know what to do, if I make profit out of a 250 ecto gamble I am... :')

You play again if you make profit

Darrian
@rikkuness
Mar 28 2017 13:07
play until you lose and then play again to try win it back
Edgar Doiron
@Coffee4cr
Mar 28 2017 13:07
that 's what I do, play every couple of months, when i get 250 ectos back
:P
windwarrior
@windwarrior
Mar 28 2017 14:35
@Fractal dailies, they added a T3 (50-74) fractal daily which is presumably also locked behind Follows Advice
but probably forgot to update the mastery text
"content"
Archomeda
@Archomeda
Mar 28 2017 14:41
early windows 10 CU build available
the final build that is
Darqam
@Darqam
Mar 28 2017 17:26
Are item skins suppose to have a lag for appearing on the api after the item itself appears?
uhh, not really
iirc they should show up at the same time
Darqam
@Darqam
Mar 28 2017 17:44
well so far all the beastslayer weapons have no skins entries I think
the beastslayer weapons didn't seem to be whitelisted even
i went ahead and whitelisted the rest, as well as the skins
Darqam
@Darqam
Mar 28 2017 17:45
well the items are on the api >.>
thanks though
yeah if they're returned in /v2/account/bank or something they'll be auto-whitelisted
(or any inventory endpoint really)
Darqam
@Darqam
Mar 28 2017 17:45
ooooooh
kinda weird that the skins didn't get whitelisted though
Darqam
@Darqam
Mar 28 2017 17:46
maybe no one bound them yet?
nah skins aren't whitelisted when returned from account endpoints
Eearslya Sleiarion
@Eearslya
Mar 28 2017 17:46
Seems like the chat-link filtering isn't working so well today
Darqam
@Darqam
Mar 28 2017 17:46
does it ever work well?
    Needle Trap: This skill now delivers a strike.
    Tripwire: This skill now delivers a strike.
oh-ho
Eearslya Sleiarion
@Eearslya
Mar 28 2017 17:46
oh thank god
Darqam
@Darqam
Mar 28 2017 17:47
I am a happy ele
ah there we go, got all the skins, thanks Lye
:heart:
Darqam
@Darqam
Mar 28 2017 18:03
The rate limit was what again, 600/min?
600/min
Darqam
@Darqam
Mar 28 2017 18:04
ok... why the heck was I worried about that when you first mentioned that? I'm nowhere near that... shrug
it was 60/min initially while i verified on live
but ... yeah I dunno
even 60/min is a lot, but it's not enough to re-fetch all tp prices every 30 seconds
Darqam
@Darqam
Mar 28 2017 18:05
hum, I guess if I stuck with 60 I'd be possibly hitting that if I did a huge update, but yeah even that should not be a concern. Oh well, good to know.
Eearslya Sleiarion
@Eearslya
Mar 28 2017 18:07
I'm using like..281 requests a week at the moment
Jonathan Andrist
@rwfrk_twitter
Mar 28 2017 18:07
Erm, the bank tab sale price is listed IDENTICAL to the normal price in the UI.
Darqam
@Darqam
Mar 28 2017 18:07
lol
Edgar Doiron
@Coffee4cr
Mar 28 2017 18:07
yeah but it's usually 600
:P
Jonathan Andrist
@rwfrk_twitter
Mar 28 2017 18:08
The mined sab stuff both thrills and saddens me. Another dailies set I wont be able to complete in a year? hopes the PvP track can fix it
I decided to listen to this today
to pump me up for thursday
Jonathan Andrist
@rwfrk_twitter
Mar 28 2017 18:10
We're getting TRIB MODE BOOM BOXES THIS YEAR \o/
Edgar Doiron
@Coffee4cr
Mar 28 2017 18:12
I KNOW!
:D
Jonathan Andrist
@rwfrk_twitter
Mar 28 2017 18:12
My inventory wishes they'd have just given us a Shard of Duskk we could apply to ourselves, but this will do.
Eearslya Sleiarion
@Eearslya
Mar 28 2017 18:24
Stupid trib mode boomboxes
gonna make me farm trib mode for baubles
I did that last year for the original boomboxes dammit
I really hope it doesn't need actual trib mode tokens or something
I got really good at doing world 1-1 trib
Darqam
@Darqam
Mar 28 2017 18:26
I wonder if they implemented the selling 'exploit' for trib mode
Jonathan Andrist
@rwfrk_twitter
Mar 28 2017 18:38
They said they'd fix it. I'm hoping they did.
Also. I kept my extra trib tokesn cackle
Edgar Doiron
@Coffee4cr
Mar 28 2017 18:50
@Eearslya if you're only do it for farming, grab TACO overlay
makes it sooo easy
Eearslya Sleiarion
@Eearslya
Mar 28 2017 18:50
Oh?
Edgar Doiron
@Coffee4cr
Mar 28 2017 18:51
yeah I used it last year
shows all the safe spots
Eearslya Sleiarion
@Eearslya
Mar 28 2017 18:54
Do I need a marker pack?
Edgar Doiron
@Coffee4cr
Mar 28 2017 18:56
no
they come built in
Darqam
@Darqam
Mar 28 2017 19:02
wait serious, taco has safe spots?
there goes my hours of memorizing last year
Edgar Doiron
@Coffee4cr
Mar 28 2017 19:04
:)
yeah
I was using it to do my furniture coins in Trib
:D
Eearslya Sleiarion
@Eearslya
Mar 28 2017 19:08
I forget, how do baubles work in trib mode? One per run, or one per run per day?
bauble bubbles*
Edgar Doiron
@Coffee4cr
Mar 28 2017 19:11
don't remember
been so long
Jonathan Andrist
@rwfrk_twitter
Mar 28 2017 19:12
Friend made their own..uh. pack to taco's markers last year before it had an official one. Theirs were more detailed/useful imo. We'll see this year.
Nabrok
@Nabrok
Mar 28 2017 20:17
wvw api only returning EU matches right now
uhh
uhh
Eearslya Sleiarion
@Eearslya
Mar 28 2017 20:21
:fire:
also, new windows 10 build has built-in night light, or w/e it's called in english
it's awesome
Eearslya Sleiarion
@Eearslya
Mar 28 2017 20:23
The orange tinting?
Archomeda
@Archomeda
Mar 28 2017 20:23
yes
Nabrok
@Nabrok
Mar 28 2017 20:23
f.lux?
Archomeda
@Archomeda
Mar 28 2017 20:23
yes, but without third-party now
darthmaim
@darthmaim
Mar 28 2017 20:24
macOS just added that in the latest update yesterday :O
why is everyone doing that now
Archomeda
@Archomeda
Mar 28 2017 20:24
it's the new thing
/shrug
tbf, windows insider has had it for a while
it just takes a few months for a new windows build to be released for everyone
it's funny how the mouse cursor isn't affected by it :P
@Nabrok thanks for the heads up, identified a nasty bug and restarted the affected backend services to get the correct state
Looks like inter-DC connectivity hiccuped and the WvW API backend server doesn't re-establish state correctly -_-
Eearslya Sleiarion
@Eearslya
Mar 28 2017 20:31
stupid fish nibbling the fibers
the fix is literally a one-line change fml
Nabrok
@Nabrok
Mar 28 2017 20:43
Well, I just spent an hour tracking down a bug which was I had typed SCORE instead of SCOPE.
let's ban computers and go back to being a nice agrarian society
Archomeda
@Archomeda
Mar 28 2017 20:57
i agree, as chocolatey does not want to cooperate since this week :(
By installing you accept licenses for the packages.

chocolatey v0.10.3
// Some install logs
 Get-ChildItem : An item with the same key has already been added.
 At C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\functions\Get-EnvironmentVariableNames.ps1:54 char:17
 +     'Process' { Get-ChildItem Env:\ | Select-Object -ExpandProperty K ...
 +                 ~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : NotSpecified: (:) [Get-ChildItem], ArgumentException
     + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.GetChildItemCommand
// Some more logs
 Get-ChildItem : An item with the same key has already been added.
 At C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall\helpers\functions\Get-EnvironmentVariableNames.ps1:54 char:17
 +     'Process' { Get-ChildItem Env:\ | Select-Object -ExpandProperty K ...
 +                 ~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : NotSpecified: (:) [Get-ChildItem], ArgumentException
     + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.GetChildItemCommand
 Adding Chocolatey to the profile. This will provide tab completion, refreshenv, etc.
 WARNING: Chocolatey profile installed. Reload your profile - type . $profile
 Chocolatey (choco.exe) is now ready.
 You can call choco from anywhere, command line or powershell by typing choco.
 Run choco /? for a list of functions.
 You may need to shut down and restart powershell and/or consoles first prior to using choco.
The install of chocolatey was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\chocolatey\tools\chocolateyInstall.ps1'.
 See log for details.
windwarrior
@windwarrior
Mar 28 2017 21:00
plottwist, the entire API code is on a single line
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:01
live-editing the minified js
windwarrior
@windwarrior
Mar 28 2017 21:02
(in theory I think even the entire C++ backend can maybe be on a single line, or are there C++ grammar rules that require newlines?)
Darqam
@Darqam
Mar 28 2017 21:03
can't most programming languages be written in a single line if you delimit them properly? I know Python can't, but php and js definitely also could.... although that would be hell
windwarrior
@windwarrior
Mar 28 2017 21:04
yeah, but like include and defines in C++ need to be on a seperate line I guess
but you can just not use them
I was trying out MaterializeCss for some GW2 app, but the docs are terrible :O
bit annoyed by the forever bootstrap look, but bootstrap has so much better documentation
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:09
The only thing C++ needs newlines for is preprocessor, yeah
darthmaim
@darthmaim
Mar 28 2017 21:10
why not https://getmdl.io/ which is, if i'm not mistaken, by google directly
I haven't used it though and I have no idea if the docs are any better
Darrian
@rikkuness
Mar 28 2017 21:10
I've taken a new love to mdl
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:10
I might actually use mdl for gw2oracle
Bootstrap has been good to me, but..I like flat designs
Darrian
@rikkuness
Mar 28 2017 21:11
I'm in the same boat, so many apps in bootstrap but I've tired of the look haha
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:12
I love the way things like gitter/slack are laid out
Archomeda
@Archomeda
Mar 28 2017 21:14
uurrrgh, i've held back updating gitlab for so long, it now has to update from 8.7 to 9.0
skipping 8.8, 8.9, 8.10, 8.11, 8.12, 8.13, 8.14, 8.15, 8.16 and 8.17
help me
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:15
gitlab always takes forever
Archomeda
@Archomeda
Mar 28 2017 21:16
you using the omni package?
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:16
ye
Archomeda
@Archomeda
Mar 28 2017 21:16
that's why
apparently it runs migrations all the time, even if it doesn't have to
@Eearslya
#define Foo {\
    do();\
    something(with);\
    foo();\
}
maybe I'm misunderstanding the problem
Archomeda
@Archomeda
Mar 28 2017 21:17

gitlab preinstall: Automatically backing up only the GitLab SQL database (excluding everything else!)

here we go

Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:17
no no no
the problem is you can't do this
#include <stdio.h> int main() { printf("Hello world!\n"); }
ah fair, yeah that's a shame
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:18
everything but preprocessors can be jammed onto a line
windwarrior
@windwarrior
Mar 28 2017 21:18
so your C++ program is most certainly not single line :(
Archomeda
@Archomeda
Mar 28 2017 21:18
does it specifically check for \n?
you'd have to check the standard, given C++ it's probably implementation-defined
err, implementation-specified.
windwarrior
@windwarrior
Mar 28 2017 21:18
the preprocessor is just reading comments, not?
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:18
@Archomeda no the problem is the preprocessor will throw an error, because gcc parses preprocessors as a line
Archomeda
@Archomeda
Mar 28 2017 21:18
or are there also any other whitespace characters that are also seen as a newline to the preprocessor, but not newline to the user?
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:19
oh wait now I understand what you mean
hmm, it might accept \r?
Archomeda
@Archomeda
Mar 28 2017 21:19
yeah... my sentence wasn't finished, sorry :P
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:19
@windwarrior Not exactly, # in C/C++ isn't a comment
// and /* */ are
windwarrior
@windwarrior
Mar 28 2017 21:20
C(++)? are interesting languages
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:20
Powerful, but picky
Mainly because they technically don't have a framework beneath them
windwarrior
@windwarrior
Mar 28 2017 21:20
and unusual from a language engineering perspective
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:21
C/C++ are very different from PHP, JS, Ruby, etc. because there's nothing between the code and the CPU
well
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:21
(once it's compiled)
well
you're skipping a few layers
OS and microcode
windwarrior
@windwarrior
Mar 28 2017 21:21
wait, my processor doesnt run C++ code
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:21
nothing between the code and user-space
windwarrior
@windwarrior
Mar 28 2017 21:21
I feel cheated
just implement your compiler in hardware
@windwarrior just have your code execute at compile-time
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:22
I feel like JIT-ing C++ is a nightmare waiting to happen
what is life but a series of short nightmares
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:23
not to mention C/C++ are such performant languages because they're compiled
windwarrior
@windwarrior
Mar 28 2017 21:24
and because they utterly blow up when you specify undefined behaviour
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:24
pls don't remind me of my hours hunting down SIGSEGV
just use gdb
w-why?
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:25
gdb is scary
@windwarrior they don't always blow up
gw2 relies on certain undefined behaviors acting a certain way
windwarrior
@windwarrior
Mar 28 2017 21:25
that is scary
@Eearslya it's not that bad
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:25
reminds me of the 6502 undocumented opcodes
@lye after 11 years programming I think I finally have a grasp on pointers/references
so I pray I will not need gdb
windwarrior
@windwarrior
Mar 28 2017 21:27
But undefined behaviour is not stable right, or is GW2 compiled with the same compiler every time
or ... the same version of that compiler
@Eearslya you need gdb and valgrind
printf debugging is not debugging
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:28
Valgrind I use on a regular basis
HEY
@windwarrior it's undefined
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:28
don't diss my debugging method
just sayin', one of the things gdb does is break the program when SIGSEGV is sent
so you can get a callstack and inspect state
windwarrior
@windwarrior
Mar 28 2017 21:28
what I meant to say is that if you specify some undefined behaviour, there is nothing stopping newer compilers from completely changing the outcome of your program
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:29
My motto: when in doubt, print everything
@windwarrior oh sure, even the same compiler with slightly different settings may do something different
(e.g., code elision after a dereference)
@Eearslya when in doubt, write a unit test and run that through valgrind :P
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:30
unit tests in c are scary
I still don't think I was doing them right
I had to put in a compile-time flag that undefined main if I was unit testing
I use libcheck, it's super straightforward
libcheck runs each test in a separate process so crashing doesn't stop the test run
(and you can very easily run individual tests in the same process for debugging them under gdb)
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:33
see it's not difficult for a library, but unit testing a program made me question how I was supposed to handle the test having a main and the program having a main
for that, I just don't include main.c in the sources when linking the tests
so there's src/main.c and test/main.c and only one of 'em gets linked
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:34
and main.c just immediately passes control elsewhere?
eh it might set up the program and do stuff, but I wouldn't consider that stuff testable
it does practically the same thing as test fixtures are doing
then again I'm not above this
#include <sys/types.h>
#include <string.h>

extern int main_client(int argc, char *argv[]);
extern int main_client_3d(int argc, char *argv[]);

int
main(int argc, char *argv[])
{
    if (1 < argc && !strcmp("3d", argv[1])) {
        return main_client_3d(argc, argv);
    }
    else {
        return main_client(argc, argv);
    }
}
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:37
#ifdef UNITTEST /* Remove main() and swap memory functions if we're doing unit tests */
# include <stdlib.h>
# include <setjmp.h>
# include <stddef.h>
# include <cmocka.h>
# define malloc(n) test_malloc(n)
# define calloc(n,c) test_calloc(n,c)
# define free(n) test_free(n)
# define realloc(n,s) test_realloc(n,s)
#else
int main(void) {
    return run_parts("input");
}
#endif
seems reasonable enough
I don't bother with mocking out the allocation bits since valgrind does all that just fine
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:47
Yeah, but cmocka would actually fail a test if memory leaked, which was nice
Would also say exactly what line allocated it
valgrind gives you a callstack for unfreed allocations too
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:47
valgrind never did that for me, and I tried so hard to make it
but I can see where you're coming from
huh really? works fine for me :/
are you running it with --leak-check=full?
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:48
I did that, I did compile-time flags, I did a lot of things..it gave me an address.
huh
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:48
I haven't done C in a while.
well if you install freebsd and install devel/valgrind
it should work fine :heart:
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:49
I just sorta had to guess what it was based on a) what I just changed and b) the size of the chunk it says didn't get freed
How many unit tests does GW2 have? I'm scared to know.
no comment ;3
the API has several hundred integration tests though
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:50
I'm going to assume that means either 0 or 10,000+
I'm trying to do a good job testing all of gw2oracle as I write it
Keeping track of code coverage helps
I need a good coverage tool for C99
i have no idea what my current coverage is
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:52
Doesn't --coverage do it?
Compile/link with --coverage, run the program
wow huh I'll have to check that out
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:53
It'll generate a bunch of .gcda and .gcno files with the data
then use gcov or gcovr to actually read them
(I have no idea if that's C99 compatible but probably?)
should be
actually just using gcov should generate coverage reports
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:55
not without the flag
ah because it's inserting compile-time instrumentation
Eearslya Sleiarion
@Eearslya
Mar 28 2017 21:57
eearslya@chimera ~/C/Advent-Of-Code-2015/1 (master)! $ make coverage
gcc -c -Wall -coverage src/1.c -o src/1.o
gcc -coverage src/1.o -g -o prgm
rm -f src/1.o
eearslya@chimera ~/C/Advent-Of-Code-2015/1 (master)! $ ./prgm
Part 1 Solution: 280
Part 2 Solution: 1797
eearslya@chimera ~/C/Advent-Of-Code-2015/1 (master)! $ gcov src/*
File 'src/1.c'
Lines executed:90.63% of 32
Creating '1.c.gcov'

Lines executed:90.63% of 32
1.c.gcov then re-prints the source file(s), annotating which lines were executed, how many times
        8:   48:int run_part(int part, char *input) {
        8:   49:    int pos = 0;
        8:   50:    int floor = 0;
        -:   51:    char c;
        -:   52:    while (1) {
    35196:   53:        c = *input++;
    35196:   54:        pos++;
    35196:   55:        if (c == '(') floor++;
    17044:   56:        else if (c == ')') floor--;
        8:   57:        else if (c == 0 && part == 1) return floor;
        4:   58:        else if (c == 0 && part == 2) return 0;
    35192:   59:        if (floor == -1 && part == 2) return pos;
    35188:   60:    }
        -:   61:    return 0;
        -:   62:}
Archomeda
@Archomeda
Mar 28 2017 21:59
hmmm, good news, gitlab didn't blow up
Eearslya Sleiarion
@Eearslya
Mar 28 2017 22:00
I dunno if I wanna go back to gitlab for gw2oracle..none of the fancy third-party tools like private gitlabs
Archomeda
@Archomeda
Mar 28 2017 22:00
had to update my nginx proxy settings though; apparently they were outdated (even though they were working)
meh, i like having my private repos on my private gitlab :3
Eearslya Sleiarion
@Eearslya
Mar 28 2017 22:01
I guess technically the only thing I'm running right now is CodeClimate which..could be replaced
Archomeda
@Archomeda
Mar 28 2017 22:01
although i suppose i can even host it on gitlab and not worry about self-hosting actually
i just need to host my own runners
Eearslya Sleiarion
@Eearslya
Mar 28 2017 22:02
I do that too
A singular runner
Archomeda
@Archomeda
Mar 28 2017 22:02
my current runners are broken
because virtualbox /shrug
i hate managing virtualbox
Eearslya Sleiarion
@Eearslya
Mar 28 2017 22:02
Naga hosts GitLab, Wyvern is the runner; both on the same dedicated server
I have Server 2016 on an OVH box
Archomeda
@Archomeda
Mar 28 2017 22:03
in any case... i want SAB
also, i want to write something to preload gw2 downloads on my homeserver
and then proxy it to my pc
but the way gw2 downloads patches, it's impossible to predict what files it need :|
Eearslya Sleiarion
@Eearslya
Mar 28 2017 22:05
I just RDP in from work and open the client
Archomeda
@Archomeda
Mar 28 2017 22:06
yeah... i can't access my pc :P
i wished i understood the damn compression algorithm in combination with diffs
but at that point you can write your own gw2 patcher... not sure if that's something anet would be fine with... heh
oh wow, my account value spiked with 5k
is it because of everyone buying gems with gold for the bank tabs?
Archomeda
@Archomeda
Mar 28 2017 22:11
it's funny, 158g for 480 gems atm; while if 100 gems would cost 25g (like it used to do) it would be 150g for 600 gems
Archomeda
@Archomeda
Mar 28 2017 22:33
oh urgh; right now i'm thinking how useful it would be to have a /v2/account/mail endpoint... i'm searching through all my characters for birthday mails
then i remembered, even if it existed, it would probably only contain account wide mail :sob:
JC123
@JC123
Mar 28 2017 22:41
you can know what files it will need after an update if you parse the file manifests
Archomeda
@Archomeda
Mar 28 2017 22:42
true... but you have to make assumptions
for changed files, the client will download diffs
now it's a different matter if i know how the diff is made; then you can just download full files and make diffs yourself on the fly
and then proxy that to the client
JC123
@JC123
Mar 28 2017 22:45
changed files just get a new file id associated with their base id they dont do diffs
windwarrior
@windwarrior
Mar 28 2017 22:47
just mount the dat file via NFS?
Archomeda
@Archomeda
Mar 28 2017 22:47
wait what
Archomeda
@Archomeda
Mar 28 2017 22:53
oh, i understood that incorrectly
i thought you meant that you can mount the dat file as a filesystem... urgh
also, @JC123 i just checked again with my client that still has to download some files

i got both types:

Http: Response, HTTP/1.1, Status: Ok, URL: /program/101/1/0/1663352/compressed
Http: Response, HTTP/1.1, Status: Ok, URL: /program/101/1/1452607/1664828

can you explain why the first one has a 0 as base, and the second one 1452607 as base?
Archomeda
@Archomeda
Mar 28 2017 23:02

/program/101/1/0/1664828: 6277 bytes - C05A118D
/program/101/1/0/1664828/compressed: 292 bytes - ED2E0A0A
/program/101/1/1452607/1664828: 136 bytes - 52403BE7

/program/101/1/0/1452607: 6275 bytes - 1F325470
/program/101/1/0/1452607/compressed: 300 bytes - 012D1479

Michael Dougall
@madou
Mar 28 2017 23:02
:angel:
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:03
I never knew people had actually been doing work into reverse engineering the updater
Archomeda
@Archomeda
Mar 28 2017 23:05
meh, the updater just uses plain HTTP requests for downloading files, not hard to find out what URLs it's using
i used /latest/101 before to check the build, instead of the API
plus, there have been forum posts that date back to 2012 where people were trying to figure out how stuff worked during the beta
JC123
@JC123
Mar 28 2017 23:12
the /compressed and "url diffs" arent required. it will default back to the regular file if it cant get those
Archomeda
@Archomeda
Mar 28 2017 23:13
hmm, alright; i never tried forcing that
JC123
@JC123
Mar 28 2017 23:13
i use a mirror to quickly analyze changed files it does work
Archomeda
@Archomeda
Mar 28 2017 23:14
didn't think it would have a fallback
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:14
where are all these urls?
Archomeda
@Archomeda
Mar 28 2017 23:14
that makes it interesting; thanks for that
@Eearslya domain?
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:15
yeah
Archomeda
@Archomeda
Mar 28 2017 23:15
assetcdn.101.arenanetworks.com
thats the build one
Archomeda
@Archomeda
Mar 28 2017 23:16
errr.... wait
why does it actually work in my new clean windows install
it used to require an authentication cookie before.... ehhhh
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:17
Works on mine o:
darthmaim
@darthmaim
Mar 28 2017 23:17
oh it requests http://assetcdn.101.arenanetworks.com/latest64/101 for the 64bit client
Archomeda
@Archomeda
Mar 28 2017 23:17
yeah... that's exactly my point
yeah, /latest is 32-bit
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:17
And each number on latest is a file ID?
JC123
@JC123
Mar 28 2017 23:17
no
Archomeda
@Archomeda
Mar 28 2017 23:18
i wonder if someone changed it at anet so it doesn't require a cookie anymore; which is weird actually
darthmaim
@darthmaim
Mar 28 2017 23:18
I can open all the /compressed files in chrome and it will download it, no cookies required
JC123
@JC123
Mar 28 2017 23:18
they removed the need for a cookie a while ago
the client still sends it though
Archomeda
@Archomeda
Mar 28 2017 23:18
yeah, odd
@Eearslya it's been a while so i actually had to find some of my old scripts
[0]: build id
[1]: latest gw2.exe file id
[2]: latest gw2.exe file size
[3]: build manifest file id
[4]: build manifest file size
Archomeda
@Archomeda
Mar 28 2017 23:23
oh hi @lye
huh that totally works
i can open the file and stuff
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:24
well I have it
no idea what to do with it but
I have it
it's an atex file
JC123
@JC123
Mar 28 2017 23:24
some random texture lol
Archomeda
@Archomeda
Mar 28 2017 23:24
ATEUDXT5
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:25
oh wow
Archomeda
@Archomeda
Mar 28 2017 23:25
now i wonder if that cookie change was intentional
JC123
@JC123
Mar 28 2017 23:25
its not like it served much of a purpose on live
darthmaim
@darthmaim
Mar 28 2017 23:26
its not that hard to get a valid cookie
it's still enabled elsewhere
(i just double-checked)
Archomeda
@Archomeda
Mar 28 2017 23:26
well, maybe for random requests from people clicking on links on the internet :P
hey man if you wanna write an atex/amdl2 viewer in javascript :D
Archomeda
@Archomeda
Mar 28 2017 23:27
why did you shatter my hopes of trying out other branches @lye
actually please do I'll use it to render characters
darthmaim
@darthmaim
Mar 28 2017 23:27
:D
(BSD/MIT/Apache license preferred FWIW)
darthmaim
@darthmaim
Mar 28 2017 23:27
Oh I guess we can download models with that
Archomeda
@Archomeda
Mar 28 2017 23:27
branch 102 exists too, and i think some other branches too
darthmaim
@darthmaim
Mar 28 2017 23:28
we could write an online model viewer
that would be cool
Archomeda
@Archomeda
Mar 28 2017 23:28
if you can map the file ids
tyria3d cough
Archomeda
@Archomeda
Mar 28 2017 23:28
lol
JC123
@JC123
Mar 28 2017 23:28
yeah was about to say
already been done
lol
darthmaim
@darthmaim
Mar 28 2017 23:28
I thought they upload that to the server?
JC123
@JC123
Mar 28 2017 23:28
v2 reads the dat off you
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:28
I thought it got mapped to your local dat
Archomeda
@Archomeda
Mar 28 2017 23:28
the latest version of tyria3d uses your dat file directly
ninja'd 2 times
darthmaim
@darthmaim
Mar 28 2017 23:28
:P
They could just use http://assetcdn.101.arenanetworks.com/ directly
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:29
They probably didn't because of the cookie
Archomeda
@Archomeda
Mar 28 2017 23:29
hmm, does anet pay the cdn per used bandwidth?
yes
Archomeda
@Archomeda
Mar 28 2017 23:29
rip
it's aws cloudfront
(I think)
Archomeda
@Archomeda
Mar 28 2017 23:29
i'm pretty sure i saw 2 cdns popping up
darthmaim
@darthmaim
Mar 28 2017 23:30
I'm guessing there are way more people updating gw2 than viewing a few maps on tyria3d
Archomeda
@Archomeda
Mar 28 2017 23:30
but cloudfront was always the fastest to update with new patches
loading map data from the assetcdn is way slower than having them locally
(like 30-60 seconds load time I'd expect)
Archomeda
@Archomeda
Mar 28 2017 23:30
depending on download speed
darthmaim
@darthmaim
Mar 28 2017 23:30
probably, but you wouldn't have to select the dat by hand
(I'm lazy)
Archomeda
@Archomeda
Mar 28 2017 23:31
heh, if tyria3d would just remember your selection, it's kind of solved
wait... does that actually work
eh not sure the APIs allow you to do that
Archomeda
@Archomeda
Mar 28 2017 23:31
i don't know how that browser api works
Archomeda
@Archomeda
Mar 28 2017 23:32
hmm
or you know, just use electron
:P
or you know, a real runtime
like haskell
Archomeda
@Archomeda
Mar 28 2017 23:32
xD
darthmaim
@darthmaim
Mar 28 2017 23:33
by that point you could just start gw2 and run around in the map :P
Archomeda
@Archomeda
Mar 28 2017 23:33

Returns the name of the file represented by a File object. For security reasons, the path is excluded from this property.

yup no path

even if you had the path, I don't think you can put that into the <input> element
Archomeda
@Archomeda
Mar 28 2017 23:33
true
darthmaim
@darthmaim
Mar 28 2017 23:34
the browser could just remember the last path opened per origin and prefill the open file dialog
Archomeda
@Archomeda
Mar 28 2017 23:34
do you know by any chance when old files get removed from the cdn?
otherwise it seems like it has more than 500GB stored
because of constant patches
JC123
@JC123
Mar 28 2017 23:34
they get purged eventually never bothered to figure out how long it takes
Archomeda
@Archomeda
Mar 28 2017 23:35
well, at least there won't be any stale data in the end that isn't used anymore
and now i realize that having a fallback for non-existent diff urls is actually quite logical
why did i not think of that 2 years ago
:sob:
Eearslya Sleiarion
@Eearslya
Mar 28 2017 23:41
So is it just coincidence that the build number resolved to a valid file ID?
darthmaim
@darthmaim
Mar 28 2017 23:41
yes
Archomeda
@Archomeda
Mar 28 2017 23:41
4101 is the first valid file i think
i think it's the very first live manifest
Archomeda
@Archomeda
Mar 28 2017 23:56
urgh, i still want to figure out that diffing algorithm
A3 13 50 12 is not a known file signature either according to google :(
which file?
4101?