You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
set(CMAKE_SHARED_LIBRARY_SUFFIX".${CMAKE_SYSTEM_NAME}.${CMAKE_HOST_SYSTEM_PROCESSOR}.${LIB_TYPE}") # Example: libGDKafka.Linux.x86_64.so for a Linux x86_64 system, or libGDKafka.Windows.AMD64.dll for a Windows AMD64 system.
This Godot Add-on makes exporting your game easier by providing necessary features into your export pipeline.
1
+
Godot Kafka (GDKafka) Plugin
2
+
=======================================
2
3
3
-
Features:
4
-
==============================
5
-
* Asset Bundling
6
-
Simplifies the process of bundling assets without the need for complex scripts or manual work. Simply the user will place files within the designated bundle directory under the bundles directory.
4
+
This plugin provides a Godot interface to Kafka, allowing you to produce and consume messages in a Kafka cluster directly from your Godot projects.
7
5
8
-
(More soon to come...)
6
+
It is designed to be easy to use and integrate into your Godot applications, enabling real-time data processing and communication.
7
+
8
+
# Available Platforms
9
+
✅ Windows
10
+
✅ Linux
11
+
❌ MacOSX - (Author doesn't have a macOS machine to test on, but it should work)
12
+
❌ Android - Not planned
13
+
❌ iOS - Not planned
14
+
❌ HTML5 (WebAssembly) - Not planned
15
+
16
+
# Supported Godot Versions
17
+
✅ Godot 4.4
18
+
⚙ Godot 4.4 (Mono) - (Planned, but not yet implemented)
19
+
❌ Godot <4.3 - (Not supported)
20
+
❌ Godot 3.x - (Not supported)
21
+
22
+
## Usages
23
+
* Producing messages to Kafka topics.
24
+
* Consuming messages from Kafka topics.
25
+
* Handling Kafka message serialization and deserialization.
26
+
27
+
## Target Audience
28
+
This plugin is intended for Godot developers who need to integrate Kafka messaging capabilities into their games or applications. Projects like making a Massive Multiplayer Online Game (MMO) or any application that requires real-time data exchange can benefit from this plugin.
29
+
30
+
## Best Practices
31
+
* Ideally this plugin should be used in a dedicated server/service - not in the game client. ( It can be used in the client, but it is not recommended. )
32
+
* Deploy your Kafka brokers ideally on separate bare-metal machines for maximum performance.
33
+
* Ensure that your Kafka cluster is properly configured and secured.
34
+
35
+
## Not Recommended For
36
+
* This plugin is not recommended for use in the Godot editor itself, as it is designed for runtime use in games or applications.
37
+
* It is not recommended to use this plugin for small-scale projects or applications that do not require real-time messaging capabilities.
38
+
* Avoid using this plugin in scenarios where low latency is critical, as network latency can affect message delivery times.
39
+
* When using this plugin in a client application, be aware of the potential security implications of exposing Kafka brokers directly to the client - consider using a HTTPS REST API or WebSocket connection to interact with a backend service that may handle Kafka interactions instead.
40
+
41
+
## Known Services
42
+
*[Redpanda](https://redpanda.com/) - A Kafka-compatible streaming platform that can be used as a drop-in replacement for Kafka; re-written in C++ for high performance and low latency.
43
+
*[Apache Kafka](https://kafka.apache.org/) - The original Kafka service, widely used for real-time data streaming and messaging.
44
+
*[AWS MSK (Managed Streaming for Kafka)](https://aws.amazon.com/msk/) - A fully managed service that makes it easy to build and run applications that use Apache Kafka.
45
+
*[Azure Event Hubs](https://azure.microsoft.com/en-us/services/event-hubs/) - A fully managed, real-time data ingestion service that can be used as a Kafka-compatible service.
46
+
*[Google Cloud Pub/Sub](https://cloud.google.com/pubsub) - A messaging service that can be used for real-time messaging and data streaming, with Kafka compatibility.
47
+
*[Confluent Cloud](https://www.confluent.io/confluent-cloud/) - A fully managed Kafka service that provides a cloud-native experience for building real-time applications.
48
+
*[Aiven Kafka](https://aiven.io/kafka) - A fully managed Apache Kafka service that provides a cloud-native experience for building real-time applications.
49
+
*[Instaclustr Managed Kafka](https://www.instaclustr.com/platform/managed-apache-kafka/) - A fully managed Apache Kafka service that provides a cloud-native experience for building real-time applications.
50
+
*[Bitnami Kafka](https://bitnami.com/stack/kafka) - A fully managed Apache Kafka service that provides a cloud-native experience for building real-time applications.
51
+
*[IBM Event Streams](https://www.ibm.com/cloud/event-streams) - A fully managed Apache Kafka service that provides a cloud-native experience for building real-time applications.
52
+
*[StreamNative Cloud](https://streamnative.io/cloud) - A fully managed Apache Pulsar service that provides a cloud-native experience for building real-time applications, with Kafka compatibility.
53
+
54
+
## Contributing
55
+
Contributions to the GDKafka plugin are welcome! If you have suggestions, bug reports, or feature requests, please open an issue on the [GitHub repository](https://github.com/Godot-Streaming-Networks/GDKafka-Addon)
56
+
57
+
## License
58
+
This plugin is licensed under the MIT License, which allows for free use, modification, and distribution of the code. For more details, please refer to the [LICENSE](LICENSE) file in the repository.
0 commit comments