-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
118 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Available Options | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# JVM | ||
|
||
The API is published on the GitHub Packages Maven repository. You may need to authenticate to access it. For more information about the packages, please click [here](https://github.com/HttpRafa/atomic-cloud/packages/2219240). | ||
|
||
## Maven | ||
To include the API in your Maven project, add the following dependency to your `pom.xml` file: | ||
|
||
```xml | ||
<dependency> | ||
<groupId>io.atomic.cloud</groupId> | ||
<artifactId>api</artifactId> | ||
<version>0.1.0-SNAPSHOT</version> | ||
</dependency> | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# CLI 🚧 | ||
|
||
This page is currently a work in progress. | ||
|
||
We’re actively working to provide accurate and useful content here. Please check back soon for updates |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# What is the controller? | ||
|
||
The controller is a crucial component of the cloud. It manages the nodes and is responsible for overseeing the servers initiated by the cloud. | ||
The controller is a crucial component of the cloud. It manages the nodes and is responsible for overseeing the servers initiated by the cloud. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,39 @@ | ||
# Docker (recommended) | ||
# Docker Installation (Recommended) | ||
|
||
The most straightforward method to install the controller is by utilizing a Docker image. Follow the steps below to set it up using Docker Compose: | ||
|
||
## Step 1: Create the `docker-compose.yml` File | ||
First, use a text editor to create the `docker-compose.yml` file: | ||
```bash | ||
nano docker-compose.yml | ||
``` | ||
Next, add the following content to the file: | ||
```yaml | ||
services: | ||
controller: | ||
image: ghcr.io/httprafa/atomic-cloud:latest | ||
ports: | ||
- "12892:12892" | ||
environment: | ||
- PTERODACTYL=true # Enable Pterodactyl driver installation | ||
volumes: | ||
- ./logs:/app/logs | ||
- ./auth:/app/auth | ||
- ./configs:/app/configs | ||
- ./cloudlets:/app/cloudlets | ||
- ./deployments:/app/deployments | ||
- ./drivers:/app/drivers | ||
``` | ||
## Step 2: Start the Container | ||
To start the container, execute the following command: | ||
```bash | ||
docker compose up | ||
``` | ||
|
||
## Step 3: Retrieve the Admin Token | ||
Upon the initial run of the controller, an admin token will be displayed. This token is required to connect using the CLI. For further details, refer to [How to use the CLI](/cli/). | ||
![First Startup](docker/first_startup.png) | ||
|
||
## Step 4: Retrieve the Admin Token Later (If Needed) | ||
In case you lose the token, it can be retrieved from the default admin user's file located in the `auth/users` directory. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,5 @@ | ||
# Normal | ||
# Normal 🚧 | ||
|
||
This page is currently a work in progress. | ||
|
||
We’re actively working to provide accurate and useful content here. Please check back soon for updates |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
# Powerful APIs | ||
1. To enable communication between servers, the cloud has a channel system. For example, data can be sent from the game servers to the lobby via channels. | ||
2. It also has API to start servers and move players. | ||
# Robust APIs | ||
|
||
1. The cloud infrastructure includes a sophisticated channel system to facilitate seamless communication between servers. For instance, game servers can transmit data to the lobby servers through these channels, ensuring efficient and reliable data flow. | ||
2. Additionally, the API suite provides functionalities to initiate server instances and manage player transitions between servers, enhancing the overall gaming experience and operational efficiency. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,11 @@ | ||
# Modular backend | ||
Atomic Cloud has a "driver system" that allows the cloud to use whatever to start the server. Examples of backends are: Pterodactyl, Docker or normal servers (similar to CloudNet). | ||
## What language can i use to write a driver? | ||
-> The plugins use WebAssembly and the WASI standard, so compatibility is very limited. My recommendation is to write the drivers in Rust or use TeaVM for Java. | ||
## Currently existing drivers | ||
1. Pterodactyl (Pelican in the future) | ||
# Modular Backend | ||
|
||
Atomic Cloud features a versatile "driver system" that enables the cloud to utilize various methods to initiate the server. Examples of supported backends include Pterodactyl, Docker, and traditional servers (similar to CloudNet). | ||
|
||
## Supported Languages for Driver Development | ||
|
||
Drivers are implemented using WebAssembly and adhere to the WASI standard, which imposes certain compatibility constraints. It is highly recommended to develop drivers in Rust or utilize TeaVM for Java to ensure optimal performance and compatibility. | ||
|
||
## Currently Available Drivers | ||
|
||
1. Pterodactyl (with plans to support Pelican in the future) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
# CLI Application | ||
In addition, the cloud has a CLI application that, like kubectl, allows you to control the cloud without having to log into an SSH window every time you want to make a small change. | ||
# Command Line Interface (CLI) Application | ||
|
||
The cloud platform includes a robust Command Line Interface (CLI) application, similar to `kubectl`, which empowers users to manage and control cloud resources efficiently. This tool eliminates the need for frequent SSH logins for minor adjustments, streamlining your workflow and enhancing productivity. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,16 @@ | ||
# Does not use proxies | ||
Atomic Cloud is designed from the ground up with the new Minecraft transfer packet which means there is no need to use proxy software like Velocity or Bungeecord. | ||
# No Proxy Usage | ||
|
||
## Why is this better? | ||
The primary benefit of removing a proxy is the *reduced latency* and the ability to easily *split players based on their region*. Furthermore, it is almost impossible to *crash the entire network* using crashing methods as there is no single point of failure. If you manage to crash the lobby, a new one starts on a new random port that must first be found before a new attack can be launched. | ||
Atomic Cloud is engineered from the ground up utilizing the latest Minecraft transfer packet technology, eliminating the need for proxy software such as Velocity or Bungeecord. | ||
|
||
## Advantages of No Proxy | ||
|
||
### Reduced Latency | ||
By removing the proxy layer, Atomic Cloud significantly reduces latency, providing a smoother and more responsive gaming experience. | ||
|
||
### Regional Player Distribution | ||
The absence of a proxy allows for seamless distribution of players based on their geographical regions, enhancing server performance and player experience. | ||
|
||
### Enhanced Network Stability | ||
Without a single point of failure, the network becomes more resilient to crashes. In the event of a lobby crash, a new lobby is automatically initiated on a random port, making it difficult for attackers to disrupt the network consistently. | ||
|
||
Atomic Cloud's innovative approach ensures a robust, efficient, and secure environment for all players. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,15 @@ | ||
# Welcome | ||
|
||
The cloud is still very **early** in development, so some of the features listed below are not available. But they will be available in the first full release. | ||
Welcome to the Atomic Cloud project. Please note that the cloud is currently in its **early** development stages, and you may encounter bugs. If you experience any issues, kindly report them by opening an issue on our [GitHub repository](https://github.com/HttpRafa/atomic-cloud). | ||
|
||
## Documentation Status 🚧 | ||
This documentation is a work in progress. We apologize for any grammatical errors or incomplete sections you may come across. We welcome contributions from the community. If you wish to help improve the documentation, please feel free to submit a Pull Request. | ||
|
||
## Installation | ||
The Atomic Cloud consists of two main components: the Controller and the CLI. | ||
|
||
### Controller | ||
The [Controller](controller/installation/docker/) should be installed in an environment that can operate continuously, such as a Raspberry Pi or a cloud server. It is responsible for managing the core functionalities of the cloud system. | ||
|
||
### CLI | ||
The [CLI](cli/installation/) is a client application that allows you to interact with the Controller. It can be installed on your local computer, providing you with convenient access to manage the cloud system. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Wrapper 🚧 | ||
|
||
This page is currently a work in progress. | ||
|
||
We’re actively working to provide accurate and useful content here. Please check back soon for updates |