This looks awesome. I just skimmed the description but I didn’t see how video calls were handled? Am I correct in understanding that there is that feature? If so, what are the limitations? As in, number of participants, what is the impact on the host server, etc? I’m sure I’ll have more questions but this looks pretty awesome.
Yes, video calling is a built-in feature. Eggy Messenger uses WebRTC, so under normal circumstances the actual audio/video media is sent browser-to-browser rather than being streamed through your XenForo web server.
Calls can also be multi-user. The default maximum is 4 participants per call, and the administrator can configure this from 2 up to 12. It uses a peer-to-peer mesh, though, so I would regard the higher numbers as a configurable ceiling rather than suggesting that 12-way HD video is going to be appropriate for every user/device/network. As more participants join, each participant has to maintain additional WebRTC connections, so their own bandwidth and CPU requirements increase. The default of 4 is deliberately conservative.
On the XenForo/server side, the server handles the call state, permissions and WebRTC signallin starting/answering/ending calls and exchanging the WebRTC offer/answer/ICE information. The normal video/audio stream itself does not pass through PHP, XenForo or the optional Messenger Node.js realtime server. The Node.js service, when enabled, is only used as a realtime event transport.
Messenger can also operate without Node.js using its AJAX fallback. In that mode call/message state is polled roughly every 1–1.5 seconds, so there is naturally more PHP/database activity than when the realtime WebSocket transport is enabled.
There is also optional STUN/TURN configuration for WebRTC connectivity. TURN relay fallback is off by default. If an administrator enables TURN and a particular user's connection has to be relayed, then the media traffic for that connection does pass through the configured TURN server, so the bandwidth requirements move to that TURN server. That is the main scenario where video calling can create substantial server-side bandwidth usage.
One other point worth being transparent about: because it is a browser-to-browser mesh rather than a dedicated SFU/media server such as you would use for very large conference calls, Eggy Messenger's calling is intended more for normal private and small-group community calls than huge Zoom-style conferences.
So in short: yes, voice and video calling are included; 4 participants by default, configurable up to 12; normally very little media load on the XenForo host itself, with the heavier resource cost being on the participants' devices/connections unless TURN relay is being used.
Happy to answer any more technical questions you have about it. Amd thank you for your question.