Retro Hex Chat FAQ

Retro Hex Chat FAQ

Answers to common questions about peer-to-peer calls, self-hosting, server requirements, security, mobile support, contributing, and project sponsorship.

Frequently asked questions
Getting Started

What is P2P?

P2P (peer-to-peer) means data goes directly between users without passing through the chat server. Retro Hex Chat uses WebRTC P2P for private calls, file transfers, and multiplayer game sessions. The server helps users find each other (signaling), then the private session runs browser-to-browser when the network allows it.

What are Spaces?

Spaces are shared 8-bit map views attached to channels and direct messages. You choose an avatar, move around the same conversation, and see chat messages as in-map bubbles. They do not create a separate chat room; they visualize the conversation you are already in.

Are channel conferences P2P?

No. Private 1:1 calls are P2P, but channel conferences use a self-hosted SFU/room server. Each browser sends media to your server, and your server routes streams to the other participants. That makes group calls practical while keeping infrastructure under your control.

Do I need to run my own server?

Not necessarily! You can create an account on any public server. Running your own server is for those who want total control.

Is it free?

Yes, the software is 100% free and open source (MIT). If you run your own server, you only pay for hosting (a $5/month VPS is enough).

How is it different from Discord?

On Discord, your data lives on their servers and your communities can be removed at any time. On Retro Hex Chat, you control your server and database, private sessions can run directly between users via P2P, channel conferences run on your own infrastructure, and the code is open source — you can audit every line.

What if my server goes down?

Your data lives in your PostgreSQL database. Regular backups mean you can restore on any new machine. Active private P2P sessions may keep working through brief server interruptions because they connect directly between users; chat, Spaces, and channel conferences depend on the server and reconnect when it returns.

Is it secure?

Yes. Server connections use HTTPS/WSS with TLS encryption. Private P2P calls use WebRTC transport encryption, channel conferences use WebRTC media through your self-hosted room server, and passwords are hashed with bcrypt. The code is open source, so anyone can audit it.

8 questions
Technical & Community

What technologies are used?

Elixir and Phoenix on the backend, PostgreSQL for data, Phoenix Channels for real-time messaging, Vanilla JS and Canvas for Spaces, WebRTC for private P2P sessions, and a self-hosted SFU for channel conferences. Everything is open source.

How can I contribute?

Check out our contributing guide on GitHub! We accept code, documentation, translation, design, testing, and bug reports. Issues marked “good first issue” are a great place to start.

How can I support financially?

Through GitHub Sponsors. Every contribution, no matter how small, helps keep the project alive and in active development.

Does it work on mobile?

Yes! The interface is responsive and works on any modern browser. Native apps are planned for the future.

Can I use it for my company or team?

Absolutely. Run a private server, create invite-only channels, and keep all your team’s communication on your own infrastructure. No per-seat pricing, no message limits.

How do sessions work?

Each nickname can only have one active session at a time. If you connect from another browser or tab, the previous session is automatically disconnected. If your connection drops, the client attempts to reconnect up to 10 times with exponential backoff. After all attempts fail, the session expires and you’re redirected to the login screen. Registered nicknames are protected by password — only the owner can connect with that nick.

6 questions