Discord's been very unreliable these days and I'm pretty much fed up with it. Anyone got tips on running a Matrix or XMPP server? I would prefer something with support for custom emoticons, or where an extension supporting that would be fairly trivial to implement.

I assume the lack of answers to this question means "chat is difficult."

@Ganonmaster All chat applications out now are bad. It becomes passable with IRC and a bouncer, anything above that is bad (especially on mobile). Truly good usability is achieved with XMPP plus a custom server so you can do proper push notifications (and do not need a constant open socket, thus never allowing your phone radio to sleep). WhatsApp is an example of that solution, but I don't think I need to explain why that is not a good idea (also no custom emoji).

To me it sounds like you are looking for IRC with good offline presence support. If you can step past the need for offline/online notifications (what do we call this, "presence"?) then a bouncer plus a good webinterface will do you. In fact, without that requirement a bouncer is basically what you'll go for. It can also work with XMPP (I think I've used Jabber and didn't actively hate it before I used my smartphone for a lot of things).

From my tests at work, I can promise you you do not want to setup and maintain Matrix. Getting the server up is a pain, the "big ecosystem" of OSS clients is a lie (for each category there is one that works well and then there is all the others that work maybe 60% max), and even the comparatively "good" clients have big open bugs that are sadly unfixable (no 2FA in for example).
@Ganonmaster you can use either, if youre fine with basically only talking to other tech nerds and nobody else
Sign in to participate in the conversation is a Mastodon instance dedicated to endless trash.