Filtering player names


I saw this topic coming up in chat, and thought it might be good to discuss in a thread.

I’m pretty keen to ensure my game isn’t a toxic cesspit, but I also don’t want to moderate 24/7 and it’s pretty clear that auto-moderation and filters just don’t work. So, my approach was to just give every player an alias and in most circumstances simply use that. There are three exceptions:

  1. If players join the same squad they see each other’s real (typed) names. To join a squad you have to type in the same squad name, so it’s unlikely you’ll squad up with people you haven’t met anywhere else.

  2. If a player asks, I add their name to the pre-approved list and then it can be used.

  3. If a player chooses a name that also happens to be on the giant list of randomly allocated aliases, that works too.

I figure this way your friends can see your name, and randos (who really don’t need to see your name, just a name, see something that isn’t awful.

This system definitely confused people a bit, but I’m enjoying not seeing terrible names, and when I look through the database to see what people have been typing, I’m pretty glad I’m not show that in game.

Are there other solutions to this problem though? What is everyone else doing?

1 Like

Couldn’t AI do this now? I’m not a coder or anything but AI seems pretty nifty


Yeah, people have been selling AI powered name and chat filtering services for years and years now, and I expect those same people will use LLMs soon if they aren’t already. They used to be pretty expensive and not very effective, and I expect they’ll probably still not be very effective, but maybe it’ll work out.


I think that having a pre approved list is a good idea but moderating it and dealing with user requests might be too much work.

It all depends on how much you want to focus on having clean usernames. In my game for example, I allow any name, and use a library to filter out most of the toxicness but still determined players can make it through but it’s very common, at that point I just ignore it unless it causes multiple complaints when I can just add it to the blocklist.

The clans idea is super cool but I also think that one of the things that makes IO games fun is that you can have a custom name which is shown to everyone when you are on the leaderboard, but it all comes down to the playerbase you want to target (older players who don’t care about it, or younger players who get offended).

You can also take a look at free APIs such as Google/Jigsaw’s Perspective API or Purgomalum (which I used to use in my game and had a really good experience with)


Some people bypass the filter by removing the spaces, I’ve seen a person named “godlikep*nis” but at the same time, if you filter the word inside a word, phrases like “isn’t it” and names like “Penistone” get filtered (Town in England).

That town is just asking for it man

Oh cool, I’ll check those out. Ta.