35 Commits

Author SHA1 Message Date
jomo
15a4f17560 add rate limit option for sessionserver
any outgoing requests to the sessionserver
that would exceed the configured rate limit are skipped
to prevent being blocked by CloudFront

if a texture hash is cached but outdated, the cache ttl will be bumped
as if the request succeeded, in order to lower requests in the near future
2020-03-29 07:43:23 +02:00
jomo
dff58c66e7 drop support for usernames
Mojang has disabled their legacy skins API:
https://twitter.com/MojangSupport/status/964511258601865216

With their API rate limits, it's now practially impossible
for us to support usernames.

Fixes #142. The default parameter allows using:

- UUID
- URL
- MHF_Alex
- MHF_Steve
- Alex
- Steve

Contrary to UUIDs, using alex/steve doesn't redirect
and instead provides the skin from a locally stored file.
2018-02-16 18:01:41 +01:00
jomo
3620a63d14 fs.exists is deprecated, switch to fs.access 2016-02-14 20:17:09 +01:00
jomo
0940b50f2c networking.save_texture should return image buffer, not lwip image object
This led to a crash when a cape or skin was not stored on disk.
The function caled skins.save_image and returned that function's lwip image object instead of the expected buffer.
skins.save_image also no longer returns the image object because it's not used anywhere
2016-02-14 17:04:33 +01:00
jomo
c39019074b use cache lookup for username skin types
fixes steve-model renders for usernames on first request after uuid request was made before
2016-01-21 22:12:23 +01:00
jomo
4468b55b4f username request shouldn't set skin model
if it's set to slim (by a uuid request before), that would have been overwritten and set to not slim
2016-01-21 21:54:46 +01:00
jomo
5b1ad851ef mhf_alex is always slim 2016-01-19 23:08:56 +01:00
jomo
fcdb03173a Use UUID's profileName response to update username model type, see #125 2016-01-13 02:15:47 +01:00
jomo
7d02138c1e solve merge conflicts 2015-12-14 01:51:49 +01:00
jomo
3c21a59c94 add support for slim renders, fixes #125, adjust tests 2015-12-13 14:08:59 +01:00
jomo
6e6eff5299 add back missing helpers.js 2015-11-23 03:45:17 +01:00
jomo
abdacdc713 fix rendering of slim arms 2015-11-22 04:18:32 +01:00
jomo
d307aec221 rename helm to overlay, fixes #127 2015-10-18 15:11:17 +02:00
jomo
fd4fb0764c return & use lwip-stripped image in skins.save_image
no need to pass along (possibly) bulky or broken images!
see #147
2015-09-29 23:32:16 +02:00
jomo
c8d74d47be avoid reserved property names (+ test), fixes #145 2015-09-25 19:24:56 +02:00
jomo
26f6b089ef log errors only once, fixes #140
also made sure some (network) errors have level 'WARN'
these are printed without stacktrace
2015-09-20 21:17:13 +02:00
jomo
755cc74170 don't update file dates
this was originally implemented because we wanted to delete the oldest images on disk
where 'oldest' means not *used* for the longest time

that's not useful and was never actually implemented, so we don't need this
2015-08-30 04:48:50 +02:00
jomo
a928952dc4 don't force image directories to be relative 2015-08-20 01:52:01 +02:00
jomo
d0689c9e3b change two more logs to debug 2015-07-17 01:37:26 +02:00
Jake
d71d99fa9a Make a vast majority of logs debug, make it so that essential info is in one line 2015-07-16 17:42:41 -05:00
jomo
34f94bf9b5 get rid of redundant config names #124 2015-06-25 21:19:50 +02:00
Jake
a2e0edc491 Namespace and move config to root directory, closes #124 2015-06-25 13:12:08 -05:00
jomo
288657107e actually store the skin in store_skin, fixes #108; pipe skins & capes through lwip before saving, fixes #121 2015-05-28 01:32:29 +02:00
jomo
01049cb34d rewrite request queue, fixes #118 2015-05-28 00:45:20 +02:00
jomo
2e66e5c794 add missing status for empty capes 2015-04-21 23:46:07 +02:00
jomo
244f90c4c7 fix bug with skin caching that cached capes as non-existent
when using cache.save_hash, an `undefined` skin or cape hash means "do not touch"
while `null` means "overwrite as non-existent"

this was sent to redis after calling /capes/Notch for the first time:

  "hmset" "notch" "c" "3f688e0e699b3d9fe448b5bb50a3a288f9c589762b3dae8308842122dcb81" "t" "1429651244222"
  "hmset" "notch" "s" "a116e69a845e227f7ca1fdde8c357c8c821ebd4ba619382ea4a1f87d4ae94" "c" "" "t" "1429651244235"

as you can see, the first request stores the c(ape) but does not touch the s(kin), whereas the second request
sets the s(kin) and replaces the c(ape) value
2015-04-21 23:34:14 +02:00
jomo
13169be774 use new response module for capes + more
- made sure that get_cape returns a status
- response.js returns 404 if body is empty
- 'X-Storage-Type: undefined' is no longer returned when status is `null`
2015-04-21 23:27:10 +02:00
jomo
8971e3c02b use new response module for renders + bug fixes 2015-04-21 00:57:14 +02:00
jomo
a22454e6e4 Date.now() is faster (and shorter) than new Date().getTime() 2015-03-30 23:56:44 +02:00
jomo
eeb1939235 remove redundant dashes in render filenames 2015-03-27 23:25:08 +01:00
jomo
af03fb63f8 ❤️ eslint 2015-03-27 23:12:44 +01:00
jomo
48c2a55995 cache_err wouldn't be defined 2015-03-27 21:10:13 +01:00
jomo
13360430d9 join logs using , instead of + " " + 2015-03-15 01:57:19 +01:00
jomo
abaf3f77aa add & clean up documentation
also a small improvement for URL error logging, variable naming, and argument joining
2015-03-01 18:58:21 +01:00
jomo
f984b20344 mv modules/ lib/
that's what all the cool kids do
2015-02-27 18:49:39 +01:00