oestrich
Gossip, a cross game (text-based) chat platform
One of the cool things that has spun off of ExVenture is Gossip, located at https://gossip.haus/.
Gossip is a cross game chat platform for text games (aka MUDs.) Gossip uses websockets as the underlying protocol for servers to connect to. The protocol is heavily documented so that anyone can connect their game to.
While Gossip is a Phoenix application, it does not use normal channels so as to not force the Phoenix protocol on to other (possibly non-elixir) applications.
There are some pretty cool websocket things (I think) going on in this project and the corresponding Elixir client that I’ve written, located also on GitHub.
https://github.com/oestrich/gossip
P.S. The name gossip comes from MUDs where the main chat channel was called gossip.
Most Liked
Qqwy
Wooh! Very cool!
i love Multi-User Dungeons and I love what you’ve been building here. I’ll take some time to dig into the internals, because this is exactly my cup 'o tea. Thanks for sharing!
oestrich
Some new updates, Gossip now scrapes older games using the MSSP protocol to get player counts. This was pretty cool to write, there is a simple telnet client that parses out binary telnet options.
I’m also starting to work on achievements. I have the CRUD set up for them, and they’ll push over to Grapevine for display. It’s always really fun to get new things pushing across the backbone sync between Gossip and Grapevine.
Next I’ll be working on unlocking achievements for characters over on Grapevine, the fun part.
oestrich
In the last month Gossip has been merged with and renamed to Grapevine. The split was fairly confusing so while it’s still early I went with combining the two sites.
Other news, I’m working on a general purpose telnet web client for older games. This uses an internal gen_tcp gen_server that processes the possible binary telnet options in the stream and then forwards the text to the web browser. I was also able to keep the session alive between browser reloads with a DynamicSupervisor.
https://s3.amazonaws.com/midmud/images/2019-01-31-grapevine-web-client.png
I also did this on my weekly live coding stream as well if you want to watch the supervisor part in action.
Something I still need to figure out is how to deploy a new release without taking down existing connections. I think this means I need to spin up separate nodes, having all of the telnet connections living on a separate note that rarely needs to be redeployed.
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance










