stream-adventure websockets solution