Chat in your game: channels and private messages
How the ready-made iDos Games player chat works - channels as tabs, private chats, message history, slow mode, moderation, reports and ignore - and how to set it up in the dashboard.
The chat is a ready-made player chat: the title channels as tabs plus private chats. Moderation, slow mode and who may write where are the server's, and a closed chat costs nothing: it polls only while the screen is open.
What the player sees
- Channels as tabs plus "Private": one-on-one chats, with friends when the title says so.
- The feed with history and earlier messages; the server's copy of what was sent (moderation may mask a word).
- Slow mode countdown and the reason when the player may not write to a channel.
- Message actions: write privately, report with a reason, ignore the player; joining and leaving opt-in channels.
How it works
- One poll covers every room at the interval the server sets, and runs only while the screen is open.
- Rooms are marked read when the player leaves them; the badge is the unread count, read once per session.
- "Message" on a friend card opens a private chat.
Step 01Add the system to your project
Ask the AI coder: "Add a chat". It installs the ready system with a world channel, an opt-in trade channel and private chats between friends.
Step 02Set it up in the dashboard
Open the dashboard, pick your project and go to Live Operations → v2 → Chat.
- Create channels: name, who may write, slow mode and whether joining is opt-in.
- Set the rules of private chats (for example, only between friends) and moderation.
The AI button on the page opens an assistant: describe what you need, it proposes changes, and you review them and press Save.
Step 03Test and release
Check the system in the test version of your app. Settings go to the live app as a separate action - see publishing and links.
For developers
The chat works through client.chat in @idosgames/core.
// Send to a channel and open a private chat with a friend
const res = await client.chat.sendMessage('world', 'Who is up for the raid?')
if (!res.ok) return showError(res.error) // e.g. slow mode or no right to write
const dm = await client.chat.openDirectChannel(friendUserID)
// One poll covers every room; run it only while the chat screen is open
const updates = await client.chat.poll()- Show what the server returned, not what was typed: moderation may change the text.
- Do not poll while the chat is closed: the badge needs one read per session.
Every field is described in the chat-system skill, served by the SDK MCP server.
Frequently asked questions
Is there moderation?
Yes. The server masks banned words, applies slow mode and limits, and players can report and ignore others.
Does the chat load the server when nobody reads it?
No. It polls only while the chat screen is open.
See also
- Friends in your game: requests, suggestions and newsHow the ready-made iDos Games friends system works - a friend list, requests, suggestions of active players, a news inbox, adding by ID and friends from idosgames.com - and where to set it up.
- Multiplayer without your own server: rooms and voiceHow ready-made iDos Games multiplayer works - rooms in the lobby, public or by invite, ready check, room chat and voice chat, the host starts the game for everyone, players connect over WebRTC - and how to turn it on.
- In-game mail: letters, rewards and giftsHow the ready-made iDos Games mailbox works - letters with rewards from the publisher, missed rewards of other systems, daily gifts and transfers between friends - and how to turn it on in the dashboard.
Make your own game
Describe the idea in a sentence - the AI coder builds it, and it goes live at its own link.