- Download asset instead of use hardcoded one
- Handle ptc logins
- Remove hardcoded download urls
- Handle asset download session timeout
This commit is contained in:
Felix
2016-08-17 12:40:41 +02:00
parent 43b10ebdf8
commit eba199a240
13 changed files with 120 additions and 1656 deletions

View File

@@ -1,334 +0,0 @@
c
5030a3476-668a-47fb-95ed-2bcfc5c15637/1467338129695000pm0094<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%%<25>A(<28><>2
<0C>M퓯<4D><ED93AF>2<>G"<22><>
c
50425019c-3e6a-4317-960d-2e7324b3e744/1467337885130000pm0002<18><><EFBFBD>˓<EFBFBD><CB93>%<25>W;K(<28><> 2$s<>'S<><53><EFBFBD>g<EFBFBD><67>jh<6A><68>?
c
5075f80e6-760e-4553-96ef-6e117b933969/1467337919227000pm0015<18><><EFBFBD>ۓ<EFBFBD><DB93>%M<><4D>(<28><>2<10><>k<EFBFBD><6B><EFBFBD>UjK<><15>hcn
c
50788eb46-368c-480c-bec2-f9709a25caf0/1467338000489000pm0045<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>Gt<47>(<28><>2l<><6C>%<06><><EFBFBD><EFBFBD><1E>>Y<>j1
c
509493d46-29b4-476d-8b4d-fdb152251ec6/1467338194462000pm0120<18><><EFBFBD>ޔ<EFBFBD><DE94>%cOd(<28><>2o]<5D><>ס"<22><>k┄!8<>
c
50bd50fd0-3d5f-4a1c-98af-88b6ec74a1bd/1467337882194000pm0001Р<>ɓ<EFBFBD><C993>%'c<>(<28><> 2<10><>k<EFBFBD><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>݃%<25>ب
c
50d68da6c-ab76-4c31-b3df-4068a8764a12/1467338113910000pm0088<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>#[n(<28><>42<10><>k0<6B><30><EFBFBD><EFBFBD>&oH<6F> <09><>
c
50ddf030f-2060-4982-a31c-6b90bcc36918/1467337909222000pm0011<18><><EFBFBD>֓<EFBFBD><D693>%
Z<EFBFBD><EFBFBD> 2<10>Go <20>1G?%<25><>-`kr<6B>
c
50fc10c28-3391-496b-bf21-4998855cc68d/1467338266042000pm0147<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%E<>9#(<28><>24<><34>gܻo<6F><7F><EFBFBD><0E><><EFBFBD>r
c
510531b61-bb47-41d2-8a8e-1d1639112419/1467337976073000pm0036<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%І<>@(<28><>2<10>i<EFBFBD>-<2D>!<21><03><>1+<04><>
c
510d55042-2573-4150-881d-24ce2104c821/1467338091293000pm0079<18><>ɭ<EFBFBD><C9AD><EFBFBD>%<25><>lp(<28><>2<0E><><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD><71>9<17>e?<3F>
c
5113c720a-2bac-4417-b1cf-e095b7ded5f9/1467338069977000pm0071<18>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>%<1A><>x(Ų)2<10>t<EFBFBD><74>?<17>`?<3F>d<EFBFBD><64><EFBFBD>8<EFBFBD>
c
513cfc96d-78a5-4c2e-b7da-bcb12b96aaf8/1467338174844000pm0112<18><><EFBFBD>Ք<EFBFBD><D594>%<25>4<EFBFBD>(<28><>2]<5D><>
<EFBFBD>y!<21>K<><4B><EFBFBD>ʹ
c
5144e2ec2-4ce6-4c0c-8fca-fa7e2ae3322c/1467338268569000pm0148<18>ۍ<EFBFBD><DB8D><EFBFBD><EFBFBD>%<25>Z<12>(<28><>2Z<>*X<>nca<1C>/Ch<>}
c
51512005a-ca80-443d-b1e3-db95bb786718/1467337987049000pm0040<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%:<3A>(<28><>2<16><6A><03>?<3F>,<2C>
c
517e94739-b461-45b2-bba2-254e8b6ebe0e/1467337899180000pm0007<18><><EFBFBD>ѓ<EFBFBD><D193>%<25>jX<6A>(<28><>2<10>,<2C><><EFBFBD><EFBFBD><EFBFBD>`]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y
c
5192d950c-765e-426c-8861-f60d0f7883f3/1467338008565000pm0048<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%mli<6C>(<28><>2he<68><<3C><><EFBFBD>:<3A>k<EFBFBD><6B>ǟp<C79F>
c
51a8d8b21-83e5-47e9-8d80-9523f3ad202d/1467337964453000pm0032<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%.<2E><>%(<28><>2m<><6D><EFBFBD>J3<4A><33><EFBFBD><EFBFBD>LQ!<21>
c
51cab52c2-fd34-42f5-81fb-160d559ec52c/1467338086041000pm0077<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%@5s<35>(Ž*2<13>3<EFBFBD>Jw<4A>H>V5!i<>
c
51de61775-066c-467b-9d15-bba848613582/1467338189393000pm0118蘭ܔ<E898AD><DC94>%H<><48>B(<28><>2<10><><EFBFBD><EFBFBD>&<26> Zw<5A>"<22>,<2C>r
c
51e15c63a-9a35-4089-b89e-ac43a7acd75f/1467337951277000pm0027<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%6|<7C>O(<28><>2]>^<5E><><EFBFBD>#<23><>><3E><EFBFBD><7F>[<5B>
c
51e4961be-4396-42ee-b40d-1a2fb5ec5a80/1467337971773000pm0035<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%M<><4D>2<10>WszS(<28><><16>,l<> <20>u
c
51e564e4d-a0ff-44fb-928a-23c0f1f5848a/1467337958911000pm0030<18>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>%|<7C>;<3B>(<28><>27G<37>5<13>gg<17>e<8<><38>
c
522104024-0f79-4adb-9b0e-c710e0a7301f/1467338229269000pm0133<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>t<05>(<28><>!2Q<07> <0C><><EFBFBD><EFBFBD><11>;<3B><><17><>
c
5253d320c-a865-4dac-b7fc-65b48f51104c/1467338202540000pm0123<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%|)<29><>28$<24>)<29><><EFBFBD>g><3E><>]ܮ"
c
52727cac4-4bfe-4021-b15f-01e4ac5b66a3/1467337916776000pm0014<18><><EFBFBD>ړ<EFBFBD><DA93>%邬j(<28><>
2<10><>ȒaE<61>9&s^<5E>-<2D>
c
52a17e985-e3be-4e32-bebd-3d9c21a080bc/1467338205053000pm0124Ȁ<><C880><EFBFBD><EFBFBD><EFBFBD>%<25>+Z(<28><>/2<10>9(T<>х<14><>&<26><><EFBFBD>Q
c
52b57e336-fd00-4f4b-9ff8-fe0b39c1b2ad/1467338213134000pm0127<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%,*U<>(<28><>2<1C><><EFBFBD><EFBFBD>Wk#e`<60>Z;
c
52f001c1d-5f65-416a-a062-bbd53b5dcc36/1467338052077000pm0064ȋ<><C88B><EFBFBD><EFBFBD><EFBFBD>%B<>TR(՘2<10>r㭏w֗zV<7A><56>l<|<7C>
c
52fbef411-bc29-44c4-b988-fb2b37227082/1467338172347000pm0111<18><><EFBFBD>Ԕ<EFBFBD><D494>% v_(<28><>2<10><10><>z6<7A><36>Re<52>5fD<66>
c
53106cff7-3cbb-488b-87de-851782cf7514/1467338096154000pm0081<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%b<>l(<28><>
2<10>`<60><><EFBFBD><EFBFBD> \( <20>T<EFBFBD><54><08>
c
531e4001a-6636-4e37-8f4f-83ec44efabaf/1467337984615000pm0039<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%!ě<>(<28><>2<10><06>E<1A>r<EFBFBD><72>|}&<26><>
c
5324622df-707d-4916-8498-427306552469/1467338098389000pm0082<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><>;<3B>(<28><>2bE<62>><3E>2<EFBFBD>x<EFBFBD><78><EFBFBD>`<60><>"<22>
c
5373af218-ca36-4648-a72b-b0f7ae8bf2e9/1467338135579000pm0096<18><><EFBFBD>”<EFBFBD><C294>%"<13>(<28><> 2<15><> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><13>>I
c
53918f249-3ad9-4dee-a073-9d1ecada65d1/1467338240434000pm0137о<><D0BE><EFBFBD><EFBFBD><EFBFBD>%<25><01>q(<28><>2<10><>򿭸<EFBFBD><F2BFADB8><EFBFBD> <20><>b<EFBFBD>-<2D>
c
53a5b0f0a-bfac-4009-a263-60f5cbd52a0f/1467337904532000pm0009<18><><EFBFBD>ԓ<EFBFBD><D493>%<25><>K(<28><>#2q<><71>ʯ:h@~<7E><><EFBFBD><13>
c
53c50d5e8-a587-42a6-bb9b-37fba81cf199/1467338020497000pm0052<18><><EFBFBD><E88B94>%*0<>I(<28><>2%9<><39><EFBFBD><11>0<EFBFBD>!<21>~ q%
c
53c75b9ce-d9c0-4646-b175-fe25f1dc9d9d/1467338207442000pm0125<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%[˟ (<28><>"2z{<7B>~<7E><>f<>\--<2D><><EFBFBD>
c
53d1a2fbe-0223-488c-a0f0-aca878917bf4/1467337997895000pm0044؊<><D88A><EFBFBD><EFBFBD><EFBFBD>%<25>{<7B>+(ŗ2<10> <0C>?pF<70>><3E><>[<5B>8<EFBFBD><38>
c
53d3f7e51-d1a2-4697-9644-5c935e781b8f/1467338011578000pm0049<18><>ȇ<EFBFBD><C887><EFBFBD>%<25><><EFBFBD>M(<28><>2<10><><EFBFBD><EFBFBD>r<><72><EFBFBD>)_<>F?
c
5445b414e-c2ac-4e4f-b038-d4370e0f0197/1467337961777000pm0031<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%#<23>O<EFBFBD>(<28><>2<10>+q<><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>iT
c
54d9a5912-a0f7-4bb2-8248-b0021e54d471/1467338165109000pm0108<18><><EFBFBD>Д<EFBFBD><D094>%<25>&*O(<28><>2<10><)<29>J<EFBFBD>88E+<2B>Mk<4D><6B>"
c
54fbc5a41-fa6f-4b6a-aaa1-19028c3d80ff/1467338177160000pm0113<18><><EFBFBD>֔<EFBFBD><D694>%Ϗ<>(<28><>25<><35><EFBFBD>Me[E<><45><EFBFBD>J<EFBFBD><4A>
<EFBFBD>
c
55052b740-eb53-4d43-b626-7a8446c209a4/1467338044503000pm0061<18><EFBFBD><E7A197><EFBFBD>%<25><><EFBFBD>~(<28><>2&<26>+<2B>^\<5C><02><><03>x<EFBFBD><78><EFBFBD>
c
5509a4b03-21bb-4648-8ec9-13acaa6acd2a/1467338248318000pm0140<18>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>%<25><><EFBFBD><EFBFBD>2<50>`:<3A>,<2C>W<EFBFBD><57><EFBFBD>KG
c
55150fb96-23b5-4e13-b700-14d34a91c609/1467338002945000pm0046<><E8A7B9><EFBFBD><EFBFBD>%<25>n<EFBFBD>5(<28><>2<10><><EFBFBD>wO<77>™<><C299><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c
5539ce0fa-01f9-4800-b3f5-52ea25038c6e/1467337943229000pm0024<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%7<>2<10> <20>*<2A>u괋<75><EAB48B>{ <20><>
c
553b9b877-3496-499f-9268-f493fe6fb423/1467338215957000pm0128<18>Ă<EFBFBD><C482><EFBFBD><EFBFBD>%<25><>Ԃ(<28><>!2<10> v$<24>0n<05><>Q<EFBFBD>(4<><34>
c
5586bafd6-675a-4799-9ea3-529f205db205/1467338046999000pm0062ؓ<><D893><EFBFBD><EFBFBD><EFBFBD>%$<24>(<28><>2<10>^<1D>~{o<><6F><EFBFBD>;<3B>ݐ<EFBFBD>
c
55a1ad400-947b-468f-aff5-4ee74b488da1/1467338162694000pm0107<18><><EFBFBD>ϔ<EFBFBD><CF94>%<25>_<>(<28><>2W<> <09><>}<7D><>R<EFBFBD><52>i<EFBFBD>m<EFBFBD>N
c
55be4c90f-8b4b-49ce-92a1-6e1ffd591fda/1467338152232000pm0103<18><><EFBFBD>ʔ<EFBFBD><CA94>%)<29>D(<28><>#2<10><>xb#<23><>@<40><><EFBFBD>y<EFBFBD><79>l
c
55c0a5e50-9ea2-4a9a-b450-313faa60fc30/1467337906920000pm0010<18><><EFBFBD>Փ<EFBFBD><D593>%<25><>,<2C>(<28><>
2*<2A>SD<53>
<EFBFBD><03><03>m<EFBFBD><6D><12>
c
55cbcb961-13dc-440c-a474-50212e6ff120/1467338119418000pm0090<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%@<40><>(<28><>2<10><>P <0B>
VL<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DT<44>
c
55f96120d-3c3d-49f0-9e37-a32ea310c90f/1467338179500000pm0114<18><><EFBFBD>ה<EFBFBD><D794>%<25>L<EFBFBD><4C>(<28><>2+<2B><><EFBFBD>F<EFBFBD><46>}E1<45>5Tc<54>?
c
560f5f204-b8ef-4ebe-9bdd-e22f5e201ac6/1467338080582000pm0075<18>򻨔<EFBFBD><F2BBA894>%<25><><EFBFBD> (<28><>2I_<49> V@"]`<60>͗<EFBFBD><CD97>}<7D>
c
5656e67b5-45c5-4a97-bf61-ccd460fd0711/1467338026213000pm0054<18><>Ŏ<EFBFBD><C58E><EFBFBD>%<25><> <20>(<28><>2v)q<><71><05><><EFBFBD> <20><0F><>y
c
565c79d4f-ce78-492f-9f44-39a387e8e06d/1467337935414000pm0021<18>ş<EFBFBD><C59F><EFBFBD><EFBFBD>%<25>gϏ(<28><>2<10><><17><>r`fΚ<66>!<21>y<EFBFBD>i
c
56650afba-2aa8-45b3-874c-e54983595633/1467338088555000pm0078<18>â<EFBFBD><C3A2><EFBFBD><EFBFBD>%'V<><56>(շ;2˼<><CBBC>6A <20>;PmDK<44>
c
5668a3f63-9fd5-41b4-9964-532f467ad1c4/1467338039593000pm0059<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><14>?(<28><>)2<11><>Ԙ<EFBFBD>ޝ<EFBFBD>R;<3B>6<EFBFBD>W<EFBFBD>
c
567bd4c6f-dcff-4f03-b90b-4a3713284945/1467337932685000pm0020<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><>
<EFBFBD>(<28><> 2!k@e<>Ey<45>Vp<01>)<29>
c
568d7da67-b04a-43e8-82bf-6b5b414c5c15/1467338157779000pm0105<18>У͔<D0A3><CD94>%<25>T<>(<28><>22<>tE<74><11>6/<2F> <20>3<EFBFBD><33>&
c
56a30858b-c6a8-4e4c-a353-4cfc8f4433d4/1467338167524000pm0109<18><><EFBFBD>є<EFBFBD><D194>%<25><><EFBFBD><EFBFBD>(<28><>2<11><>4<EFBFBD>O<EFBFBD><4F> <20>Y<0E><><EFBFBD><EFBFBD>
c
56a7f5aad-3513-4a84-b106-d1e739929e7c/1467338160277000pm0106<18><><EFBFBD>Δ<EFBFBD><CE94>%;혶(<28><>2Z*<2A>Y<EFBFBD>e<EFBFBD><65><EFBFBD>$`+<07>
c
56d2993b7-7fb3-43b2-8a33-0605c11b0f22/1467338124329000pm0092<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>TcY(<28><>
2܄<> <09>}<7D>b
<EFBFBD><EFBFBD>/<17><1C>
c
56e6b531b-e153-4f70-831a-afed68fdafdb/1467337992497000pm0042<18>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>%<25>+<2B><>(<28><>2<10><04><>pv^<5E><><EFBFBD><14><><EFBFBD>
c
56f941a3b-9802-4357-bc8e-b5e5dbec4c15/1467338258380000pm0144<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>`Q<>(Վ(2?<3F>s<EFBFBD>.9<EFBFBD><EFBFBD><EFBFBD>zA5<41>l
c
57085574b-c71c-41f4-a698-9099b00bb8e7/1467338263523000pm0146<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>&<26>W(<28><>/2t<>
<EFBFBD><EFBFBD>r&MH;<3B><><EFBFBD><EFBFBD><EFBFBD>
c
571adbf99-2bd1-441f-91b4-ae9a1a8150d6/1467338145315000pm0100<18><><EFBFBD>ǔ<EFBFBD><C794>%<25>J<EFBFBD>>(<28><> 2<03>O<EFBFBD>Ĥ<>9`<60>~R<03>
c
575f18b3a-b8ce-43f4-a964-3d6f634a9ffb/1467338067552000pm0070<18>Π<EFBFBD><CEA0><EFBFBD><EFBFBD>% <0C><>(<28><>
2<10>OE<4F>΀b<03>ɳb<C9B3><62><EFBFBD>
c
5761bb130-8d7e-49fa-b8f0-9350cfec3b75/1467337966785000pm0033<><E8A39A><EFBFBD><EFBFBD>%X<58>(<28><>2<10><><EFBFBD>ē<EFBFBD>BuT{<7B>'<27>B<EFBFBD>
c
57b212dc7-0fe9-4ffd-b817-f84f8c736c1e/1467337995444000pm0043<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>hZ0(ő2<10><>n-<2D><><EFBFBD>N<EFBFBD>><3E>۹0<DBB9>
c
57e362dac-1743-49e9-a8e2-090b179d7554/1467338186871000pm0117ء<>۔<EFBFBD><DB94>%V<17><>(<28><>2I<><49>I<EFBFBD>y☌Ǒ<><C791>p<EFBFBD>
c
57e8de255-1002-4a48-9f5a-84f9fd5510f0/1467338126821000pm0093<18><>¾<EFBFBD><C2BE><EFBFBD>%<25>%<25>*(<28><>2h`<60><>q,)<29>B<1E>r<EFBFBD><72>#<23>
c
57fd908f9-dc2a-44a5-81fd-ebb5b8092b75/1467337927308000pm0018<18><><EFBFBD>ߓ<EFBFBD><DF93>%Z<><5A><EFBFBD>(<28><>%2<10><>O3<4F>]w}<7D><1D>Q<EFBFBD>݃<EFBFBD>
c
582749335-10dc-4c1f-8fae-c49f4bfb852a/1467338142911000pm0099<18><><EFBFBD>Ɣ<EFBFBD><C694>%<25><>F<EFBFBD>(<28><>2<10><><EFBFBD><EFBFBD>A<EFBFBD>G<EFBFBD><47><EFBFBD>x<>x<EFBFBD><78>
c
583086d0b-cd24-4d3f-9bb3-f749c7e650db/1467337945855000pm0025<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>.)(<28><>2<04>ݞ<EFBFBD>
$b<><62><EFBFBD><EFBFBD> <0C>s
c
5849a5f10-3566-4614-984e-b80ed981cd8a/1467338234893000pm0135ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD>%<25> <09><>(<28><>#2<10><><EFBFBD>,Jq,<2C><><EFBFBD>`<60><><EFBFBD>ǘ
c
5867591c6-7692-42d4-a0a8-4222f23b7862/1467338093814000pm0080<18><><EFBFBD><E3AE94>%ݖxY(<28><>2GW<>R_<52><5F><EFBFBD><EFBFBD>fJ<66><4A>C<EFBFBD>
c
58677857d-a049-4da0-930c-66368372b8a9/1467337981363000pm0038<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><>y(<28><>/27<>vi<76>"t<>ZY<5A>><19>_<EFBFBD>
c
586c68f51-75a7-460b-9874-b3b3b21305b0/1467338181900000pm0115<18><><EFBFBD>ؔ<EFBFBD><D894>%<25>
g7(<28><>"2<13>_v<5F>ȟ<>E/~];4v
c
586f48900-288a-4ec4-be07-2f3594bd3e4b/1467338034062000pm0057<18>Ť<EFBFBD><C5A4><EFBFBD><EFBFBD>%^<5E>W4(<28><>2Jl<01>r<EFBFBD>\At<41>hʭ<><CAAD>
c
5872f637f-ff47-42de-a3c1-6d3b59f27462/1467338138100000pm0097<18><><EFBFBD>Ô<EFBFBD><C394>%o`<60><>(<28><>2?<3F>B<EFBFBD>CߚҞY,<2C><01>
c
588cac46d-1a49-4856-b032-1aebd7c6b381/1467337896420000pm0006<18><><EFBFBD>Г<EFBFBD><D093>%t<04>n(<28><>"2<15> /W<>R<EFBFBD>R<1F>a`,
c
58cc5523b-411e-46fd-a9e5-ff23a99a3ab8/1467338100922000pm0083<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>;ޓ(<28><>2<10>:<3A><>7<EFBFBD>W\<5C>Y<EFBFBD><59><EFBFBD>n<7F>
c
590f8eb5d-c398-4e9e-a53d-82c6367521db/1467338255908000pm0143<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%v1<>(<28><>2<10>VfC<66>+E<><45>1{g<07>d
c
591bf0b0e-f0b9-44cf-bc2d-aae6521238aa/1467338017489000pm0051<><E880B1><EFBFBD><EFBFBD>%<25><>p<EFBFBD>(<28><>2.<2E>v<1B>A<EFBFBD>C#ʲj<CAB2>Zq
c
59204b839-1500-4081-9636-92da623bc180/1467338036790000pm0058<18><>˓<EFBFBD><CB93><EFBFBD>%P*<2A>V(<28><>'2<1C><>ȬT<C8AC><54><EFBFBD>8#w&<26>K
c
595f269e8-dcbf-4b44-b119-3778a3ca01a8/1467338116951000pm0089<18><><EFBFBD><E7B994>%<25><><EFBFBD><EFBFBD>(<28><>;2<10>a>y<><79><EFBFBD><11><>c<><63>=
c
59649e04b-ccd8-4b1c-b066-cc75ed4c0976/1467338147687000pm0101<18>ԻȔ<D4BB><C894>%%<25>0<EFBFBD>(<28><>
2<08><><EFBFBD>eϔ*<2A><><EFBFBD>Y{
c
59782fac9-55ef-4e4d-be9a-81817056c1cb/1467337940860000pm0023<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%2okM(<28><>2 <09><>iBA<42>2y\<5C>tUd
c
59798a501-8ad0-485f-8cd4-709551b3758d/1467337969283000pm0034<18>߲<EFBFBD><DFB2><EFBFBD><EFBFBD>%<25><>̶(<28><>2<10>~<7E><><EFBFBD>tk[WW<57><57><EFBFBD><0F>>
c
5982db0ce-e85c-4991-a7ea-c6bfc431d6df/1467338232272000pm0134<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%6<><1C>(<28><>2<10>WR<57>?<3F><><EFBFBD> C<>]<5D><>}
c
59a7d43d7-f59e-4187-8fe5-d9b51512f73b/1467338149748000pm0102<18><><EFBFBD>ɔ<EFBFBD><C994>%ᐕL(<28><>2?<3F>g<EFBFBD><67>V<EFBFBD>y8j<38><6A>I<EFBFBD>c
c
59f845f0c-f0b5-4c54-bc6a-de6b3724dac6/1467337978708000pm0037<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><><EFBFBD><EFBFBD>(<28><>2<1E>J<EFBFBD><4A>[c&<26><><EFBFBD>[<5B><><EFBFBD>
c
59ffa2321-4d32-49d3-925e-655eb95b1dab/1467338062038000pm0068<18><>П<EFBFBD><D09F><EFBFBD><>+(<28><>-2<03>P%<25>61[<5B><12><10><>B
c
5a2199b3b-8e52-4cdb-b6a6-fb24cc682d03/1467338140520000pm0098<18><><EFBFBD>Ŕ<EFBFBD><C594>%<1B><>(<28><>2><3E>I<EFBFBD><49><EFBFBD><EFBFBD>V<><56>e <20>ܱ
c
5a3ce2768-59fd-4bd4-8401-91fdae046c41/1467338014401000pm0050<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%!!>6(<28><>
2<10>V<EFBFBD>u<EFBFBD>gA<><41><EFBFBD><01>?<3F>
c
5a3fafe10-33e1-43f1-8535-711d81918852/1467338108798000pm0086<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%^&<26>(<28><>2e2<65><04><>g
<1E><>q<EFBFBD>
c
5a6d5d201-4e4c-4d71-9319-56f62e25882f/1467338054656000pm0065<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>=<3D><(<28><>$2<10><><16><><EFBFBD><EFBFBD>Ěs<C49A><73><EFBFBD><EFBFBD>ݓ
c
5a6eb9e98-0aa3-48bb-998a-6b329801b2ad/1467337911447000pm0012<18><><EFBFBD>ד<EFBFBD><D793>%<25><>Hn(<28><>2<13>#9>4<><34>CϔXL<58><4C><EFBFBD>
c
5a7083104-fe2b-44c9-9155-4decaababcfc/1467338271291000pm0149<18><EFBFBD><ECB383><EFBFBD>%<07>q<EFBFBD>(<28><>2<10>mU<6D>H75<37>c<EFBFBD>>C<>yf<79>
c
5a915ef31-bbfb-4fc9-a035-fdc38bd58a24/1467337930032000pm0019<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25> <0C><>(զ20<>HЖ/<10><>e6kJ<6B><4A><EFBFBD>
c
5a9d06dc8-0750-4629-bc8f-9a11345b558f/1467337948760000pm0026<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%
<EFBFBD>(<28><>#2<10>^
?j<><6A><EFBFBD><EFBFBD>C<14>Ƈ<EFBFBD>
c
5ae51a22a-731b-49d2-950e-449fa67f6927/1467338192115000pm0119<18><><EFBFBD>ݔ<EFBFBD><DD94>%<25>yA<79>(<28><>2<1C><>3<EFBFBD><33><EFBFBD>J<EFBFBD><4A><EFBFBD><05><02>
c
5b1ff5ff8-1824-4d58-8cc7-29935f3bc4c6/1467337953914000pm0028<18>و<EFBFBD><D988><EFBFBD><EFBFBD>%<25><>~=(<28><>2O5ǒ+<2B><>%:O<>U<>
c
5b446137a-d9b4-4d0b-b70f-f0b0b7e289e8/1467337901908000pm0008<18><><EFBFBD>ӓ<EFBFBD><D393>%_<>(<28><>2<10>?#.5<EFBFBD><EFBFBD>_Ӊ:<3A><>
c
5b4fedf0e-bfd0-42c9-b264-6730b279bd1c/1467338111327000pm0087<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25> <0C> (<28><>2<10>Rt+<2B><>TQ<1C><>/<2F>(E<>
c
5b621414f-3577-4b98-b082-67c308be6bef/1467338028928000pm0055<18><><EFBFBD><EB8F94>%<07>d*(<28><>2<10> <20><>{<7B>/_Mc<4D><63>ۜ Q
c
5b641049d-2f98-4b2d-9a6d-002d881c1baf/1467338049783000pm0063؉䙔<D889><E49994>%<1E>=;(<28><>2<10>"!!B<><42>0<EFBFBD>#O!<21><><05>
c
5b8ee4922-043e-428f-badc-29086d57e469/1467338106393000pm0085<18><><EFBFBD><E3B494>%<25><><EFBFBD><EFBFBD>(<28><>'2<10><06>s<>c<EFBFBD>O<EFBFBD>Y<EFBFBD>T<EFBFBD>0
c
5bd1d3e66-2bee-4d16-92c1-a8a4379b5450/1467338250695000pm0141<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%Uns.(<28><>2$<24>o'M<><4D><EFBFBD><EFBFBD> 5<11>
c
5be18774d-1d92-42eb-8115-fe9188b396be/1467338169880000pm0110<18><><EFBFBD>Ӕ<EFBFBD><D394>%<25><0F>(<28><>2<10><>7F,<2C>]h<>M<><4D><EFBFBD>
c
5be947b4a-0ed8-46de-a204-b72527691591/1467338005667000pm0047<18><>߄<EFBFBD><DF84><EFBFBD>%<25>gz!(<28><>2%$<24>DF¯<46>6<EFBFBD><36><06><>\<5C>
c
5c181116c-751a-486f-b0b4-b011a8185896/1467338155179000pm0104<18><><EFBFBD>̔<EFBFBD><CC94>%<25><>݀(<28><>2<10><><EFBFBD><16>%<25><>ua<>v<EFBFBD><76>h
c
5c202565e-effb-41bd-8c5a-af3cd7c2eaf3/1467338276561000pm0151<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><19>c(<28><>2>i<>n6v>y}<7D>ɬ
c
5c2fcd247-eb50-4aff-a1f6-986efc110547/1467338078050000pm0074Э<><D0AD><EFBFBD><EFBFBD><EFBFBD>%<25>Đ<EFBFBD>(<28><>2!%<1F>Գ<EFBFBD><D4B3>8EKr]
c
5c3fa7137-ad8e-4bcf-afde-420236d60577/1467337914235000pm0013<18><><EFBFBD>ٓ<EFBFBD><D993>%%!<21><>(<28><>
2<10>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>.<2E><>baM<61>ʅ
c
5c6348525-ea4e-4b89-a3ed-6a8c65dc74bf/1467338121786000pm0091<18><EFBFBD><E58EBC><EFBFBD>%<06><>(<28><>2 <14>4
<EFBFBD>;7AH4<48>j@<40>
c
5c8d5aa13-d467-4564-97d7-ea5d51b1f4bf/1467338184556000pm0116<18><><EFBFBD>ڔ<EFBFBD><DA94>%<25><><EFBFBD><EFBFBD>2<10>w<EFBFBD><77><17><><EFBFBD><EFBFBD>%<25>lI<6C><01>
c
5c8e96216-f9cd-4982-94f9-c41f0e0494b2/1467338065163000pm0069<18><EFBFBD><E58EA1><EFBFBD>%|0ZX(<28><>2<10>-<2D><A<7F>+<2B>L<EFBFBD><4C>d<EFBFBD><17>
c
5c918d441-8f37-4155-b824-0ed67f64cb5b/1467338237623000pm0136<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><>)N(Ů#21<15>>IQ<>
<EFBFBD><EFBFBD>S<EFBFBD>f<EFBFBD>
c
5ca81f72e-4db5-44c9-a293-087344b9ed2c/1467338226487000pm0132؝<><D89D><EFBFBD><EFBFBD><EFBFBD>%<25>I<EFBFBD><49>(<28><>2<10><>Rj<52>K:<3A>Z<EFBFBD><5A>p <20>
c
5cabf7f29-494e-4ef6-8f8f-0faa1b504316/1467338253248000pm0142<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25>9<EFBFBD><39>(ż!2SJ<53><4A><EFBFBD>UC<05>ħK<C4A7>@<40>
c
5cc508127-5b49-4ca8-9cf7-8201ba4a0c40/1467337887933000pm0003<18><><EFBFBD>̓<EFBFBD><CC93>%<03>;F(<28><>2<10><> <1E><>g<EFBFBD><67><EFBFBD>{Q<>Z<EFBFBD><5A>
c
5ce9f53bb-fb8d-4f6a-bd14-b45e6d8d29b6/1467337921866000pm0016<18><><EFBFBD>ܓ<EFBFBD><DC93>%T<><54><EFBFBD>(<28><>2<10><>p
<EFBFBD><EFBFBD>'l<><6C><EFBFBD>EF=;<3B>
c
5cec1b247-61a2-44ca-a4ca-8ff5563d6c80/1467338031373000pm0056ȵ<><C8B5><EFBFBD><EFBFBD><EFBFBD>%<25>舝(<28><>2<10>jD<6A>"<22>OSڦe<DAA6>6><3E>
c
5cf10bb9b-cde8-40b4-b48f-8cf7250ccb8f/1467338260989000pm0145Ȉ<><C888><EFBFBD><EFBFBD><EFBFBD>%c,(<28><> 2u P <20>GM<47>v<EFBFBD>9w~
c
5d31f77fd-da42-4b98-807d-578b3297a155/1467338132818000pm0095А<><D090><EFBFBD><EFBFBD><EFBFBD>%<25><>a<EFBFBD>(<28><>2<10>Q<15><><EFBFBD>P<EFBFBD><0F><><EFBFBD>#<23><><EFBFBD>
c
5d449b9b0-2f5b-4148-9de5-a7cc45483d39/1467338057204000pm0066<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>5(<28><>2<10><>
<EFBFBD><EFBFBD>t<EFBFBD>S<EFBFBD>]<5D>i<EFBFBD><69>><3E>
c
5d86c65f7-d521-4aa1-9324-d2690d8a61a0/1467337989725000pm0041ȶ<><C8B6><EFBFBD><EFBFBD><EFBFBD>%<25>Ӆq(<28><>2<10>S<1E> <20>4<EFBFBD><08><><EFBFBD>^J
c
5d9e0e2c6-eead-4037-b387-b004446ae72e/1467338218551000pm0129<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%~<7E>k:(<28><>2<10>= <0B>.<2E>=<3D><>.<2E>u<EFBFBD><75>L
c
5dcd89218-66fa-4ea3-a549-7d49df98b5d1/1467338199666000pm0122К<><D09A><EFBFBD><EFBFBD><EFBFBD>%<25>j<EFBFBD><6A>(<28><>$2<1E>צ<EFBFBD><D7A6><EFBFBD>+x<><78>GQ<47>
c
5df8ecae4-0e86-4a72-863c-7d77b6616082/1467337893350000pm0005<18><><EFBFBD>ϓ<EFBFBD><CF93>%<25>p<EFBFBD>V(<28><> 2Q# <0B><><EFBFBD>!E<16>|<15><>
c
5e43f5bcd-e16e-47aa-aca3-10f3d1933c6f/1467338042090000pm0060<18>Ď<EFBFBD><C48E><EFBFBD><EFBFBD>%Y<><59>2*7A<>OkG
<EFBFBD>:<3A><>
c
5e5804dfa-9982-4930-8ef3-2a97d09531b3/1467338210041000pm0126<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64>'(<28><>/2u9=2<><32>ު<EFBFBD>x8<78><38><EFBFBD>b
c
5e6e133f7-fd03-458b-90d7-f870346afd9d/1467338075280000pm0073<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%'R<>(<28><>2d
{B<><42>i <0C><>п<EFBFBD>02<30>
c
5eb7ef4bc-25b0-4421-a41e-782c3c22a931/1467338223728000pm0131<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%oE2H(<28><>2<10><>s<EFBFBD>B<>o<EFBFBD>=<3D>
c
5eba66e6c-ae77-4e10-8441-375219929090/1467338072670000pm0072<18><>ؤ<EFBFBD><D8A4><EFBFBD>%E<14>2<14><><EFBFBD>M<EFBFBD>$<24><11>r<EFBFBD>YE<59>r
c
5ebbd93a9-ee72-4a43-bd45-a69d68e52082/1467338245369000pm0139<18>م<EFBFBD><D985><EFBFBD><EFBFBD>%<25><><EFBFBD>u(<28><>2~v<><76><EFBFBD><EFBFBD>'<27> <09>'<27>`J
c
5ecc76b6a-25de-4aa8-a5f0-2c1271986c9c/1467337938081000pm0022<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%Y<><59><EFBFBD>(Ŵ*2<10><>/ZEL<45><4C><08><><1D>4<EFBFBD>
c
5ece95758-618b-40f4-92b8-97015de97e12/1467338083406000pm0076<18><><EFBFBD><E8A994>%<25>v<EFBFBD>J(<28><>#2Uu]<5D><>Y&<26>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD>
c
5ed66ce66-3013-4a4e-99ea-564351cdddd1/1467338023538000pm0053К<><D09A><EFBFBD><EFBFBD><EFBFBD>%<25><><EFBFBD><EFBFBD>(<28><>2h@<40>k<><6B><18>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD>
c
5ef4b7240-51a4-4e6a-aba2-c50b3db87e8a/1467338220999000pm0130آ<><D8A2><EFBFBD><EFBFBD><EFBFBD>%<25>,u<>(<28><>2<10><>[D˧|<7C>*j!<21>i<EFBFBD>q
c
5f03b2196-af8b-48cc-b908-33726f87c2cb/1467338196940000pm0121<18><><EFBFBD>ߔ<EFBFBD><DF94>%<25>E<EFBFBD>s(ռ2
<EFBFBD>x(<28><><EFBFBD>nylh<6C><18><><EFBFBD>
c
5f1e99bfb-f316-473d-a587-88fbeed3c61d/1467337924726000pm0017<18><><EFBFBD>ޓ<EFBFBD><DE93>%<25><>N7(<28><>2<10>"<22>5<EFBFBD>I<EFBFBD><>G?õn
c
5f2e3b179-4d37-493e-a5ee-2504d8cd4c7f/1467338059623000pm0067<18>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>%5<>c(<28><>2<10><18>UG<55>,q<><71>76<37><01>
c
5f3a3150a-9cf9-4adf-9b9c-1fc1dd88a31a/1467337890581000pm0004<18><><EFBFBD>͓<EFBFBD><CD93>%lΗ(<28><>2<13><15><1C><>^<5E><>Z'b
c
5f65cd1c3-d38c-4eaf-a6d0-731c679a51c9/1467338103657000pm0084<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%,KB<4B>(<28><>2<10>9q%eab<61>M<EFBFBD><<3C><>|,<2C>
c
5f9196986-24e0-4ed6-9ab4-da74c18df074/1467337956406000pm0029<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<1A><><EFBFBD>(<28><>2<10>
<EFBFBD><EFBFBD>̝<>QXS<58>F<EFBFBD><46><EFBFBD>
c
5faab237d-cf8a-4c73-b5fe-4c04a7acb77e/1467338242729000pm0138<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><><EFBFBD><EFBFBD>(<28><>2<>I*j<>Q<EFBFBD>t,<2C>N<
c
5fc7d2574-7176-4c18-ba33-9090a0df84d0/1467338274036000pm0150<18><>ۄ<EFBFBD><DB84><EFBFBD>%<07><><EFBFBD>(<28><>2<10>',[,<2C><><06>o<EFBFBD><6F>V<EFBFBD><<3C><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

6
cfg.js
View File

@@ -12,6 +12,8 @@ export const SERVER_PLAYER_CONNECTION_TIMEOUT = 1e3 * 60 * 30; // 30min
export const SERVER_LOG_REQUESTS = true;
export const SERVER_BOOT_TIMEOUT = 10e3;
export const SERVER_DEFAULT_CONSOLE_COLOR = 32;
// Either mongo or mysql
@@ -27,8 +29,8 @@ export const SERVER_MONGO_COLLECTION_USERS = "users";
export const SERVER_MYSQL_PORT = 3306;
export const SERVER_MYSQL_HOST_IP = "127.0.0.1";
export const SERVER_MYSQL_DB_NAME = "pogosql";
export const SERVER_MYSQL_USERNAME = "USERNAME";
export const SERVER_MYSQL_PASSWORD = "PASSWORD";
export const SERVER_MYSQL_USERNAME = "root";
export const SERVER_MYSQL_PASSWORD = "";
export const SERVER_MYSQL_TABLE = "users";
// account used for pogo-asset-downloader lib

View File

@@ -1,6 +1,6 @@
{
"name": "POGOServer",
"version": "0.2.6",
"version": "0.2.7",
"description": "",
"repository": {
"type": "git",

View File

@@ -86,9 +86,9 @@ class GameServer {
username: CFG.SERVER_POGO_CLIENT_USERNAME,
password: CFG.SERVER_POGO_CLIENT_PASSWORD,
downloadModels: false
}).then(() => {
}).then((asset) => {
this.print("Created asset download session");
resolve();
resolve(asset);
});
});

View File

@@ -1,16 +1,18 @@
import proto from "../proto";
/**
* @param {Object} obj
* @param {Request} req
* @return {Object}
*/
export default function DownloadRemoteConfigVersion(obj) {
export default function DownloadRemoteConfigVersion(req) {
let data = proto.Networking.Requests.Messages.DownloadRemoteConfigVersionMessage.decode(req.request_message.toBuffer());
return (
new proto.Networking.Responses.DownloadRemoteConfigVersionResponse({
result: 1,
item_templates_timestamp_ms: new Date().getTime() * 1e3,
asset_digest_timestamp_ms: new Date().getTime() * 1e3
item_templates_timestamp_ms: 1468540960537,
asset_digest_timestamp_ms: 1468540960527
}).encode()
);

View File

@@ -3,42 +3,53 @@ import proto from "../proto";
import * as CFG from "../../cfg";
/**
* @param {Object} obj
* @param {Request} req
* @return {Object}
*/
export default function DownloadSettings(obj) {
export default function DownloadSettings(req) {
return (
new proto.Networking.Responses.DownloadSettingsResponse({
hash: "2788184af4004004d6ab0740f7632983332106f6",
settings: new proto.Settings.GlobalSettings({
fort_settings: new proto.Settings.FortSettings({
"interaction_range_meters": 40.25098039215686,
"max_total_deployed_pokemon": 10,
"max_player_deployed_pokemon": 1,
"deploy_stamina_multiplier": 8.062745098039215,
"deploy_attack_multiplier": 0,
"far_interaction_range_meters": 1000.0156862745098
}),
map_settings: new proto.Settings.MapSettings({
"pokemon_visible_range": 70.00196078431372,
"poke_nav_range_meters": 751.0156862745098,
"encounter_range_meters": 50.25098039215686,
"get_map_objects_min_refresh_seconds": 10.007843017578125,
"get_map_objects_max_refresh_seconds": 30.01568603515625,
"get_map_objects_min_distance_meters": 10.007843017578125,
"google_maps_api_key": CFG.SERVER_GMAPS_API_KEY
}),
inventory_settings: new proto.Settings.InventorySettings({
"max_pokemon": 1000,
"max_bag_items": 1000,
"base_pokemon": 250,
"base_bag_items": 350,
"base_eggs": 9
}),
minimum_client_version: CFG.MINIMUM_CLIENT_VERSION
})
}).encode()
);
let data = proto.Networking.Requests.Messages.DownloadSettingsMessage.decode(req.request_message.toBuffer());
if (!data.hash.length) {
return (
new proto.Networking.Responses.DownloadSettingsResponse({
hash: "2788184af4004004d6ab0740f7632983332106f6",
settings: new proto.Settings.GlobalSettings({
fort_settings: new proto.Settings.FortSettings({
"interaction_range_meters": 40.25098039215686,
"max_total_deployed_pokemon": 10,
"max_player_deployed_pokemon": 1,
"deploy_stamina_multiplier": 8.062745098039215,
"deploy_attack_multiplier": 0,
"far_interaction_range_meters": 1000.0156862745098
}),
map_settings: new proto.Settings.MapSettings({
"pokemon_visible_range": 70.00196078431372,
"poke_nav_range_meters": 751.0156862745098,
"encounter_range_meters": 50.25098039215686,
"get_map_objects_min_refresh_seconds": 10.007843017578125,
"get_map_objects_max_refresh_seconds": 30.01568603515625,
"get_map_objects_min_distance_meters": 10.007843017578125,
"google_maps_api_key": CFG.SERVER_GMAPS_API_KEY
}),
inventory_settings: new proto.Settings.InventorySettings({
"max_pokemon": 1000,
"max_bag_items": 1000,
"base_pokemon": 250,
"base_bag_items": 350,
"base_eggs": 9
}),
minimum_client_version: CFG.MINIMUM_CLIENT_VERSION
})
}).encode()
);
}
else {
return (
new proto.Networking.Responses.DownloadSettingsResponse({
hash: "2788184af4004004d6ab0740f7632983332106f6"
}).encode()
);
}
}

View File

@@ -3,14 +3,34 @@ import proto from "../proto";
import * as CFG from "../../cfg";
let asset = fs.readFileSync(CFG.ASSET_DIGEST_PATH);
/**
* @param {Request} req
* @return {Object}
*/
export default function GetAssetDigest(req) {
export default function GetAssetDigest(asset, req) {
return (asset);
let data = proto.Networking.Requests.Messages.GetAssetDigestMessage.decode(req.request_message.toBuffer());
let digests = [];
asset.digest.map((item) => {
digests.push(
new proto.Data.AssetDigestEntry({
asset_id: item.getAssetId(),
bundle_name: item.getBundleName(),
version: item.getVersion(),
checksum: item.getChecksum(),
size: item.getSize(),
key: item.getKey()
})
);
});
return (
new proto.Networking.Responses.GetAssetDigestResponse({
timestamp_ms: new Date().getTime() * 1e3,
digest: digests
}).encode()
);
}

View File

@@ -9,7 +9,7 @@ import {
/**
* @return {Object}
*/
export default function GetDownloadUrls(req, download) {
export default function GetDownloadUrls(asset, req, download) {
let data = proto.Networking.Requests.Messages.GetDownloadUrlsMessage.decode(req.request_message.toBuffer());
@@ -17,17 +17,24 @@ export default function GetDownloadUrls(req, download) {
let download_urls = [];
let obj = getDownloadUrlByAssetId(key);
let node = null;
for (node of asset.digest) {
if (node.asset_id === key) {
break;
}
};
return new Promise((resolve) => {
download(key).then((asset) => {
console.log(node);
download_urls.push(
new proto.Data.DownloadUrlEntry({
url: asset[0].asset,
asset_id: key,
size: obj.size,
checksum: obj.checksum
size: parseInt(node.size),
checksum: parseInt(node.checksum)
})
);
let output = (

View File

@@ -33,6 +33,8 @@ export function authenticatePlayer() {
let token = request.auth_info;
// TODO: Support PTC server authentification
if (token.provider === "google") {
if (token.token !== null) {
let decoded = jwtDecode(token.token.contents);
@@ -47,6 +49,11 @@ export function authenticatePlayer() {
return void 0;
}
}
else if (token.provider === "ptc") {
this.print("PTC auth isnt supported yet! Kicking..", 31);
this.removePlayer(player);
return void 0;
}
player.authenticated = true;
@@ -92,6 +99,11 @@ export function onRequest(req, res) {
let request = proto.Networking.Envelopes.RequestEnvelope.decode(req.body);
if (!request.requests.length) {
this.print("Received invalid request!", 31);
return void 0;
}
if (CFG.SERVER_LOG_REQUESTS) {
console.log("#####");
request.requests.map((request) => {

File diff suppressed because it is too large Load Diff

View File

@@ -57,16 +57,16 @@ export function processResponse(request) {
buffer = CheckAwardedBadges();
break;
case REQUEST.DOWNLOAD_SETTINGS:
buffer = DownloadSettings();
buffer = DownloadSettings(request);
break;
case REQUEST.DOWNLOAD_ITEM_TEMPLATES:
buffer = ItemTemplates();
break;
case REQUEST.DOWNLOAD_REMOTE_CONFIG_VERSION:
buffer = DownloadRemoteConfigVersion();
buffer = DownloadRemoteConfigVersion(request);
break;
case REQUEST.GET_ASSET_DIGEST:
buffer = GetAssetDigest(request);
buffer = GetAssetDigest(this.asset, request);
break;
case REQUEST.GET_PLAYER_PROFILE:
buffer = GetPlayerProfile();
@@ -80,7 +80,7 @@ export function processResponse(request) {
return void 0;
break;
case REQUEST.GET_DOWNLOAD_URLS:
GetDownloadUrls(request, this.generateDownloadUrlByAssetId).then((res) => {
GetDownloadUrls(this.asset, request, this.generateDownloadUrlByAssetId).then((res) => {
resolve(res);
});
return void 0;

View File

@@ -6,7 +6,17 @@ export function setup() {
this.print("Booting server..", 33);
this.createAssetDownloadSession().then(() => {
let assetSessionLoaded = false;
setTimeout(() => {
if (!assetSessionLoaded) {
this.print("Boot timeout, please check your login details!", 31);
}
}, CFG.SERVER_BOOT_TIMEOUT);
this.createAssetDownloadSession().then((asset) => {
assetSessionLoaded = true;
this.asset = asset;
this.setupDatabaseConnection().then(() => {
if (CFG.SERVER_PORT < 1) {

View File

@@ -1,6 +1,5 @@
import Long from "long";
import proto from "./proto";
import { DownloadUrls } from "./res";
import * as CFG from "../cfg";
@@ -58,61 +57,6 @@ export function decodeLong(long) {
}
/**
* @param {String} pm
* @return {Object}
*/
export function getDownloadUrl(pm) {
let ii = 0;
let length = DownloadUrls.length;
let node = null;
for (; ii < length; ++ii) {
node = DownloadUrls[ii];
if (node.bundle_name === pm) {
return (node);
}
};
return (null);
}
/**
* @param {String} pm
* @return {Object}
*/
export function getDownloadUrlByAssetId(id) {
let ii = 0;
let length = DownloadUrls.length;
let node = null;
let index = 0;
for (; ii < length; ++ii) {
node = DownloadUrls[ii];
if (node.asset_id.substring(index) === id) {
return (node);
}
};
return (null);
}
export function getGenerationIdByAssetId(asset_id) {
let index = asset_id.lastIndexOf("/") + 1;
return (
parseInt(asset_id.substring(index))
);
}
export function randomRequestId() {
return (
1e18 - Math.floor(Math.random() * 1e18)