Skip to content

Commit 961fdd6

Browse files
shdctxHttpRafa
andauthored
feat: Improved docs (#61)
* fix: Fix some issues in latest release * fix: Fix broken devcontainers on github codespaces * fix: Remove unused programs from devcontainers * fix: Add vi to installed programs * fix: Fix some small errors in docs * wip: Start to rewrite the tick loop using tokio * Docu normal installation Step 1 * Docs normal installation Changed a bit the Wording * Docs installation normal Step 2 * Revert "wip: Start to rewrite the tick loop using tokio" This reverts commit 598217b. * Removed the Work in Progress Disclaimer * Draft for Step 3 and 4 * Repaired docs relative links * Testing commit * Improved Draft * Reworked the controller documentation Draft for installation and usage * reordering folders * Reorder the Docs folder * Improved documentation * Renamed Driver to Plugin * Reworked the Welcome documentation * Improved the documentation * Improved Docs * More Improved Docs * Renamed some stuff and again a bit more Improved the docs * imrpoved docs * Draft for documentation of Templates * improved Draft Template docs * renamed folder * Improving Wrapper Documentation * Reworked jvm --------- Co-authored-by: HttpRafa <60099368+HttpRafa@users.noreply.github.com>
1 parent 31db64e commit 961fdd6

31 files changed

Lines changed: 470 additions & 134 deletions

File tree

docs/api/index.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
11
# Available Options
22

3-
Currently, the cloud offers a first-party JVM library. This library is compatible with all programming languages that compile to JVM bytecode, providing a versatile solution for developers working within the JVM ecosystem.
3+
Atomic Cloud provides a first-party JVM library designed to offer seamless integration for developers working within the JVM ecosystem. This library is compatible with all programming languages that compile to JVM bytecode, making it a versatile and powerful solution for a wide range of projects.
4+
5+
Key benefits include:
6+
7+
- **Broad Compatibility:**
8+
Leverage the library with any JVM-based language, including Java, Kotlin, Scala, Groovy, and others.
9+
10+
- **First-Party Support:**
11+
Enjoy the reliability and robustness of a library developed and maintained by the Atomic Cloud team.
12+
13+
- **Versatile Integration:**
14+
Easily integrate cloud functionalities into your existing JVM projects, streamlining development and enhancing application performance.
15+
16+
Explore this option to maximize your development capabilities within the JVM environment.

docs/api/jvm/channels.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Channels
2+
3+
Channels are a pub/sub (publish/subscribe) messaging system within Atomic Cloud designed for efficient, secure, real‑time communication between servers. They work similarly to MQTT and are ideal for implementing features such as party systems, player notifications, and any functionality that requires inter‑server messaging.
4+
5+
## Table of Contents
6+
7+
- [What Are Channels?](#what-are-channels)
8+
- [Prerequisites](#prerequisites)
9+
- [Receiving Messages](#receiving-messages)
10+
- [Sending Messages](#sending-messages)
11+
- [Conclusion](#conclusion)
12+
13+
## What Are Channels?
14+
15+
Channels provide a central, consistent method for sending and receiving messages across distributed servers. By using channels, you ensure data integrity and security throughout your application, making it easier to orchestrate communication between various services or components.
16+
17+
## Prerequisites
18+
19+
Before using channels, make sure to:
20+
21+
- **Choose a Unique Channel Name:**
22+
The channel name serves as the unique identifier for message routing.
23+
24+
- **Subscribe to the Channel:**
25+
Only servers or clients that subscribe to a channel will receive its messages.
26+
27+
- **Unsubscribe When Needed:**
28+
Subscribers can unsubscribe at any time to stop receiving messages.
29+
30+
## Receiving Messages
31+
32+
To receive messages from a channel, subscribe and register a message handler using the JVM API.
33+
34+
### Example
35+
36+
```java
37+
// Subscribe to the "party/invites" channel
38+
Cloud.channels().subscribe("party/invites");
39+
40+
// Register a handler to process incoming messages on "party/invites"
41+
Cloud.channels().registerHandler("party/invites", (message) -> {
42+
// Define your message handling logic here
43+
System.out.println("Received message: " + message);
44+
});
45+
```
46+
47+
Once subscribed, every message sent to the channel will trigger the registered handler.
48+
49+
## Sending Messages
50+
51+
Sending messages is simple. Use the API to send a message to a channel, and all subscribers will receive it.
52+
53+
### Example
54+
55+
```java
56+
// Send a message to the "party/invites" channel
57+
Cloud.channels().sendMessage("party/invites", "test");
58+
```
59+
60+
In this example, the string `"test"` is broadcast to all clients subscribed to the "party/invites" channel.
61+
62+
## Conclusion
63+
64+
Channels in Atomic Cloud offer a robust and secure method for inter‑server communication, allowing you to easily implement real‑time features with minimal setup. By following the steps above, you can integrate channels into your project to enable seamless, efficient messaging between distributed services.

docs/api/jvm/index.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# JVM API Integration
2+
3+
The Atomic Cloud API is available through the **GitHub Packages Maven repository**. Authentication may be required to access it. For more details, visit the [package page](https://github.com/HttpRafa/atomic-cloud/packages/2219240).
4+
5+
## Adding the API to Your Project
6+
7+
### **Maven**
8+
To include the API in a **Maven** project, add the following dependency to your `pom.xml` file:
9+
10+
```xml
11+
<dependency>
12+
<groupId>io.atomic.cloud</groupId>
13+
<artifactId>api</artifactId>
14+
<version>0.1.0-SNAPSHOT</version>
15+
</dependency>
16+
```
17+
18+
### **Gradle**
19+
For **Gradle** projects, add the following dependency to your `build.gradle.kts` file:
20+
21+
```kotlin
22+
dependencies {
23+
implementation("io.atomic.cloud:api:0.1.0-SNAPSHOT")
24+
}
25+
```
26+
27+
If you're using Groovy-based Gradle (`build.gradle`), use:
28+
29+
```gradle
30+
dependencies {
31+
implementation 'io.atomic.cloud:api:0.1.0-SNAPSHOT'
32+
}
33+
```

docs/api/options/jvm.md

Lines changed: 0 additions & 23 deletions
This file was deleted.

docs/cli/index.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

docs/controller/drivers/index.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/controller/drivers/wasm/index.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/controller/drivers/wasm/local/index.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

docs/controller/drivers/wasm/permissions.md

Lines changed: 0 additions & 39 deletions
This file was deleted.

docs/controller/drivers/wasm/pterodactyl/index.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)