Chat server (IRC) or RPC?

Hey all. Not my first multiplayer rodeo but wanted some inputs from those that have been dere dun dat.

Let’s face it there are literally a hundred ways to do chat in a multiplayer game. Looking for the most efficient, stable and reliable way is just me being retentive. :slight_smile:

My current game design does not require proximity chatter at all. It’s an all in zone / server wide chat system. One chanel for the current zone area players, one channel for all connected players across multiple zone servers and of course player to player private chat. Group chat will be added as well at some point.

A couple of easy designs that I think will be easy to implement and defintiely work:

  1. IRC chat server.
    Pros

Stable technology
Lots of implementation examples
Most anything you want to do has already been done by others

Cons

It’s another technology/service to run that has it’s own requirements and network layer
Security handling to monitor for spambots would be required
It’s a different technology you would need to learn for support. (IE IRC chat server goes down your game loses functionality. How to fix/program support?)

  1. RPC calls and an internal chat method handler
    Pros

Scripting technology you should thoroughly understand
Network technology you should thoroughly understand and support
Additional service not required as RPCs would be internal to the Zone servers and clients
Built in chat controls can associate bad behaviour with an accoutn and take automated responses (Temp bans, Temp mutes etc)

Cons

Additional overhead on the zone server. (Negligable? Not sure)
???

What have others thought of in regards to the most efficient way to implement chat?

FYI: Just for context, my current game design is a many player space trading/exploration/combat sim. No flybywire, very slow paced and comms will mostly be inGalaxy (Zone based) or inUniverse (all players connected to any zones), inCorporation (Team based) and then Player to Player chat.

Thanks in advance for the inputs.

Look into something like XMPP, which is built for this sort of thing: XMPP - Wikipedia

You could also give Photon Chat a try. It’s currently in “Early Access” mode but supports the grouping options you described. You can use it, no matter which networking you pick for the game. We are looking for feedback on what else everyone needs.
If you want to, check it out via this group: Redirecting to Google Groups