Allow TextChannel:DisplaySystemMessage() to be used from the server

As a Roblox developer, it is too hard to migrate to the new TextChatService system because there are a number of critical features that my game requires that are not provided within the framework of the new system. My game generates system messages on the server, but there is currently no way within the new framework to send those messages to all clients. Currently, there is no out-of-the-box method to do this as there is with the legacy system.

My use case involves generating system messages on the server to notify players about what is happening in game, such as when a player joins the server. Currently, with the legacy LUA chat system, I can create a speaker that will broadcast to several channels and send a message to those without too much glue code. With the new chat system, a significant amount of development work will be required to work around the limitations of the new framework. The best method that I can come up with is to create a new RemoteEvent and perform a RemoteEvent:FireAllClients() to get the message to the players so I can use TextChannel:DisplaySystemMessage() on the client, which will require creating a new remote command structure on both the server and the client to handle this, along with the required development time and resources, and the debugging that will also be required.

If this issue is addressed, it will improve my development experience because I will not need to develop my own workarounds for the deficiencies and limitations of the new TextChatService system and the associated time investment to develop those workarounds.

9 Likes

Finally. Someone requested it.

We already have the player instance, we already have the chat functions to send a message to a client from the server, why not implement this in the new text chat service as well? This would save so much time for developers who use the new text chat service, for broadcasting things like server events and joins (well… joins could work on the client, but not server events).

3 Likes

In the interim after I send the request to @bug-support and Roblox approving it and posting it here, I got this message from Roblox about some of the deficiencies in the new TextChatSystem. It seems that sending system messages from the client is a design decision. Given how Roblox does have to comply with the laws of other countries in order to operate there, I can see their reasoning. So I suspect that the other, related feature request will probably be implemented similarly.

3 Likes

The first concern that comes with server-side system messages is how will that work for clients who may be playing with different languages.

A major design principle with TextChatService is to remove potential footguns like this. We have yet to interface TextChatService with objects like LocalizationTables. It’s possible we could implement Auto localization apis to TextChatService which would allow for server side system messages.

4 Likes