RyanEwen / lan-cache-docker

A super simple docker container to run a LAN cache for steam, origin, etc
78 stars 14 forks source link

doesnt work with league of legends #3

Open denis-rakipi opened 6 years ago

denis-rakipi commented 6 years ago

the cache works for blizzard and steam but league of legends crashes during update.

RyanEwen commented 6 years ago

I don't play LoL myself but I'll try and test this out after the weekend.

denis-rakipi commented 6 years ago

after searching around for a while i learnt that league also uses another address for updates

after adding this to the config files it starts working for a while then gives errors all similar in type: etag mismatch in slice response while reading response header from upstream

on the host pc the client starts updating normally and it pulls data from the cache but sometimes it decides to give an error . it says to restart the client to continue the update but it still goes on updating even after the error:

Patching failed and we're not sure why. Please restart the client to try patching again. (Error code 004.)

its just annoying and it starts the update back from 0% reading the cache data again.

server side log example (every other error is similar):

2017/12/04 20:33:40 [error] 9#9: *31 etag mismatch in slice response while reading response header from upstream, client: 192.168.88.244, server: worldwide.l3cdn.riotgames.com, request: "GET /releases/live/projects/lol_game_client/releases/0.0.1.137/packages/files/BIN_0x00000002 HTTP/1.1", subrequest: "/releases/live/projects/lol_game_client/releases/0.0.1.137/packages/files/BIN_0x00000002", upstream: "http://95.107.145.110:80/releases/live/projects/lol_game_client/releases/0.0.1.137/packages/files/BIN_0x00000002", host: "l3cdn.riotgames.com"

maybe its a slicing module problem but im out of ideas. please help.

RyanEwen commented 6 years ago

Can you try putting this into the league nginx conf file?

After proxy_cache_key "league $uri$slice_range"; # $is_args$args add: proxy_hide_header ETag;

denis-rakipi commented 6 years ago

that did cause the error to go away but now it doesn't always serve data from the cache even after fully caching it; goes to 12% from the cache then starts sending GET requests again.

changes i made to fix some stuff: added:

to the league_dnsmasq.config and league_nginx.config

uninstalled:

sudo apt-get purge --auto-remove bind9

because it was blocking tcp port 53 and not letting dnsmasq run as intended.

edit: the league cache folder is only 6.9gb of the 18 gb download size. i think maybe disabling slicing for league might solve the issue but i don't know how to disable it in your setup, if you could help it would be great.

kraveir0 commented 6 years ago

Do you have any follow up on this @RyanEwen ? Also do you have any simple walk trough guide to install this?

RyanEwen commented 6 years ago

I'm sorry I haven't gotten around to working on this particular game.

The readme has a quick-start but for more detailed setup check the Wiki: https://github.com/RyanEwen/lan-cache-docker/wiki/Setup-instructions

denis-rakipi commented 6 years ago

the steamcache generic setting works for everything including league.

RyanEwen commented 6 years ago

Next time I work on this project I will try to find the differences between steamcache generic and this, and close that gap. I don't get to work on this very often, though. Hopefully someone else might find the time sooner than I.

hunterzog commented 5 years ago

the problem persists, some suggestion.