What is this?
The Strawberry Chat communication system is currently being rewritten. In order to distinguish between the old system and the new system, we are now introducing the Strawberry Communication System (stbm). This communication system forms a standard for Strawberry Chat, and possibly for other Strawberry Foundations projects in the future. Currently we have 2 major versions of stbm. Version 1(stbmv1) is a legacy version and no longer receives any new major updates. We only offer support for a certain period of time.
Version 2 (stbmv2) is a new, revised version of our communication system.
This uses JSON to transfer messages via the user.
With our new communication standard, users can now program their own message builder and decide for themselves how a message should be displayed, regardless of how the server had actually formatted the messages.
There is also Version 2.1 (stbmv2.1) which adds support for message proxying, currently it is not available.
What? Why? How?
You may wonder and ask yourself what even is this? Well, this is a way how 2 socket instances communicate with each-other, this was primarily designed for Strawberry Chat to send data between the server and the client such as username, badges and messages, but we decided to make a small guide on how to implement it into your client.The Idea
The original concept for it was posted to our projects board on GitHub on November 10th 2023 Please note that this is currently only available in German.Example code
This is a very basic example of JSON Communication which is used in Strawberry Chat
Supported versions in Strawberry Chat
See this chart below| v1.8.0 - v1.8.2 | v1.8.3 | v1.9.0 | |
|---|---|---|---|
Standard <=2.4.0 | ✅ | ✅ | ❌ |
Standard v2.5.0 | ❌ | ❌ | ✅ |
Standard >=v2.5.1 | ✅ (CM) | ✅ (CM) | ✅ (CM) |
Lite <=v1.0.1 | ✅ | ✅ | ❌ |
Lite >=v1.1.0 | ❌ | ❌ | ✅ |
Nano <=v1.0.1 | ✅ | ✅ | ❌ |
Nano >=v1.1.0 | ❌ | ❌ | ✅ |
| Berryjuice-pico | ✅ | ✅ | ❌ |