deathcap / wsmc

WebSocket proxy to Minecraft
33 stars 10 forks source link

Enable websocket compression in wsmc #23

Open deathcap opened 8 years ago

deathcap commented 8 years ago

https://tools.ietf.org/html/rfc7692 Compression Extensions for WebSocket (December 2015) https://www.igvita.com/2013/11/27/configuring-and-optimizing-websocket-compression/

This may allow disabling MC's own packet compression (compressionThreshold). It might also be faster (native browser support vs node deflate) than browserified node-minecraft-protocol's compression. Could also remove the uncompressedDataLength prefix field from the WSMC protocol (varint, 0 = uncompressed; no longer needed at all).

https://www.igvita.com/2013/11/27/configuring-and-optimizing-websocket-compression/#selective - could use this to only compress packets beyond a certain size threshold (just like MC's >256 bytes etc., so smaller (example: position update packets) are not needlessly compressed).

deathcap commented 8 years ago

Browser support:

Request for adding to caniuse (to conveniently track other browser support): https://github.com/Fyrd/caniuse/issues/2216

ws@0.6.0 (https://github.com/websockets/ws/issues/403) supports per-message compression